From 5168817dc91b210d1f4efd186e050c3f05cdbfc0 Mon Sep 17 00:00:00 2001 From: jo Date: Tue, 13 Jun 2023 12:40:38 +0200 Subject: [PATCH] ci: reuse build metadata for docker build Part-of: --- .gitlab-ci.yml | 14 +++++++++----- Makefile | 7 ++++++- scripts/build_metadata.py | 2 -- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a4995231d..690d06ccf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -298,10 +298,15 @@ build_metadata: variables: GIT_FETCH_EXTRA_FLAGS: --prune script: - - scripts/build_metadata.py --format env | tee build_metadata.env + - make build-metadata + - make docker-metadata artifacts: reports: dotenv: build_metadata.env + paths: + - docker-bake.json + - docker-bake.api.json + - docker-bake.front.json build_api_schema: stage: build @@ -436,6 +441,8 @@ docker: tags: [docker, privileged, multiarch] stage: build needs: + - job: build_metadata + artifacts: true - job: test_api optional: true - job: test_front @@ -488,9 +495,6 @@ docker: - make docker-build BUILD_ARGS="--metadata-file metadata.json $BUILD_ARGS" - cat metadata.json artifacts: - name: docker_build_files_${CI_COMMIT_REF_NAME} + name: docker_metadata_${CI_COMMIT_REF_NAME} paths: - - docker-bake.json - - docker-bake.api.json - - docker-bake.front.json - metadata.json diff --git a/Makefile b/Makefile index 6cf4a7fe5..e1f64e782 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,11 @@ BAKE_FILES = \ docker-bake.%.json: ./scripts/build_metadata.py --format bake --bake-target $* --bake-image docker.io/funkwhale/$* > $@ -docker-build: $(BAKE_FILES) +docker-metadata: $(BAKE_FILES) + +docker-build: docker-metadata docker buildx bake $(foreach FILE,$(BAKE_FILES), --file $(FILE)) --print $(BUILD_ARGS) docker buildx bake $(foreach FILE,$(BAKE_FILES), --file $(FILE)) $(BUILD_ARGS) + +build-metadata: + ./scripts/build_metadata.py --format env | tee build_metadata.env diff --git a/scripts/build_metadata.py b/scripts/build_metadata.py index 6f4be99dc..efa18e3b5 100755 --- a/scripts/build_metadata.py +++ b/scripts/build_metadata.py @@ -76,8 +76,6 @@ def latest_tag_on_branch() -> str: """ Return the latest tag on the current branch. """ - if "CI" in os.environ: - sh("git fetch origin --tags") return sh("git describe --tags --abbrev=0")