From 615f6fec607e6785d7a19491999b2ec937455112 Mon Sep 17 00:00:00 2001
From: Neil-Jocelyn Schark <neil.schark@h-da.de>
Date: Fri, 14 Jun 2024 14:54:38 +0000
Subject: [PATCH] Statically linked binaries

See merge request danet/quant!151
---
 .devcontainer/Dockerfile | 1 +
 .gitlab-ci.yml           | 7 +++++++
 Makefile                 | 4 ++--
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 455adfff..879c627c 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -26,6 +26,7 @@ RUN apt-get update \
     nload \
     yamllint \
     zsh \
+    file \
     && apt-get clean
 
 # Install gnmic
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ff1f30e7..e5384cb9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -59,6 +59,13 @@ build-akms-simulator:
         - docker buildx build --push -t "$IMAGE_NAME:$TAG" -f akms-simulator/Dockerfile --build-arg "GITLAB_PROXY=${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/" --build-arg GOLANG_VERSION=${GOLANG_VERSION} .
     <<: *build
 
+build-binaries:
+    image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golang:$GOLANG_VERSION
+    stage: build
+    before_script:
+        - apt-get update && apt-get upgrade -y && apt-get install -y make
+    script:
+        - make build
 
 # Build latest stage
 
diff --git a/Makefile b/Makefile
index 2ccba150..4f659d08 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ GOBIN := $(GOSDN_PRG)
 GOLANG_VERSION := 1.22
 GOLANGCI_LINT_VERSION=v1.59.1
 
-GOCMD=go
+GOCMD=CGO_ENABLED=0 go
 GOBUILD=$(GOCMD) build
 GOCLEAN=$(GOCMD) clean -cache -fuzzcache -testcache -modcache
 BUILD_ARTIFACTS_PATH=artifacts
@@ -47,7 +47,7 @@ unit-test:
 build: build-gokms build-quantumlayer build-etsi14module build-akms-simulator
 
 build-gokms: pre
-	CGO_ENABLED=0 $(GOBUILD) -o $(BUILD_ARTIFACTS_PATH)/goKMS ./goKMS/main.go
+	$(GOBUILD) -o $(BUILD_ARTIFACTS_PATH)/goKMS ./goKMS/main.go
 
 build-quantumlayer: pre
 	$(GOBUILD) -o $(BUILD_ARTIFACTS_PATH)/quantumlayer ./quantumlayer/main/main.go
-- 
GitLab