From 62c3e54655e23bf447027d266f0845f2247c7a8f Mon Sep 17 00:00:00 2001
From: Elias Salam <elias.salam@orange.com>
Date: Fri, 12 Aug 2022 12:16:56 +0200
Subject: [PATCH] feat(build): add variable for go linker flags Signed-off-by:
 Elias Salam <elias.salam@orange.com>

---
 README.md                      | 1 +
 kicker.json                    | 6 ++++++
 templates/gitlab-ci-golang.yml | 5 ++++-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 2aacfa9..2c09656 100644
--- a/README.md
+++ b/README.md
@@ -68,6 +68,7 @@ These jobs use the following variable:
 | Name                    | description                              | default value     |
 | ----------------------- | ---------------------------------------- | ----------------- |
 | `GO_BUILD_FLAGS`        | Flags used by the [go build command](https://pkg.go.dev/cmd/go#hdr-Compile_packages_and_dependencies)      | `-mod=readonly`   |
+| `GO_BUILD_LINKER_FLAGS`        | Linker flags used by the [go build command](https://pkg.go.dev/cmd/go#hdr-Compile_packages_and_dependencies) `-ldflags`      | `-s -w`   |
 | `GO_BUILD_PACKAGES`     | Packages to build with the [go build command](https://pkg.go.dev/cmd/go#hdr-Compile_packages_and_dependencies)      | `./...`   |
 | `GO_TEST_FLAGS`         | Flags used by the [go test command](https://pkg.go.dev/cmd/go#hdr-Test_packages)       | `-mod=readonly -v -race` |
 | `GO_TEST_PACKAGES`      | Packages to test with the [go test command](https://pkg.go.dev/cmd/go#hdr-Test_packages)      | `./...`   |
diff --git a/kicker.json b/kicker.json
index 1c7b92c..7c137be 100644
--- a/kicker.json
+++ b/kicker.json
@@ -31,6 +31,12 @@
       "default": "-mod=readonly",
       "advanced": true
     },
+    {
+      "name": "GO_BUILD_LINKER_FLAGS",
+      "description": "Linker flags used by the [go build command](https://pkg.go.dev/cmd/go#hdr-Compile_packages_and_dependencies) `-ldflags`",
+      "default": "-s -w",
+      "advanced": true
+    },
     {
       "name": "GO_BUILD_PACKAGES",
       "description": "Packages to build with the [go build command](https://pkg.go.dev/cmd/go#hdr-Compile_packages_and_dependencies)",
diff --git a/templates/gitlab-ci-golang.yml b/templates/gitlab-ci-golang.yml
index 7a73c2f..7e13168 100644
--- a/templates/gitlab-ci-golang.yml
+++ b/templates/gitlab-ci-golang.yml
@@ -54,6 +54,9 @@ variables:
   GO_BUILD_FLAGS: >-
     -mod=readonly
 
+  # Default flags for go build linker
+  GO_BUILD_LINKER_FLAGS: "-s -w" 
+
   # Default packages for 'build' command
   GO_BUILD_PACKAGES: >-
     ./...
@@ -130,7 +133,7 @@ stages:
     target_dir="$GOBIN/$GO_TARGET_OS/$GO_TARGET_ARCH"
     mkdir -p "$target_dir"
     # shellcheck disable=SC2086
-    GOOS="$GO_TARGET_OS" GOARCH="$GO_TARGET_ARCH" go build $GO_BUILD_FLAGS -o "$target_dir" $GO_BUILD_PACKAGES
+    GOOS="$GO_TARGET_OS" GOARCH="$GO_TARGET_ARCH" go build -ldflags="$GO_BUILD_LINKER_FLAGS" $GO_BUILD_FLAGS -o "$target_dir" $GO_BUILD_PACKAGES
   }
 
   function go_test() {
-- 
GitLab