feat(docker): enable relative path support for Docker bake configurations
quality / commitlint (push) Skipped
quality / changes (push) Successful in 7s
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 28s
quality / web (push) Successful in 1m2s
quality / go (push) Successful in 1m6s
quality / bird2 (push) Successful in 17s
CD / quality (push) Successful in 3m12s
CD / publish (push) Successful in 5m44s
quality / commitlint (push) Skipped
quality / changes (push) Successful in 7s
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 28s
quality / web (push) Successful in 1m2s
quality / go (push) Successful in 1m6s
quality / bird2 (push) Successful in 17s
CD / quality (push) Successful in 3m12s
CD / publish (push) Successful in 5m44s
- Added `BUILDX_BAKE_FILE_RELATIVE_PATHS` environment variable to CI workflows to support relative paths in Docker bake commands. - Updated `docker-bake.hcl` comments to clarify context resolution from the current working directory. - Revised README documentation to reflect changes in context resolution and usage of the new environment variable.
This commit is contained in:
@@ -125,7 +125,9 @@ jobs:
|
|||||||
CACHE_REF_WEB: git.shx.one/${{ steps.meta.outputs.owner_lc }}/evobgp-buildcache:web-buildcache
|
CACHE_REF_WEB: git.shx.one/${{ steps.meta.outputs.owner_lc }}/evobgp-buildcache:web-buildcache
|
||||||
CACHE_REF_BIRDC: git.shx.one/${{ steps.meta.outputs.owner_lc }}/evobgp-buildcache:birdc-buildcache
|
CACHE_REF_BIRDC: git.shx.one/${{ steps.meta.outputs.owner_lc }}/evobgp-buildcache:birdc-buildcache
|
||||||
BUILDX_BAKE_ENTITLEMENTS_FS: "0"
|
BUILDX_BAKE_ENTITLEMENTS_FS: "0"
|
||||||
|
BUILDX_BAKE_FILE_RELATIVE_PATHS: "1"
|
||||||
MIRROR_ENV_FILE: ${{ runner.temp }}/mirror-base.env
|
MIRROR_ENV_FILE: ${{ runner.temp }}/mirror-base.env
|
||||||
|
working-directory: deploy/docker
|
||||||
run: |
|
run: |
|
||||||
set -euxo pipefail
|
set -euxo pipefail
|
||||||
if [ -f "${MIRROR_ENV_FILE}" ]; then
|
if [ -f "${MIRROR_ENV_FILE}" ]; then
|
||||||
@@ -135,4 +137,4 @@ jobs:
|
|||||||
set +a
|
set +a
|
||||||
fi
|
fi
|
||||||
docker buildx bake --allow=fs.read="${{ github.workspace }}" \
|
docker buildx bake --allow=fs.read="${{ github.workspace }}" \
|
||||||
-f deploy/docker/docker-bake.hcl default --push
|
-f docker-bake.hcl default --push
|
||||||
|
|||||||
@@ -366,12 +366,14 @@ jobs:
|
|||||||
working-directory: deploy/docker
|
working-directory: deploy/docker
|
||||||
env:
|
env:
|
||||||
BUILDX_BAKE_ENTITLEMENTS_FS: "0"
|
BUILDX_BAKE_ENTITLEMENTS_FS: "0"
|
||||||
|
BUILDX_BAKE_FILE_RELATIVE_PATHS: "1"
|
||||||
run: docker buildx bake --allow=fs.read="${{ github.workspace }}" -f docker-bake.hcl --print default
|
run: docker buildx bake --allow=fs.read="${{ github.workspace }}" -f docker-bake.hcl --print default
|
||||||
- name: bake (no push)
|
- name: bake (no push)
|
||||||
if: inputs.allow_registry_login
|
if: inputs.allow_registry_login
|
||||||
working-directory: deploy/docker
|
working-directory: deploy/docker
|
||||||
env:
|
env:
|
||||||
BUILDX_BAKE_ENTITLEMENTS_FS: "0"
|
BUILDX_BAKE_ENTITLEMENTS_FS: "0"
|
||||||
|
BUILDX_BAKE_FILE_RELATIVE_PATHS: "1"
|
||||||
CACHE_REF_GO: git.shx.one/${{ github.repository_owner }}/evobgp-buildcache:go-buildcache
|
CACHE_REF_GO: git.shx.one/${{ github.repository_owner }}/evobgp-buildcache:go-buildcache
|
||||||
CACHE_REF_WEB: git.shx.one/${{ github.repository_owner }}/evobgp-buildcache:web-buildcache
|
CACHE_REF_WEB: git.shx.one/${{ github.repository_owner }}/evobgp-buildcache:web-buildcache
|
||||||
CACHE_REF_BIRDC: git.shx.one/${{ github.repository_owner }}/evobgp-buildcache:birdc-buildcache
|
CACHE_REF_BIRDC: git.shx.one/${{ github.repository_owner }}/evobgp-buildcache:birdc-buildcache
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ docker buildx bake --allow=fs.read=../.. -f docker-bake.hcl web-images
|
|||||||
docker buildx bake --allow=fs.read=../.. -f docker-bake.hcl --print default
|
docker buildx bake --allow=fs.read=../.. -f docker-bake.hcl --print default
|
||||||
```
|
```
|
||||||
|
|
||||||
В `docker-bake.hcl`: `context = "../.."` (корень репо), `dockerfile = "deploy/docker/…"` (путь от корня репо).
|
В `docker-bake.hcl`: `context = "../.."` резолвится **от cwd** (каталог `deploy/docker/`). `dockerfile` — путь от этого context (корень репо). Из корня репо не вызывать bake с `-f deploy/docker/docker-bake.hcl`: получится `lstat ../../deploy`. Можно задать `BUILDX_BAKE_FILE_RELATIVE_PATHS=1`.
|
||||||
|
|
||||||
Один образ (legacy, target `build-all`):
|
Один образ (legacy, target `build-all`):
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
# Единая сборка образов EvoBGP (buildx bake: -f deploy/docker/docker-bake.hcl).
|
# Единая сборка образов EvoBGP (buildx bake: -f deploy/docker/docker-bake.hcl).
|
||||||
# context = "../.." — корень репозитория (относительно этого файла).
|
# context = "../.." — корень репо. Bake резолвит context от cwd (не от HCL),
|
||||||
|
# поэтому вызов из deploy/docker/ либо BUILDX_BAKE_FILE_RELATIVE_PATHS=1.
|
||||||
# Переменные Bake читаются из окружения (см. docs.docker.com/build/bake/variables/).
|
# Переменные Bake читаются из окружения (см. docs.docker.com/build/bake/variables/).
|
||||||
|
|
||||||
variable "REGISTRY" {
|
variable "REGISTRY" {
|
||||||
|
|||||||
Reference in New Issue
Block a user