From 047732a61409f6098216beaa4f3665d9d8c0ca41 Mon Sep 17 00:00:00 2001 From: chaneloco Date: Mon, 18 Aug 2025 23:18:08 -0600 Subject: [PATCH] Delete TROUBLESHOOTING.md Signed-off-by: chaneloco --- TROUBLESHOOTING.md | 137 --------------------------------------------- 1 file changed, 137 deletions(-) delete mode 100644 TROUBLESHOOTING.md diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md deleted file mode 100644 index 5fbbcad..0000000 --- a/TROUBLESHOOTING.md +++ /dev/null @@ -1,137 +0,0 @@ -# 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 - -While pushing to a registry, you may encounter these kinds of issues: - -* `failed commit on ref "layer-sha256:...": invalid content digest in response: invalid checksum digest format` -* `failed commit on ref "layer-sha256:...": no response` -* `failed commit on ref "manifest-sha256:...": unexpected status: 400 Bad Request` -* `failed commit on ref "manifest-sha256:...": unexpected status: 401 Unauthorized` -* `unexpected response: 401 Unauthorized` - -These issues are not directly related to this action but are rather linked to -[Buildx](https://github.com/docker/buildx), [BuildKit](https://github.com/moby/buildkit), -[containerd](https://github.com/containerd/containerd) or the registry on which -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 -in your tag: - -``` -#6 exporting to image -#6 exporting layers -#6 exporting layers 1.2s done -#6 exporting manifest sha256:b47f7dfb97b89ccd5de553af3c8cd94c4795884cbe5693e93946b1d95a7b1d12 0.0s done -#6 exporting config sha256:995e93fab8196893192f08a38deea6769dc4d98f86cf705eccc24ec96a3e271c 0.0s done -#6 ERROR: invalid reference format: repository name must be lowercase ------- - > exporting to image: ------- -error: failed to solve: invalid reference format: repository name must be lowercase -``` - -or a cache reference: - -``` -#10 importing cache manifest from ghcr.io/My-Org/repo:main -#10 ERROR: invalid reference format: repository name must be lowercase -``` - -To fix this issue you can use our [metadata action](https://github.com/docker/metadata-action) -to generate sanitized tags: - -```yaml -- name: Docker meta - id: meta - uses: docker/metadata-action@v4 - with: - images: ghcr.io/${{ github.repository }} - tags: latest - -- name: Build and push - uses: docker/build-push-action@v6 - with: - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} -``` - -Or a dedicated step to sanitize the slug: - -```yaml -- name: Sanitize repo slug - uses: actions/github-script@v6 - id: repo_slug - with: - result-encoding: string - script: return 'ghcr.io/${{ github.repository }}'.toLowerCase() - -- name: Build and push - uses: docker/build-push-action@v6 - with: - context: . - push: true - tags: ${{ steps.repo_slug.outputs.result }}:latest -```