diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b307a49..89147a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ on: pull_request: env: - BUILDX_VERSION: latest + BUILDX_VERSION: v0.18.0 BUILDKIT_IMAGE: moby/buildkit:buildx-stable-1 jobs: @@ -72,6 +72,12 @@ jobs: - name: Checkout uses: actions/checkout@v3 + - + 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 @@ -88,10 +94,16 @@ jobs: - name: Checkout uses: actions/checkout@v3 + - + 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: | - sudo systemctl stop docker + sudo systemctl stop docker docker.socket - name: Build id: bake @@ -139,6 +151,12 @@ jobs: - name: Checkout uses: actions/checkout@v3 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + version: ${{ inputs.buildx-version || env.BUILDX_VERSION }} + driver: docker - name: Build uses: ./ @@ -256,6 +274,12 @@ jobs: - name: Checkout uses: actions/checkout@v3 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + version: ${{ inputs.buildx-version || env.BUILDX_VERSION }} + driver: docker - name: Build uses: ./ @@ -294,3 +318,31 @@ jobs: set: | t1.tags=localhost:5000/name/app:t1 t2.tags=localhost:5000/name/app:t2 + + error-buildx-latest: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v3 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + 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 diff --git a/src/main.ts b/src/main.ts index ff1179b..cf26265 100644 --- a/src/main.ts +++ b/src/main.ts @@ -16,6 +16,9 @@ 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.'); + } await core.group(`GitHub Actions runtime token ACs`, async () => { try {