summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker-bake.hcl16
-rwxr-xr-xhack/make.sh8
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"