]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
scripts/Makefile.docker: synced with KnotDNS makefile docs-ci-dockerhub-ph2gf1/deployments/9215 1843/head
authorAleš Mrázek <ales.mrazek@nic.cz>
Mon, 1 Jun 2026 15:21:44 +0000 (17:21 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Mon, 1 Jun 2026 15:21:44 +0000 (17:21 +0200)
scripts/Makefile.docker

index 71908e058c518e1ab258b6ad777e2a9f1dbac3d1..addbad4e959867ead7c493e2d476153cc5252cff 100644 (file)
@@ -1,24 +1,31 @@
 # Based on https://netfuture.ch/2020/05/multi-arch-docker-image-easy/
 #
-# Example: make -f Makefile.docker docker-multiarch
+# Example: make -f Makefile.docker docker-multiarch (TAG=latest)
 
 REGISTRY       = cznic
 BASETAG                = ${REGISTRY}/knot-resolver
 PLATFORMS      = linux/amd64,linux/arm/v7,linux/arm64/v8
 
+ARGS           = --build-arg FASTPARSER=enable --build-arg CHECK=disable
+
+GITHASH                = $(shell git rev-parse --short HEAD)
+GITBRANCH      = $(shell git rev-parse --abbrev-ref HEAD)
 RELEASE                = $(shell git describe --abbrev=0 --exact-match)
+DATE           = $(shell date +%Y%m%d)
+BRANCHTAG      = $(shell [ -n "${GITBRANCH}" ] && echo "-t ${BASETAG}:${GITBRANCH}" || echo "")
 RELTAG         = $(shell [ -n "${RELEASE}" ] && echo "-t ${BASETAG}:${RELEASE}" || echo "")
+DATETAG                = $(shell [ -n "${RELEASE}" ] && echo "-t ${BASETAG}:${RELEASE}-${DATE}" || echo "")
+EXTRATAG       = $(shell [ -n "${TAG}" ] && echo "-t ${BASETAG}:${TAG}" || echo "")
+LABEL          = $(shell [ -n "${GITHASH}" ] && echo "--label knot.git.hash=${GITHASH}" || echo "")
+
 
 BUILDXDETECT   = ${HOME}/.docker/cli-plugins/docker-buildx
 QEMUDETECT     = /proc/sys/fs/binfmt_misc/qemu-m68k
 
-# https://stackoverflow.com/a/324782
-ROOT_DIR:=$(dir $(realpath $(lastword $(MAKEFILE_LIST))))/..
-
 docker-multiarch: qemu buildx docker-multiarch-builder
        docker login
-       docker buildx build --no-cache --builder docker-multiarch --pull --push \
-                           --platform ${PLATFORMS} ${RELTAG} ${ROOT_DIR}
+       docker buildx build --no-cache --builder docker-multiarch --pull --push ${LABEL} \
+                           --platform ${PLATFORMS} ${ARGS} ${BRANCHTAG} ${RELTAG} ${DATETAG} ${EXTRATAG} ..
 
 qemu: ${QEMUDETECT}
 ${QEMUDETECT}:
@@ -45,4 +52,4 @@ docker-multiarch-builder: qemu buildx
                docker buildx inspect --builder docker-multiarch --bootstrap; \
        fi
 
-.PHONY: qemu buildx docker-multiarch docker-multiarch-builder
\ No newline at end of file
+.PHONY: qemu buildx docker-multiarch docker-multiarch-builder