Compare commits

..

No commits in common. "master" and "v7.0.0" have entirely different histories.

11 changed files with 136 additions and 154 deletions

View File

@ -83,7 +83,7 @@ jobs:
- -
name: Docker meta name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v6 uses: docker/metadata-action@v5
with: with:
images: ${{ env.REGISTRY_SLUG || inputs.slug }} images: ${{ env.REGISTRY_SLUG || inputs.slug }}
tags: | tags: |

View File

@ -220,7 +220,7 @@ jobs:
- -
name: Docker meta name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v6 uses: docker/metadata-action@v5
with: with:
images: ${{ env.DOCKER_IMAGE }} images: ${{ env.DOCKER_IMAGE }}
tags: | tags: |
@ -1219,7 +1219,7 @@ jobs:
- -
name: Docker meta name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v6 uses: docker/metadata-action@v5
with: with:
images: ${{ env.DOCKER_IMAGE }} images: ${{ env.DOCKER_IMAGE }}
tags: | tags: |

View File

@ -1,45 +0,0 @@
name: codeql
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
permissions:
actions: read
contents: read
security-events: write
env:
NODE_VERSION: "24"
jobs:
analyze:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v6
-
name: Enable corepack
run: |
corepack enable
yarn --version
-
name: Set up Node
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: javascript-typescript
build-mode: none
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:javascript-typescript"

View File

@ -20,7 +20,7 @@ jobs:
uses: actions/checkout@v6 uses: actions/checkout@v6
- -
name: Test name: Test
uses: docker/bake-action@v7 uses: docker/bake-action@v6
with: with:
source: . source: .
targets: test targets: test

View File

@ -14,7 +14,7 @@ jobs:
- -
name: GitHub auth token from GitHub App name: GitHub auth token from GitHub App
id: docker-read-app id: docker-read-app
uses: actions/create-github-app-token@v3 uses: actions/create-github-app-token@v2
with: with:
app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }} app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }}
private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }} private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }}
@ -28,7 +28,7 @@ jobs:
token: ${{ steps.docker-read-app.outputs.token || github.token }} token: ${{ steps.docker-read-app.outputs.token || github.token }}
- -
name: Build name: Build
uses: docker/bake-action@v7 uses: docker/bake-action@v6
with: with:
source: . source: .
targets: build targets: build

View File

@ -15,15 +15,15 @@ jobs:
prepare: prepare:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
matrix: ${{ steps.generate.outputs.matrix }} targets: ${{ steps.generate.outputs.targets }}
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v6
- -
name: Generate matrix name: List targets
id: generate id: generate
uses: docker/bake-action/subaction/matrix@v7 uses: docker/bake-action/subaction/list-targets@v6
with: with:
target: validate target: validate
@ -34,10 +34,10 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
include: ${{ fromJson(needs.prepare.outputs.matrix) }} target: ${{ fromJson(needs.prepare.outputs.targets) }}
steps: steps:
- -
name: Validate name: Validate
uses: docker/bake-action@v7 uses: docker/bake-action@v6
with: with:
targets: ${{ matrix.target }} targets: ${{ matrix.target }}

View File

@ -62,19 +62,19 @@ jobs:
steps: steps:
- -
name: Login to Docker Hub name: Login to Docker Hub
uses: docker/login-action@v4 uses: docker/login-action@v3
with: with:
username: ${{ vars.DOCKERHUB_USERNAME }} username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v4 uses: docker/setup-qemu-action@v3
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4 uses: docker/setup-buildx-action@v3
- -
name: Build and push name: Build and push
uses: docker/build-push-action@v7 uses: docker/build-push-action@v6
with: with:
push: true push: true
tags: user/app:latest tags: user/app:latest
@ -94,7 +94,7 @@ to the default Git context:
```yaml ```yaml
- -
name: Build and push name: Build and push
uses: docker/build-push-action@v7 uses: docker/build-push-action@v6
with: with:
context: "{{defaultContext}}:mysubdir" context: "{{defaultContext}}:mysubdir"
push: true push: true
@ -109,7 +109,7 @@ named `GIT_AUTH_TOKEN` to be able to authenticate against it with Buildx:
```yaml ```yaml
- -
name: Build and push name: Build and push
uses: docker/build-push-action@v7 uses: docker/build-push-action@v6
with: with:
push: true push: true
tags: user/app:latest tags: user/app:latest
@ -131,22 +131,22 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v5
- -
name: Login to Docker Hub name: Login to Docker Hub
uses: docker/login-action@v4 uses: docker/login-action@v3
with: with:
username: ${{ vars.DOCKERHUB_USERNAME }} username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v4 uses: docker/setup-qemu-action@v3
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4 uses: docker/setup-buildx-action@v3
- -
name: Build and push name: Build and push
uses: docker/build-push-action@v7 uses: docker/build-push-action@v6
with: with:
context: . context: .
push: true push: true

View File

@ -1,6 +1,8 @@
# Troubleshooting # Troubleshooting
* [Cannot push to a registry](#cannot-push-to-a-registry) * [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) * [`repository name must be lowercase`](#repository-name-must-be-lowercase)
## Cannot push to a registry ## Cannot push to a registry
@ -19,9 +21,59 @@ 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 you're pushing your image. The quality of error message depends on the registry
and are usually not very informative. 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) 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. 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` ## `repository name must be lowercase`
You may encounter this issue if you're using `github.repository` as a repo slug You may encounter this issue if you're using `github.repository` as a repo slug
@ -53,14 +105,15 @@ to generate sanitized tags:
```yaml ```yaml
- name: Docker meta - name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v6 uses: docker/metadata-action@v4
with: with:
images: ghcr.io/${{ github.repository }} images: ghcr.io/${{ github.repository }}
tags: latest tags: latest
- name: Build and push - name: Build and push
uses: docker/build-push-action@v7 uses: docker/build-push-action@v6
with: with:
context: .
push: true push: true
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
``` ```
@ -69,15 +122,16 @@ Or a dedicated step to sanitize the slug:
```yaml ```yaml
- name: Sanitize repo slug - name: Sanitize repo slug
uses: actions/github-script@v8 uses: actions/github-script@v6
id: repo_slug id: repo_slug
with: with:
result-encoding: string result-encoding: string
script: return 'ghcr.io/${{ github.repository }}'.toLowerCase() script: return 'ghcr.io/${{ github.repository }}'.toLowerCase()
- name: Build and push - name: Build and push
uses: docker/build-push-action@v7 uses: docker/build-push-action@v6
with: with:
context: .
push: true push: true
tags: ${{ steps.repo_slug.outputs.result }}:latest tags: ${{ steps.repo_slug.outputs.result }}:latest
``` ```

30
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

107
yarn.lock
View File

@ -1831,15 +1831,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"brace-expansion@npm:^2.0.2":
version: 2.0.2
resolution: "brace-expansion@npm:2.0.2"
dependencies:
balanced-match: "npm:^1.0.0"
checksum: 10/01dff195e3646bc4b0d27b63d9bab84d2ebc06121ff5013ad6e5356daa5a9d6b60fa26cf73c74797f2dc3fbec112af13578d51f75228c1112b26c790a87b0488
languageName: node
linkType: hard
"brace-expansion@npm:^5.0.2": "brace-expansion@npm:^5.0.2":
version: 5.0.4 version: 5.0.4
resolution: "brace-expansion@npm:5.0.4" resolution: "brace-expansion@npm:5.0.4"
@ -2530,25 +2521,22 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"fast-xml-builder@npm:^1.1.4": "fast-xml-builder@npm:^1.0.0":
version: 1.1.4 version: 1.0.0
resolution: "fast-xml-builder@npm:1.1.4" resolution: "fast-xml-builder@npm:1.0.0"
dependencies: checksum: 10/06c04d80545e5c9f4d1d6cca00567b5cc09953a92c6328fa48cfb4d7f42630313b8c2bb62e9cb81accee7bb5e1c5312fcae06c3d20dbe52d969a5938233316da
path-expression-matcher: "npm:^1.1.3"
checksum: 10/32937866aaf5a90e69d1f4ee6e15e875248d5b5d2afd70277e9e8323074de4980cef24575a591b8e43c29f405d5f12377b3bad3842dc412b0c5c17a3eaee4b6b
languageName: node languageName: node
linkType: hard linkType: hard
"fast-xml-parser@npm:^5.0.7": "fast-xml-parser@npm:^5.0.7":
version: 5.5.7 version: 5.4.2
resolution: "fast-xml-parser@npm:5.5.7" resolution: "fast-xml-parser@npm:5.4.2"
dependencies: dependencies:
fast-xml-builder: "npm:^1.1.4" fast-xml-builder: "npm:^1.0.0"
path-expression-matcher: "npm:^1.1.3" strnum: "npm:^2.1.2"
strnum: "npm:^2.2.0"
bin: bin:
fxparser: src/cli/cli.js fxparser: src/cli/cli.js
checksum: 10/b69e65cb1c6b43487f1702c5cdd6a67589e4760ba41c06826e56891594cb2d322a6b81cd15b4c01b88ef9bc58657c92cd7d86c6f0e078a2f94ede31533fbaf7e checksum: 10/12585d5dd77113411d01cf41818cfecbbaf8f3d9e8448b1c35f50a7eb51205408bc8db27af5733173a77f96f72d7e121d9e675674f71334569157c77845aba39
languageName: node languageName: node
linkType: hard linkType: hard
@ -2594,9 +2582,9 @@ __metadata:
linkType: hard linkType: hard
"flatted@npm:^3.2.9": "flatted@npm:^3.2.9":
version: 3.4.2 version: 3.3.3
resolution: "flatted@npm:3.4.2" resolution: "flatted@npm:3.3.3"
checksum: 10/a9e78fe5c2c1fcd98209a015ccee3a6caa953e01729778e83c1fe92e68601a63e1e69cd4e573010ca99eaf585a581b80ccf1018b99283e6cbc2117bcba1e030f checksum: 10/8c96c02fbeadcf4e8ffd0fa24983241e27698b0781295622591fc13585e2f226609d95e422bcf2ef044146ffacb6b68b1f20871454eddf75ab3caa6ee5f4a1fe
languageName: node languageName: node
linkType: hard linkType: hard
@ -2657,18 +2645,17 @@ __metadata:
linkType: hard linkType: hard
"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10": "glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10":
version: 10.5.0 version: 10.3.12
resolution: "glob@npm:10.5.0" resolution: "glob@npm:10.3.12"
dependencies: dependencies:
foreground-child: "npm:^3.1.0" foreground-child: "npm:^3.1.0"
jackspeak: "npm:^3.1.2" jackspeak: "npm:^2.3.6"
minimatch: "npm:^9.0.4" minimatch: "npm:^9.0.1"
minipass: "npm:^7.1.2" minipass: "npm:^7.0.4"
package-json-from-dist: "npm:^1.0.0" path-scurry: "npm:^1.10.2"
path-scurry: "npm:^1.11.1"
bin: bin:
glob: dist/esm/bin.mjs glob: dist/esm/bin.mjs
checksum: 10/ab3bccfefcc0afaedbd1f480cd0c4a2c0e322eb3f0aa7ceaa31b3f00b825069f17cf0f1fc8b6f256795074b903f37c0ade37ddda6a176aa57f1c2bbfe7240653 checksum: 10/9e8186abc22dc824b5dd86cefd8e6b5621a72d1be7f68bacc0fd681e8c162ec5546660a6ec0553d6a74757a585e655956c7f8f1a6d24570e8d865c307323d178
languageName: node languageName: node
linkType: hard linkType: hard
@ -2996,16 +2983,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"jackspeak@npm:^3.1.2": "jackspeak@npm:^2.3.6":
version: 3.4.3 version: 2.3.6
resolution: "jackspeak@npm:3.4.3" resolution: "jackspeak@npm:2.3.6"
dependencies: dependencies:
"@isaacs/cliui": "npm:^8.0.2" "@isaacs/cliui": "npm:^8.0.2"
"@pkgjs/parseargs": "npm:^0.11.0" "@pkgjs/parseargs": "npm:^0.11.0"
dependenciesMeta: dependenciesMeta:
"@pkgjs/parseargs": "@pkgjs/parseargs":
optional: true optional: true
checksum: 10/96f8786eaab98e4bf5b2a5d6d9588ea46c4d06bbc4f2eb861fdd7b6b182b16f71d8a70e79820f335d52653b16d4843b29dd9cdcf38ae80406756db9199497cf3 checksum: 10/6e6490d676af8c94a7b5b29b8fd5629f21346911ebe2e32931c2a54210134408171c24cee1a109df2ec19894ad04a429402a8438cbf5cc2794585d35428ace76
languageName: node languageName: node
linkType: hard linkType: hard
@ -3254,12 +3241,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"minimatch@npm:^9.0.4": "minimatch@npm:^9.0.1":
version: 9.0.9 version: 9.0.4
resolution: "minimatch@npm:9.0.9" resolution: "minimatch@npm:9.0.4"
dependencies: dependencies:
brace-expansion: "npm:^2.0.2" brace-expansion: "npm:^2.0.1"
checksum: 10/b91fad937deaffb68a45a2cb731ff3cff1c3baf9b6469c879477ed16f15c8f4ce39d63a3f75c2455107c2fdff0f3ab597d97dc09e2e93b883aafcf926ef0c8f9 checksum: 10/4cdc18d112b164084513e890d6323370db14c22249d536ad1854539577a895e690a27513dc346392f61a4a50afbbd8abc88f3f25558bfbbbb862cd56508b20f5
languageName: node languageName: node
linkType: hard linkType: hard
@ -3368,7 +3355,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": "minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.4":
version: 7.0.4 version: 7.0.4
resolution: "minipass@npm:7.0.4" resolution: "minipass@npm:7.0.4"
checksum: 10/e864bd02ceb5e0707696d58f7ce3a0b89233f0d686ef0d447a66db705c0846a8dc6f34865cd85256c1472ff623665f616b90b8ff58058b2ad996c5de747d2d18 checksum: 10/e864bd02ceb5e0707696d58f7ce3a0b89233f0d686ef0d447a66db705c0846a8dc6f34865cd85256c1472ff623665f616b90b8ff58058b2ad996c5de747d2d18
@ -3581,13 +3568,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"package-json-from-dist@npm:^1.0.0":
version: 1.0.1
resolution: "package-json-from-dist@npm:1.0.1"
checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602
languageName: node
linkType: hard
"pako@npm:~0.2.0": "pako@npm:~0.2.0":
version: 0.2.9 version: 0.2.9
resolution: "pako@npm:0.2.9" resolution: "pako@npm:0.2.9"
@ -3611,13 +3591,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"path-expression-matcher@npm:^1.1.3":
version: 1.1.3
resolution: "path-expression-matcher@npm:1.1.3"
checksum: 10/9a607d0bf9807cf86b0a29fb4263f0c00285c13bedafb6ad3efc8bc87ae878da2faf657a9138ac918726cb19f147235a0ca695aec3e4ea1ee04641b6520e6c9e
languageName: node
linkType: hard
"path-key@npm:^3.1.0": "path-key@npm:^3.1.0":
version: 3.1.1 version: 3.1.1
resolution: "path-key@npm:3.1.1" resolution: "path-key@npm:3.1.1"
@ -3625,13 +3598,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"path-scurry@npm:^1.11.1": "path-scurry@npm:^1.10.2":
version: 1.11.1 version: 1.10.2
resolution: "path-scurry@npm:1.11.1" resolution: "path-scurry@npm:1.10.2"
dependencies: dependencies:
lru-cache: "npm:^10.2.0" lru-cache: "npm:^10.2.0"
minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0"
checksum: 10/5e8845c159261adda6f09814d7725683257fcc85a18f329880ab4d7cc1d12830967eae5d5894e453f341710d5484b8fdbbd4d75181b4d6e1eb2f4dc7aeadc434 checksum: 10/a2bbbe8dc284c49dd9be78ca25f3a8b89300e0acc24a77e6c74824d353ef50efbf163e64a69f4330b301afca42d0e2229be0560d6d616ac4e99d48b4062016b1
languageName: node languageName: node
linkType: hard linkType: hard
@ -4217,10 +4190,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"strnum@npm:^2.2.0": "strnum@npm:^2.1.2":
version: 2.2.1 version: 2.2.0
resolution: "strnum@npm:2.2.1" resolution: "strnum@npm:2.2.0"
checksum: 10/c553d83e1adc223bc33c29c6e8b0c4a512d5d432ae636c6117a713c9e6d50d2bf2d3d6bc53cd8dc210c3cf27986904bee44e6d58ad8c767507a27d90400a572b checksum: 10/2969dbc8441f5af1b55db1d2fcea64a8f912de18515b57f85574e66bdb8f30ae76c419cf1390b343d72d687e2aea5aca82390f18b9e0de45d6bcc6d605eb9385
languageName: node languageName: node
linkType: hard linkType: hard
@ -4429,9 +4402,9 @@ __metadata:
linkType: hard linkType: hard
"undici@npm:^6.23.0": "undici@npm:^6.23.0":
version: 6.24.1 version: 6.23.0
resolution: "undici@npm:6.24.1" resolution: "undici@npm:6.23.0"
checksum: 10/4f84e6045520eef9ba8eabb96360b50c759f59905c1703b12187c2dbcc6d1584c5d7ecddeb45b0ed6cac84ca2d132b21bfd8a38f77fa30378b1ac5d2ae390fd9 checksum: 10/56950995e7b628e62c996430445d17995ca9b70f6f2afe760a63da54205660d968bd08f0741b6f4fb008f40aa35c69cce979cd96ced399585d8c897a76a4f1d1
languageName: node languageName: node
linkType: hard linkType: hard