diff --git a/.github/workflows/.e2e-run.yml b/.github/workflows/.e2e-run.yml index c010297..552307e 100644 --- a/.github/workflows/.e2e-run.yml +++ b/.github/workflows/.e2e-run.yml @@ -83,7 +83,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v6 with: images: ${{ env.REGISTRY_SLUG || inputs.slug }} tags: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4680a4d..5b7e034 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -220,7 +220,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v6 with: images: ${{ env.DOCKER_IMAGE }} tags: | @@ -1219,7 +1219,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v6 with: images: ${{ env.DOCKER_IMAGE }} tags: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2ca98b1..ea8323b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,7 +20,7 @@ jobs: uses: actions/checkout@v6 - name: Test - uses: docker/bake-action@v6 + uses: docker/bake-action@v7 with: source: . targets: test diff --git a/.github/workflows/update-dist.yml b/.github/workflows/update-dist.yml index 744588f..fefe728 100644 --- a/.github/workflows/update-dist.yml +++ b/.github/workflows/update-dist.yml @@ -14,7 +14,7 @@ jobs: - name: GitHub auth token from GitHub App id: docker-read-app - uses: actions/create-github-app-token@v2 + uses: actions/create-github-app-token@v3 with: app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }} private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }} @@ -28,7 +28,7 @@ jobs: token: ${{ steps.docker-read-app.outputs.token || github.token }} - name: Build - uses: docker/bake-action@v6 + uses: docker/bake-action@v7 with: source: . targets: build diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index ae6f92e..33aed91 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -15,15 +15,15 @@ jobs: prepare: runs-on: ubuntu-latest outputs: - targets: ${{ steps.generate.outputs.targets }} + matrix: ${{ steps.generate.outputs.matrix }} steps: - name: Checkout uses: actions/checkout@v6 - - name: List targets + name: Generate matrix id: generate - uses: docker/bake-action/subaction/list-targets@v6 + uses: docker/bake-action/subaction/matrix@v7 with: target: validate @@ -34,10 +34,10 @@ jobs: strategy: fail-fast: false matrix: - target: ${{ fromJson(needs.prepare.outputs.targets) }} + include: ${{ fromJson(needs.prepare.outputs.matrix) }} steps: - name: Validate - uses: docker/bake-action@v6 + uses: docker/bake-action@v7 with: targets: ${{ matrix.target }} diff --git a/README.md b/README.md index b50e801..6e03dea 100644 --- a/README.md +++ b/README.md @@ -62,19 +62,19 @@ jobs: steps: - name: Login to Docker Hub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: username: ${{ vars.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Build and push - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v7 with: push: true tags: user/app:latest @@ -94,7 +94,7 @@ to the default Git context: ```yaml - name: Build and push - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v7 with: context: "{{defaultContext}}:mysubdir" push: true @@ -109,7 +109,7 @@ named `GIT_AUTH_TOKEN` to be able to authenticate against it with Buildx: ```yaml - name: Build and push - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v7 with: push: true tags: user/app:latest @@ -131,22 +131,22 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Login to Docker Hub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: username: ${{ vars.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Build and push - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v7 with: context: . push: true diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index 5fbbcad..9aefb9a 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -1,8 +1,6 @@ # Troubleshooting * [Cannot push to a registry](#cannot-push-to-a-registry) - * [BuildKit container logs](#buildkit-container-logs) - * [With containerd](#with-containerd) * [`repository name must be lowercase`](#repository-name-must-be-lowercase) ## Cannot push to a registry @@ -21,59 +19,9 @@ These issues are not directly related to this action but are rather linked to you're pushing your image. The quality of error message depends on the registry and are usually not very informative. -### BuildKit container logs - To help you solve this, you have to [enable debugging in the setup-buildx](https://github.com/docker/setup-buildx-action#buildkit-container-logs) action step and attach BuildKit container logs to your issue. -### With containerd - -Next you can test pushing with [containerd action](https://github.com/crazy-max/ghaction-setup-containerd) -using the following workflow. If it works then open an issue on [BuildKit](https://github.com/moby/buildkit) -repository. - -```yaml -name: containerd - -on: - push: - -jobs: - containerd: - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - buildkitd-flags: --debug - - - name: Set up containerd - uses: crazy-max/ghaction-setup-containerd@v2 - - - name: Build Docker image - uses: docker/build-push-action@v6 - with: - context: . - platforms: linux/amd64,linux/arm64 - tags: docker.io/user/app:latest - outputs: type=oci,dest=/tmp/image.tar - - - name: Import image in containerd - run: | - sudo ctr i import --base-name docker.io/user/app --digests --all-platforms /tmp/image.tar - - - name: Push image with containerd - run: | - sudo ctr --debug i push --user "${{ secrets.DOCKER_USERNAME }}:${{ secrets.DOCKER_PASSWORD }}" docker.io/user/app:latest -``` - ## `repository name must be lowercase` You may encounter this issue if you're using `github.repository` as a repo slug @@ -105,15 +53,14 @@ to generate sanitized tags: ```yaml - name: Docker meta id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v6 with: images: ghcr.io/${{ github.repository }} tags: latest - name: Build and push - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v7 with: - context: . push: true tags: ${{ steps.meta.outputs.tags }} ``` @@ -122,16 +69,15 @@ Or a dedicated step to sanitize the slug: ```yaml - name: Sanitize repo slug - uses: actions/github-script@v6 + uses: actions/github-script@v8 id: repo_slug with: result-encoding: string script: return 'ghcr.io/${{ github.repository }}'.toLowerCase() - name: Build and push - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v7 with: - context: . push: true tags: ${{ steps.repo_slug.outputs.result }}:latest ```