ci: reuse build metadata for docker build

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2482>
environments/review-docs-nodei-zb4y5a/deployments/17891
jo 2023-06-13 12:40:38 +02:00
rodzic f811ce6adb
commit 5168817dc9
3 zmienionych plików z 15 dodań i 8 usunięć

Wyświetl plik

@ -298,10 +298,15 @@ build_metadata:
variables: variables:
GIT_FETCH_EXTRA_FLAGS: --prune GIT_FETCH_EXTRA_FLAGS: --prune
script: script:
- scripts/build_metadata.py --format env | tee build_metadata.env - make build-metadata
- make docker-metadata
artifacts: artifacts:
reports: reports:
dotenv: build_metadata.env dotenv: build_metadata.env
paths:
- docker-bake.json
- docker-bake.api.json
- docker-bake.front.json
build_api_schema: build_api_schema:
stage: build stage: build
@ -436,6 +441,8 @@ docker:
tags: [docker, privileged, multiarch] tags: [docker, privileged, multiarch]
stage: build stage: build
needs: needs:
- job: build_metadata
artifacts: true
- job: test_api - job: test_api
optional: true optional: true
- job: test_front - job: test_front
@ -488,9 +495,6 @@ docker:
- make docker-build BUILD_ARGS="--metadata-file metadata.json $BUILD_ARGS" - make docker-build BUILD_ARGS="--metadata-file metadata.json $BUILD_ARGS"
- cat metadata.json - cat metadata.json
artifacts: artifacts:
name: docker_build_files_${CI_COMMIT_REF_NAME} name: docker_metadata_${CI_COMMIT_REF_NAME}
paths: paths:
- docker-bake.json
- docker-bake.api.json
- docker-bake.front.json
- metadata.json - metadata.json

Wyświetl plik

@ -9,6 +9,11 @@ BAKE_FILES = \
docker-bake.%.json: docker-bake.%.json:
./scripts/build_metadata.py --format bake --bake-target $* --bake-image docker.io/funkwhale/$* > $@ ./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)) --print $(BUILD_ARGS)
docker buildx bake $(foreach FILE,$(BAKE_FILES), --file $(FILE)) $(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

Wyświetl plik

@ -76,8 +76,6 @@ def latest_tag_on_branch() -> str:
""" """
Return the latest tag on the current branch. 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") return sh("git describe --tags --abbrev=0")