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