diff options
author | CrazyMax <crazy-max@users.noreply.github.com> | 2022-12-26 18:46:26 +0100 |
---|---|---|
committer | CrazyMax <crazy-max@users.noreply.github.com> | 2023-01-01 18:03:03 +0100 |
commit | 27ba1766e79c0ac7ae3f43ba7dc8d622ca6cdf42 (patch) | |
tree | fdfd22c54d0a9dfb8e1d92748ade0df30a9cef0f | |
parent | 0b3af098e12d6960407d6f667055d1ef88a77afb (diff) | |
download | docker-27ba1766e79c0ac7ae3f43ba7dc8d622ca6cdf42.tar.gz |
ci: use GITHUB_REF and GITHUB_SHA to set version and commit
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
-rw-r--r-- | docker-bake.hcl | 16 | ||||
-rwxr-xr-x | 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 4853f63d17..a420d3a9ad 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" |