diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5eee02d..7f82f9f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,12 +15,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - - name: Checkout - uses: actions/checkout@v4 - name: Test - uses: docker/bake-action@v5 + uses: docker/bake-action@v6 with: targets: test - diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index a28f09c..0844f4d 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -15,16 +15,17 @@ jobs: prepare: runs-on: ubuntu-latest outputs: - targets: ${{ steps.targets.outputs.matrix }} + targets: ${{ steps.generate.outputs.targets }} steps: - name: Checkout uses: actions/checkout@v4 - - name: Targets matrix - id: targets - run: | - echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT + name: List targets + id: generate + uses: docker/bake-action/subaction/list-targets@v6 + with: + target: validate validate: runs-on: ubuntu-latest @@ -35,11 +36,8 @@ jobs: matrix: target: ${{ fromJson(needs.prepare.outputs.targets) }} steps: - - - name: Checkout - uses: actions/checkout@v4 - name: Validate - uses: docker/bake-action@v5 + uses: docker/bake-action@v6 with: targets: ${{ matrix.target }} diff --git a/docker-bake.hcl b/docker-bake.hcl index 0cb454a..071ae16 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -1,3 +1,9 @@ +target "_common" { + args = { + BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1 + } +} + group "default" { targets = ["build"] } @@ -11,42 +17,49 @@ group "validate" { } target "build" { + inherits = ["_common"] dockerfile = "dev.Dockerfile" target = "build-update" output = ["."] } target "build-validate" { + inherits = ["_common"] dockerfile = "dev.Dockerfile" target = "build-validate" output = ["type=cacheonly"] } target "format" { + inherits = ["_common"] dockerfile = "dev.Dockerfile" target = "format-update" output = ["."] } target "lint" { + inherits = ["_common"] dockerfile = "dev.Dockerfile" target = "lint" output = ["type=cacheonly"] } target "vendor" { + inherits = ["_common"] dockerfile = "dev.Dockerfile" target = "vendor-update" output = ["."] } target "vendor-validate" { + inherits = ["_common"] dockerfile = "dev.Dockerfile" target = "vendor-validate" output = ["type=cacheonly"] } target "test" { + inherits = ["_common"] dockerfile = "dev.Dockerfile" target = "test-coverage" output = ["./coverage"]