Merge pull request #290 from crazy-max/v4_backport_buildx-version-support

[v4] mark buildx >= 0.20.0 as incompatible with docker/bake-action < v5
This commit is contained in:
CrazyMax
2025-01-21 16:07:27 +01:00
committed by GitHub
4 changed files with 65 additions and 3 deletions

View File

@ -32,7 +32,7 @@ on:
- 'subaction/**'
env:
BUILDX_VERSION: latest
BUILDX_VERSION: v0.18.0
BUILDKIT_IMAGE: moby/buildkit:buildx-stable-1
jobs:
@ -82,6 +82,12 @@ jobs:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
driver: docker
-
name: Build
continue-on-error: true
@ -98,6 +104,12 @@ jobs:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
driver: docker
-
name: Stop docker
run: |
@ -153,6 +165,12 @@ jobs:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
driver: docker
-
name: Build
uses: ./
@ -270,6 +288,12 @@ jobs:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
driver: docker
-
name: Build
uses: ./
@ -315,6 +339,12 @@ jobs:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
driver: docker
-
name: Set malformed docker config
run: |
@ -522,3 +552,31 @@ jobs:
name: Check docker
run: |
docker image inspect localhost:5000/name/app:latest
error-buildx-latest:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: v0.20.0
-
name: Build
id: bake
continue-on-error: true
uses: ./
with:
files: |
./test/config.hcl
-
name: Check
run: |
echo "${{ toJson(steps.bake) }}"
if [ "${{ steps.bake.outcome }}" != "failure" ] || [ "${{ steps.bake.conclusion }}" != "success" ]; then
echo "::error::Should have failed"
exit 1
fi

2
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -20,6 +20,10 @@ actionsToolkit.run(
async () => {
const inputs: context.Inputs = await context.getInputs();
const toolkit = new Toolkit();
if (await toolkit.buildx.versionSatisfies('>=0.20.0')) {
throw new Error('docker/bake-action < v5 is not compatible with buildx >= 0.20.0, please update your workflow to latest docker/bake-action or use an older buildx version.');
}
const gitAuthToken = process.env.BUILDX_BAKE_GIT_AUTH_TOKEN ?? inputs['github-token'];
await core.group(`GitHub Actions runtime token ACs`, async () => {