From 7e286efcd3deb9ea3dec428abfc5f74591096d39 Mon Sep 17 00:00:00 2001 From: CrazyMax <crazy-max@users.noreply.github.com> Date: Mon, 26 Dec 2022 18:46:26 +0100 Subject: [PATCH] ci: use GITHUB_REF and GITHUB_SHA to set version and commit Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com> (cherry picked from commit 27ba1766e79c0ac7ae3f43ba7dc8d622ca6cdf42) --- docker-bake.hcl | 16 ++++++++++++++-- hack/make.sh | 8 ++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/docker-bake.hcl b/docker-bake.hcl index d0c7cf29d4..46b110e45f 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -47,6 +47,18 @@ variable "PACKAGER_NAME" { default = "" } +# GITHUB_REF is the actual ref that triggers the workflow and used as version +# when tag is pushed: https://docs.github.com/en/actions/learn-github-actions/environment-variables#default-environment-variables +variable "GITHUB_REF" { + default = "" +} + +# GITHUB_SHA is the commit SHA that triggered the workflow and used as commit. +# https://docs.github.com/en/actions/learn-github-actions/environment-variables#default-environment-variables +variable "GITHUB_SHA" { + default = "" +} + # Defines the output folder variable "DESTDIR" { default = "" @@ -64,8 +76,8 @@ target "_common" { DOCKER_STATIC = DOCKER_STATIC DOCKER_LDFLAGS = DOCKER_LDFLAGS DOCKER_BUILDTAGS = DOCKER_BUILDTAGS - DOCKER_GITCOMMIT = DOCKER_GITCOMMIT - VERSION = VERSION + DOCKER_GITCOMMIT = DOCKER_GITCOMMIT != "" ? DOCKER_GITCOMMIT : GITHUB_SHA + VERSION = VERSION != "" ? VERSION : GITHUB_REF PLATFORM = PLATFORM PRODUCT = PRODUCT DEFAULT_PRODUCT_LICENSE = DEFAULT_PRODUCT_LICENSE diff --git a/hack/make.sh b/hack/make.sh index 4a000a65d5..b30f3d6e44 100755 --- a/hack/make.sh +++ b/hack/make.sh @@ -39,6 +39,14 @@ DEFAULT_BUNDLES=( ) VERSION=${VERSION:-dev} +if [[ $VERSION == refs/tags/* ]]; then + VERSION=${VERSION#refs/tags/} +elif [[ $VERSION == refs/heads/* ]]; then + VERSION=$(sed <<< "${VERSION#refs/heads/}" -r 's#/+#-#g') +elif [[ $VERSION == refs/pull/* ]]; then + VERSION=pr-$(grep <<< "$VERSION" -o '[0-9]\+') +fi + ! BUILDTIME=$(date -u -d "@${SOURCE_DATE_EPOCH:-$(date +%s)}" --rfc-3339 ns 2> /dev/null | sed -e 's/ /T/') if [ "$DOCKER_GITCOMMIT" ]; then GITCOMMIT="$DOCKER_GITCOMMIT"