mirror of
https://github.com/docker/bake-action.git
synced 2026-06-05 17:48:40 +02:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aefd381cba | |||
| 1a883d70d7 | |||
| 44d6ed6f31 |
Binary file not shown.
|
Before Width: | Height: | Size: 253 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB |
@@ -38,15 +38,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
workdir: ./test/group
|
workdir: ./test/group
|
||||||
-
|
-
|
||||||
name: Check targets
|
name: Show matrix
|
||||||
uses: actions/github-script@v7
|
run: |
|
||||||
with:
|
echo matrix=${{ steps.gen.outputs.matrix }}
|
||||||
script: |
|
|
||||||
const targets = `${{ steps.gen.outputs.targets }}`;
|
|
||||||
if (!targets) {
|
|
||||||
core.setFailed('No targets generated');
|
|
||||||
}
|
|
||||||
core.info(`targets=${targets}`);
|
|
||||||
|
|
||||||
list-targets-group-matrix:
|
list-targets-group-matrix:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -62,38 +56,6 @@ jobs:
|
|||||||
workdir: ./test/group-matrix
|
workdir: ./test/group-matrix
|
||||||
target: validate
|
target: validate
|
||||||
-
|
-
|
||||||
name: Check targets
|
name: Show matrix
|
||||||
uses: actions/github-script@v7
|
run: |
|
||||||
with:
|
echo matrix=${{ steps.gen.outputs.matrix }}
|
||||||
script: |
|
|
||||||
const targets = `${{ steps.gen.outputs.targets }}`;
|
|
||||||
if (!targets) {
|
|
||||||
core.setFailed('No targets generated');
|
|
||||||
}
|
|
||||||
core.info(`targets=${targets}`);
|
|
||||||
|
|
||||||
list-targets-multi-files:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: Matrix gen
|
|
||||||
id: gen
|
|
||||||
uses: ./subaction/list-targets
|
|
||||||
with:
|
|
||||||
workdir: ./test/multi-files
|
|
||||||
files: |
|
|
||||||
docker-bake.json
|
|
||||||
docker-bake.hcl
|
|
||||||
-
|
|
||||||
name: Check targets
|
|
||||||
uses: actions/github-script@v7
|
|
||||||
with:
|
|
||||||
script: |
|
|
||||||
const targets = `${{ steps.gen.outputs.targets }}`;
|
|
||||||
if (!targets) {
|
|
||||||
core.setFailed('No targets generated');
|
|
||||||
}
|
|
||||||
core.info(`targets=${targets}`);
|
|
||||||
|
|||||||
+47
-246
@@ -32,8 +32,8 @@ on:
|
|||||||
- 'subaction/**'
|
- 'subaction/**'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BUILDX_VERSION: edge
|
BUILDX_VERSION: v0.18.0
|
||||||
BUILDKIT_IMAGE: moby/buildkit:latest
|
BUILDKIT_IMAGE: moby/buildkit:buildx-stable-1
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
bake:
|
bake:
|
||||||
@@ -69,7 +69,6 @@ jobs:
|
|||||||
name: Build and push
|
name: Build and push
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
source: .
|
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
files: |
|
files: |
|
||||||
./test/config.hcl
|
./test/config.hcl
|
||||||
@@ -83,12 +82,17 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
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
|
name: Build
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
source: .
|
|
||||||
files: |
|
files: |
|
||||||
./test/config.hcl
|
./test/config.hcl
|
||||||
set: |
|
set: |
|
||||||
@@ -100,6 +104,12 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
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
|
name: Stop docker
|
||||||
run: |
|
run: |
|
||||||
@@ -110,7 +120,6 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
source: .
|
|
||||||
files: |
|
files: |
|
||||||
./test/config.hcl
|
./test/config.hcl
|
||||||
-
|
-
|
||||||
@@ -147,16 +156,21 @@ jobs:
|
|||||||
name: Build
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
source: .
|
|
||||||
files: |
|
files: |
|
||||||
./test/config.hcl
|
./test/config.hcl
|
||||||
|
|
||||||
remote:
|
source:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
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
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -192,7 +206,6 @@ jobs:
|
|||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
workdir: ./test/go
|
workdir: ./test/go
|
||||||
source: .
|
|
||||||
targets: binary
|
targets: binary
|
||||||
provenance: ${{ matrix.attrs }}
|
provenance: ${{ matrix.attrs }}
|
||||||
set: |
|
set: |
|
||||||
@@ -234,7 +247,6 @@ jobs:
|
|||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
workdir: ./test/go
|
workdir: ./test/go
|
||||||
source: .
|
|
||||||
targets: ${{ matrix.target }}
|
targets: ${{ matrix.target }}
|
||||||
sbom: true
|
sbom: true
|
||||||
set: |
|
set: |
|
||||||
@@ -276,12 +288,17 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
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
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
workdir: ./test/go
|
workdir: ./test/go
|
||||||
source: .
|
|
||||||
set: |
|
set: |
|
||||||
*.platform=linux/amd64
|
*.platform=linux/amd64
|
||||||
*.output=type=image,"name=localhost:5000/name/app:v1.0.0,localhost:5000/name/app:latest",push=true
|
*.output=type=image,"name=localhost:5000/name/app:v1.0.0,localhost:5000/name/app:latest",push=true
|
||||||
@@ -311,7 +328,6 @@ jobs:
|
|||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
workdir: ./test/group
|
workdir: ./test/group
|
||||||
source: .
|
|
||||||
push: true
|
push: true
|
||||||
set: |
|
set: |
|
||||||
t1.tags=localhost:5000/name/app:t1
|
t1.tags=localhost:5000/name/app:t1
|
||||||
@@ -323,6 +339,12 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
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
|
name: Set malformed docker config
|
||||||
run: |
|
run: |
|
||||||
@@ -332,7 +354,6 @@ jobs:
|
|||||||
name: Build
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
source: .
|
|
||||||
files: |
|
files: |
|
||||||
./test/config.hcl
|
./test/config.hcl
|
||||||
|
|
||||||
@@ -370,7 +391,6 @@ jobs:
|
|||||||
name: Build
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
source: .
|
|
||||||
files: |
|
files: |
|
||||||
./test/config.hcl
|
./test/config.hcl
|
||||||
targets: app-proxy
|
targets: app-proxy
|
||||||
@@ -406,7 +426,6 @@ jobs:
|
|||||||
name: Build
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
source: .
|
|
||||||
files: |
|
files: |
|
||||||
./test/config.hcl
|
./test/config.hcl
|
||||||
|
|
||||||
@@ -426,6 +445,8 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Build
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
|
with:
|
||||||
|
source: "{{defaultContext}}"
|
||||||
|
|
||||||
git-context-and-local:
|
git-context-and-local:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -448,6 +469,7 @@ jobs:
|
|||||||
name: Build
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
source: "{{defaultContext}}"
|
||||||
files: |
|
files: |
|
||||||
cwd://${{ steps.meta.outputs.bake-file }}
|
cwd://${{ steps.meta.outputs.bake-file }}
|
||||||
|
|
||||||
@@ -474,7 +496,6 @@ jobs:
|
|||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
workdir: ./test/go
|
workdir: ./test/go
|
||||||
source: .
|
|
||||||
set: |
|
set: |
|
||||||
*.output=type=image,name=localhost:5000/name/app:latest,push=true
|
*.output=type=image,name=localhost:5000/name/app:latest,push=true
|
||||||
*.output=type=docker,name=app:local
|
*.output=type=docker,name=app:local
|
||||||
@@ -518,7 +539,6 @@ jobs:
|
|||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
workdir: ./test/go
|
workdir: ./test/go
|
||||||
source: .
|
|
||||||
targets: image
|
targets: image
|
||||||
load: true
|
load: true
|
||||||
push: true
|
push: true
|
||||||
@@ -533,7 +553,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
docker image inspect localhost:5000/name/app:latest
|
docker image inspect localhost:5000/name/app:latest
|
||||||
|
|
||||||
summary-disable:
|
error-buildx-latest:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
@@ -543,239 +563,20 @@ jobs:
|
|||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: v0.20.0
|
||||||
driver-opts: |
|
|
||||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
|
||||||
-
|
-
|
||||||
name: Build
|
name: Build
|
||||||
|
id: bake
|
||||||
|
continue-on-error: true
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
files: |
|
files: |
|
||||||
./test/config.hcl
|
./test/config.hcl
|
||||||
targets: app
|
|
||||||
env:
|
|
||||||
DOCKER_BUILD_SUMMARY: false
|
|
||||||
|
|
||||||
summary-disable-deprecated:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Check
|
||||||
uses: actions/checkout@v4
|
run: |
|
||||||
-
|
echo "${{ toJson(steps.bake) }}"
|
||||||
name: Set up Docker Buildx
|
if [ "${{ steps.bake.outcome }}" != "failure" ] || [ "${{ steps.bake.conclusion }}" != "success" ]; then
|
||||||
uses: docker/setup-buildx-action@v3
|
echo "::error::Should have failed"
|
||||||
with:
|
exit 1
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
fi
|
||||||
driver-opts: |
|
|
||||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
|
||||||
-
|
|
||||||
name: Build
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
source: .
|
|
||||||
files: |
|
|
||||||
./test/config.hcl
|
|
||||||
targets: app
|
|
||||||
env:
|
|
||||||
DOCKER_BUILD_NO_SUMMARY: true
|
|
||||||
|
|
||||||
summary-not-supported:
|
|
||||||
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.12.1
|
|
||||||
driver-opts: |
|
|
||||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
|
||||||
-
|
|
||||||
name: Build
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
./test/config.hcl
|
|
||||||
targets: app
|
|
||||||
|
|
||||||
record-upload-disable:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
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-opts: |
|
|
||||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
|
||||||
-
|
|
||||||
name: Build
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
./test/config.hcl
|
|
||||||
targets: app
|
|
||||||
env:
|
|
||||||
DOCKER_BUILD_RECORD_UPLOAD: false
|
|
||||||
|
|
||||||
record-retention-days:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
days:
|
|
||||||
- 2
|
|
||||||
- 0
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
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-opts: |
|
|
||||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
|
||||||
-
|
|
||||||
name: Build
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
./test/config.hcl
|
|
||||||
targets: app
|
|
||||||
env:
|
|
||||||
DOCKER_BUILD_RECORD_RETENTION_DAYS: ${{ matrix.days }}
|
|
||||||
|
|
||||||
export-legacy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
legacy:
|
|
||||||
- false
|
|
||||||
- true
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
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-opts: |
|
|
||||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
|
||||||
-
|
|
||||||
name: Build
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
./test/config.hcl
|
|
||||||
targets: app
|
|
||||||
env:
|
|
||||||
DOCKER_BUILD_EXPORT_LEGACY: ${{ matrix.legacy }}
|
|
||||||
|
|
||||||
checks:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
buildx-version:
|
|
||||||
- edge
|
|
||||||
- v0.14.1
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.buildx-version }}
|
|
||||||
driver-opts: |
|
|
||||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
|
||||||
-
|
|
||||||
name: Build
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
workdir: ./test
|
|
||||||
source: .
|
|
||||||
files: |
|
|
||||||
./lint.hcl
|
|
||||||
|
|
||||||
annotations-disabled:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
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-opts: |
|
|
||||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
|
||||||
-
|
|
||||||
name: Build
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
workdir: ./test
|
|
||||||
source: .
|
|
||||||
files: |
|
|
||||||
./lint.hcl
|
|
||||||
env:
|
|
||||||
DOCKER_BUILD_CHECKS_ANNOTATIONS: false
|
|
||||||
|
|
||||||
allow:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
buildx-version:
|
|
||||||
- edge
|
|
||||||
- v0.19.0
|
|
||||||
- v0.18.0
|
|
||||||
- v0.17.1
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.buildx-version }}
|
|
||||||
driver-opts: |
|
|
||||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
|
||||||
-
|
|
||||||
name: Build
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
./test/config.hcl
|
|
||||||
allow: network.host
|
|
||||||
targets: app-entitlements
|
|
||||||
|
|
||||||
no-default-attestations:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: Build
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
source: .
|
|
||||||
files: |
|
|
||||||
./test/config.hcl
|
|
||||||
env:
|
|
||||||
BUILDX_NO_DEFAULT_ATTESTATIONS: 1
|
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
name: pr-assign-author
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request_target:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- reopened
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
run:
|
|
||||||
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@1b673f36fad86812f538c1df9794904038a23cbf
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
pull-requests: write
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
name: publish
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types:
|
|
||||||
- published
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
publish:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
id-token: write
|
|
||||||
packages: write
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: Publish
|
|
||||||
uses: actions/publish-immutable-action@v0.0.4
|
|
||||||
@@ -26,13 +26,12 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
-
|
-
|
||||||
name: Test
|
name: Test
|
||||||
uses: docker/bake-action@v6
|
uses: docker/bake-action@v4
|
||||||
with:
|
with:
|
||||||
source: .
|
|
||||||
targets: test
|
targets: test
|
||||||
-
|
-
|
||||||
name: Upload coverage
|
name: Upload coverage
|
||||||
uses: codecov/codecov-action@v5
|
uses: codecov/codecov-action@v4
|
||||||
with:
|
with:
|
||||||
files: ./coverage/clover.xml
|
file: ./coverage/clover.xml
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
|||||||
@@ -36,8 +36,11 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
target: ${{ fromJson(needs.prepare.outputs.targets) }}
|
target: ${{ fromJson(needs.prepare.outputs.targets) }}
|
||||||
steps:
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
-
|
-
|
||||||
name: Validate
|
name: Validate
|
||||||
uses: docker/bake-action@v6
|
uses: docker/bake-action@v4
|
||||||
with:
|
with:
|
||||||
targets: ${{ matrix.target }}
|
targets: ${{ matrix.target }}
|
||||||
|
|||||||
@@ -14,64 +14,95 @@ as a high-level build command.
|
|||||||
___
|
___
|
||||||
|
|
||||||
* [Usage](#usage)
|
* [Usage](#usage)
|
||||||
* [Git context](#git-context)
|
|
||||||
* [Path context](#path-context)
|
* [Path context](#path-context)
|
||||||
* [Summaries](#summaries)
|
* [Git context](#git-context)
|
||||||
* [Customizing](#customizing)
|
* [Customizing](#customizing)
|
||||||
* [inputs](#inputs)
|
* [inputs](#inputs)
|
||||||
* [outputs](#outputs)
|
* [outputs](#outputs)
|
||||||
* [environment variables](#environment-variables)
|
|
||||||
* [Subactions](#subactions)
|
* [Subactions](#subactions)
|
||||||
* [`list-targets`](subaction/list-targets)
|
* [`list-targets`](#list-targets)
|
||||||
* [Contributing](#contributing)
|
* [Contributing](#contributing)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### Git context
|
### Path context
|
||||||
|
|
||||||
Since `v6` this action uses the [Git context](https://docs.docker.com/build/bake/remote-definition/)
|
By default, this action will use the local bake definition (`source: .`), so
|
||||||
to build from a remote bake definition by default like the [build-push-action](https://github.com/docker/build-push-action)
|
you need to use the [`actions/checkout`](https://github.com/actions/checkout/)
|
||||||
does. This means that you don't need to use the [`actions/checkout`](https://github.com/actions/checkout/)
|
action to check out the repository.
|
||||||
action to check out the repository as [BuildKit](https://docs.docker.com/build/buildkit/)
|
|
||||||
will do this directly.
|
|
||||||
|
|
||||||
The git reference will be based on the [event that triggered your workflow](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows)
|
|
||||||
and will result in the following context: `https://github.com/<owner>/<repo>.git#<ref>`.
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
name: ci
|
name: ci
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
bake:
|
bake:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Login to DockerHub
|
name: Checkout
|
||||||
uses: docker/login-action@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
|
||||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
-
|
||||||
|
name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/bake-action@v6
|
uses: docker/bake-action@v4
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
set: |
|
```
|
||||||
*.tags=user/app:latest
|
|
||||||
|
### Git context
|
||||||
|
|
||||||
|
Git context can be provided using the [`source` input](#inputs). This means
|
||||||
|
that you don't need to use the [`actions/checkout`](https://github.com/actions/checkout/)
|
||||||
|
action to check out the repository as [BuildKit](https://docs.docker.com/build/buildkit/)
|
||||||
|
will do this directly.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
name: ci
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
bake:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
-
|
||||||
|
name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
-
|
||||||
|
name: Build and push
|
||||||
|
uses: docker/bake-action@v4
|
||||||
|
with:
|
||||||
|
source: "${{ github.server_url }}/${{ github.repository }}.git#${{ github.ref }}"
|
||||||
|
push: true
|
||||||
```
|
```
|
||||||
|
|
||||||
Be careful because **any file mutation in the steps that precede the build step
|
Be careful because **any file mutation in the steps that precede the build step
|
||||||
will be ignored, including processing of the `.dockerignore` file** since
|
will be ignored, including processing of the `.dockerignore` file** since
|
||||||
the context is based on the Git reference. However, you can use the
|
the context is based on the Git reference. However, you can use the
|
||||||
[Path context](#path-context) using the [`source` input](#inputs) alongside
|
[Path context](#path-context) alongside the [`actions/checkout`](https://github.com/actions/checkout/)
|
||||||
the [`actions/checkout`](https://github.com/actions/checkout/) action to remove
|
action to remove this restriction.
|
||||||
this restriction.
|
|
||||||
|
|
||||||
Default Git context can also be provided using the [Handlebars template](https://handlebarsjs.com/guide/)
|
Default Git context can also be provided using the [Handlebars template](https://handlebarsjs.com/guide/)
|
||||||
expression `{{defaultContext}}`. Here we can use it to provide a subdirectory
|
expression `{{defaultContext}}`. Here we can use it to provide a subdirectory
|
||||||
@@ -80,12 +111,10 @@ to the default Git context:
|
|||||||
```yaml
|
```yaml
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/bake-action@v6
|
uses: docker/bake-action@v4
|
||||||
with:
|
with:
|
||||||
source: "{{defaultContext}}:mysubdir"
|
source: "{{defaultContext}}:mysubdir"
|
||||||
push: true
|
push: true
|
||||||
set: |
|
|
||||||
*.tags=user/app:latest
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Building from the current repository automatically uses the `GITHUB_TOKEN`
|
Building from the current repository automatically uses the `GITHUB_TOKEN`
|
||||||
@@ -100,82 +129,14 @@ another private repository for remote definitions, you can set the
|
|||||||
```yaml
|
```yaml
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/bake-action@v6
|
uses: docker/bake-action@v4
|
||||||
with:
|
with:
|
||||||
|
source: "${{ github.server_url }}/${{ github.repository }}.git#${{ github.ref }}"
|
||||||
push: true
|
push: true
|
||||||
set: |
|
|
||||||
*.tags=user/app:latest
|
|
||||||
env:
|
env:
|
||||||
BUILDX_BAKE_GIT_AUTH_TOKEN: ${{ secrets.MYTOKEN }}
|
BUILDX_BAKE_GIT_AUTH_TOKEN: ${{ secrets.MYTOKEN }}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Path context
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
name: ci
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
bake:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: Login to DockerHub
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
-
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
-
|
|
||||||
name: Build and push
|
|
||||||
uses: docker/bake-action@v6
|
|
||||||
with:
|
|
||||||
source: .
|
|
||||||
push: true
|
|
||||||
set: |
|
|
||||||
*.tags=user/app:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
## Summaries
|
|
||||||
|
|
||||||
This action generates a [job summary](https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/)
|
|
||||||
that provides a detailed overview of the build execution. The summary shows an
|
|
||||||
overview of all the steps executed during the build, including the build
|
|
||||||
inputs, bake definition, and eventual errors.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
The summary also includes a link for downloading a build record archive with
|
|
||||||
additional details about the build execution for all the bake targets,
|
|
||||||
including build stats, logs, outputs, and more. The build record can be
|
|
||||||
imported to Docker Desktop for inspecting the build in greater detail.
|
|
||||||
|
|
||||||
> [!WARNING]
|
|
||||||
>
|
|
||||||
> If you're using the [`actions/download-artifact`](https://github.com/actions/download-artifact)
|
|
||||||
> action in your workflow, you need to ignore the build record artifacts
|
|
||||||
> if `name` and `pattern` inputs are not specified ([defaults to download all artifacts](https://github.com/actions/download-artifact?tab=readme-ov-file#download-all-artifacts) of the workflow),
|
|
||||||
> otherwise the action will fail:
|
|
||||||
> ```yaml
|
|
||||||
> - uses: actions/download-artifact@v4
|
|
||||||
> with:
|
|
||||||
> pattern: "!*.dockerbuild"
|
|
||||||
> ```
|
|
||||||
> More info: https://github.com/actions/toolkit/pull/1874
|
|
||||||
|
|
||||||
Summaries are enabled by default, but can be disabled with the
|
|
||||||
`DOCKER_BUILD_SUMMARY` [environment variable](#environment-variables).
|
|
||||||
|
|
||||||
For more information about summaries, refer to the
|
|
||||||
[documentation](https://docs.docker.com/go/build-summary/).
|
|
||||||
|
|
||||||
## Customizing
|
## Customizing
|
||||||
|
|
||||||
### inputs
|
### inputs
|
||||||
@@ -201,7 +162,6 @@ The following inputs can be used as `step.with` keys
|
|||||||
|----------------|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|----------------|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `builder` | String | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) |
|
| `builder` | String | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) |
|
||||||
| `source` | String | Context to build from. Can be either local (`.`) or a [remote bake definition](https://docs.docker.com/build/customize/bake/file-definition/#remote-definition) |
|
| `source` | String | Context to build from. Can be either local (`.`) or a [remote bake definition](https://docs.docker.com/build/customize/bake/file-definition/#remote-definition) |
|
||||||
| `allow` | List/CSV | Allow build to access specified resources (e.g., `network.host`) |
|
|
||||||
| `files` | List/CSV | List of [bake definition files](https://docs.docker.com/build/customize/bake/file-definition/) |
|
| `files` | List/CSV | List of [bake definition files](https://docs.docker.com/build/customize/bake/file-definition/) |
|
||||||
| `workdir` | String | Working directory of execution |
|
| `workdir` | String | Working directory of execution |
|
||||||
| `targets` | List/CSV | List of bake targets (`default` target used if empty) |
|
| `targets` | List/CSV | List of bake targets (`default` target used if empty) |
|
||||||
@@ -211,7 +171,7 @@ The following inputs can be used as `step.with` keys
|
|||||||
| `provenance` | Bool/String | [Provenance](https://docs.docker.com/build/attestations/slsa-provenance/) is a shorthand for `--set=*.attest=type=provenance` |
|
| `provenance` | Bool/String | [Provenance](https://docs.docker.com/build/attestations/slsa-provenance/) is a shorthand for `--set=*.attest=type=provenance` |
|
||||||
| `push` | Bool | Push is a shorthand for `--set=*.output=type=registry` (default `false`) |
|
| `push` | Bool | Push is a shorthand for `--set=*.output=type=registry` (default `false`) |
|
||||||
| `sbom` | Bool/String | [SBOM](https://docs.docker.com/build/attestations/sbom/) is a shorthand for `--set=*.attest=type=sbom` |
|
| `sbom` | Bool/String | [SBOM](https://docs.docker.com/build/attestations/sbom/) is a shorthand for `--set=*.attest=type=sbom` |
|
||||||
| `set` | List | List of [targets values to override](https://docs.docker.com/engine/reference/commandline/buildx_bake/#set) (e.g., `targetpattern.key=value`) |
|
| `set` | List | List of [targets values to override](https://docs.docker.com/engine/reference/commandline/buildx_bake/#set) (eg: `targetpattern.key=value`) |
|
||||||
| `github-token` | String | API token used to authenticate to a Git repository for [remote definitions](https://docs.docker.com/build/bake/remote-definition/) (default `${{ github.token }}`) |
|
| `github-token` | String | API token used to authenticate to a Git repository for [remote definitions](https://docs.docker.com/build/bake/remote-definition/) (default `${{ github.token }}`) |
|
||||||
|
|
||||||
### outputs
|
### outputs
|
||||||
@@ -222,19 +182,78 @@ The following outputs are available
|
|||||||
|------------|------|-----------------------|
|
|------------|------|-----------------------|
|
||||||
| `metadata` | JSON | Build result metadata |
|
| `metadata` | JSON | Build result metadata |
|
||||||
|
|
||||||
### environment variables
|
|
||||||
|
|
||||||
| Name | Type | Default | Description |
|
|
||||||
|--------------------------------------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
| `DOCKER_BUILD_CHECKS_ANNOTATIONS` | Bool | `true` | If `false`, GitHub annotations are not generated for [build checks](https://docs.docker.com/build/checks/) |
|
|
||||||
| `DOCKER_BUILD_SUMMARY` | Bool | `true` | If `false`, [build summary](https://docs.docker.com/build/ci/github-actions/build-summary/) generation is disabled |
|
|
||||||
| `DOCKER_BUILD_RECORD_UPLOAD` | Bool | `true` | If `false`, build record upload as [GitHub artifact](https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts) is disabled |
|
|
||||||
| `DOCKER_BUILD_RECORD_RETENTION_DAYS` | Number | | Duration after which build record artifact will expire in days. Defaults to repository/org [retention settings](https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#artifact-and-log-retention-policy) if unset or `0` |
|
|
||||||
| `DOCKER_BUILD_EXPORT_LEGACY` | Bool | `false` | If `true`, exports build using legacy export-build tool instead of [`buildx history export` command](https://docs.docker.com/reference/cli/docker/buildx/history/export/) |
|
|
||||||
|
|
||||||
## Subactions
|
## Subactions
|
||||||
|
|
||||||
* [`list-targets`](subaction/list-targets)
|
### `list-targets`
|
||||||
|
|
||||||
|
This subaction generates a list of Bake targets that can be used in a [GitHub matrix](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix),
|
||||||
|
so you can distribute your builds across multiple runners.
|
||||||
|
|
||||||
|
```hcl
|
||||||
|
# docker-bake.hcl
|
||||||
|
group "validate" {
|
||||||
|
targets = ["lint", "doctoc"]
|
||||||
|
}
|
||||||
|
|
||||||
|
target "lint" {
|
||||||
|
target = "lint"
|
||||||
|
}
|
||||||
|
|
||||||
|
target "doctoc" {
|
||||||
|
target = "doctoc"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
prepare:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
targets: ${{ steps.generate.outputs.targets }}
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
-
|
||||||
|
name: List targets
|
||||||
|
id: generate
|
||||||
|
uses: docker/bake-action/subaction/list-targets@v4
|
||||||
|
with:
|
||||||
|
target: validate
|
||||||
|
|
||||||
|
validate:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs:
|
||||||
|
- prepare
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
target: ${{ fromJson(needs.prepare.outputs.targets) }}
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
-
|
||||||
|
name: Validate
|
||||||
|
uses: docker/bake-action@v4
|
||||||
|
with:
|
||||||
|
targets: ${{ matrix.target }}
|
||||||
|
```
|
||||||
|
#### inputs
|
||||||
|
|
||||||
|
| Name | Type | Description |
|
||||||
|
|--------------|-------------|---------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| `workdir` | String | Working directory to use (defaults to `.`) |
|
||||||
|
| `files` | List/CSV | List of [bake definition files](https://docs.docker.com/build/customize/bake/file-definition/) |
|
||||||
|
| `target` | String | The target to use within the bake file |
|
||||||
|
|
||||||
|
#### outputs
|
||||||
|
|
||||||
|
The following outputs are available
|
||||||
|
|
||||||
|
| Name | Type | Description |
|
||||||
|
|------------|----------|----------------------------|
|
||||||
|
| `targets` | List/CSV | List of extracted targest |
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|||||||
+21
-109
@@ -1,4 +1,4 @@
|
|||||||
import {afterEach, beforeEach, describe, expect, jest, test} from '@jest/globals';
|
import {beforeEach, describe, expect, jest, test} from '@jest/globals';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
@@ -122,7 +122,6 @@ jest.spyOn(Bake.prototype, 'getDefinition').mockImplementation(async (): Promise
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('getArgs', () => {
|
describe('getArgs', () => {
|
||||||
const originalEnv = process.env;
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
process.env = Object.keys(process.env).reduce((object, key) => {
|
process.env = Object.keys(process.env).reduce((object, key) => {
|
||||||
if (!key.startsWith('INPUT_')) {
|
if (!key.startsWith('INPUT_')) {
|
||||||
@@ -131,9 +130,6 @@ describe('getArgs', () => {
|
|||||||
return object;
|
return object;
|
||||||
}, {});
|
}, {});
|
||||||
});
|
});
|
||||||
afterEach(() => {
|
|
||||||
process.env = originalEnv;
|
|
||||||
});
|
|
||||||
|
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
test.each([
|
test.each([
|
||||||
@@ -141,7 +137,6 @@ describe('getArgs', () => {
|
|||||||
0,
|
0,
|
||||||
'0.4.1',
|
'0.4.1',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -149,14 +144,12 @@ describe('getArgs', () => {
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'bake',
|
'bake',
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
1,
|
1,
|
||||||
'0.8.2',
|
'0.8.2',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -165,14 +158,12 @@ describe('getArgs', () => {
|
|||||||
[
|
[
|
||||||
'bake',
|
'bake',
|
||||||
'--metadata-file', metadataJson
|
'--metadata-file', metadataJson
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
2,
|
2,
|
||||||
'0.8.2',
|
'0.8.2',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['targets', 'webapp\nvalidate'],
|
['targets', 'webapp\nvalidate'],
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
@@ -183,14 +174,12 @@ describe('getArgs', () => {
|
|||||||
'bake',
|
'bake',
|
||||||
'--metadata-file', metadataJson,
|
'--metadata-file', metadataJson,
|
||||||
'webapp', 'validate'
|
'webapp', 'validate'
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
3,
|
3,
|
||||||
'0.8.2',
|
'0.8.2',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['set', '*.cache-from=type=gha\n*.cache-to=type=gha'],
|
['set', '*.cache-from=type=gha\n*.cache-to=type=gha'],
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
@@ -202,14 +191,12 @@ describe('getArgs', () => {
|
|||||||
'--set', '*.cache-from=type=gha',
|
'--set', '*.cache-from=type=gha',
|
||||||
'--set', '*.cache-to=type=gha',
|
'--set', '*.cache-to=type=gha',
|
||||||
'--metadata-file', metadataJson
|
'--metadata-file', metadataJson
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
4,
|
4,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -218,15 +205,13 @@ describe('getArgs', () => {
|
|||||||
[
|
[
|
||||||
'bake',
|
'bake',
|
||||||
'--metadata-file', metadataJson,
|
'--metadata-file', metadataJson,
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
5,
|
5,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -236,15 +221,13 @@ describe('getArgs', () => {
|
|||||||
[
|
[
|
||||||
'bake',
|
'bake',
|
||||||
'--metadata-file', metadataJson,
|
'--metadata-file', metadataJson,
|
||||||
"--provenance", `builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`
|
"--provenance", `builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
6,
|
6,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -254,15 +237,13 @@ describe('getArgs', () => {
|
|||||||
[
|
[
|
||||||
'bake',
|
'bake',
|
||||||
'--metadata-file', metadataJson,
|
'--metadata-file', metadataJson,
|
||||||
"--provenance", `mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`
|
"--provenance", `mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
7,
|
7,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -273,14 +254,12 @@ describe('getArgs', () => {
|
|||||||
'bake',
|
'bake',
|
||||||
'--metadata-file', metadataJson,
|
'--metadata-file', metadataJson,
|
||||||
"--provenance", 'false'
|
"--provenance", 'false'
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
8,
|
8,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -291,14 +270,12 @@ describe('getArgs', () => {
|
|||||||
'bake',
|
'bake',
|
||||||
'--metadata-file', metadataJson,
|
'--metadata-file', metadataJson,
|
||||||
"--provenance", 'builder-id=foo'
|
"--provenance", 'builder-id=foo'
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
9,
|
9,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -311,16 +288,14 @@ describe('getArgs', () => {
|
|||||||
'--set', '*.platform=linux/amd64,linux/ppc64le,linux/s390x',
|
'--set', '*.platform=linux/amd64,linux/ppc64le,linux/s390x',
|
||||||
'--set', `*.output=type=image,"name=moby/buildkit:v0.11.0,moby/buildkit:latest",push=true`,
|
'--set', `*.output=type=image,"name=moby/buildkit:v0.11.0,moby/buildkit:latest",push=true`,
|
||||||
'--metadata-file', metadataJson,
|
'--metadata-file', metadataJson,
|
||||||
'--provenance', `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
'--provenance', `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
||||||
'image-all'
|
'image-all'
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
10,
|
10,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -332,15 +307,15 @@ describe('getArgs', () => {
|
|||||||
'bake',
|
'bake',
|
||||||
'--set', `*.labels.foo=bar=#baz`,
|
'--set', `*.labels.foo=bar=#baz`,
|
||||||
'--metadata-file', metadataJson,
|
'--metadata-file', metadataJson,
|
||||||
'--provenance', `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
'--provenance', `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
||||||
'image-all'
|
'image-all'
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
11,
|
11,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
|
['source', '{{defaultContext}}'],
|
||||||
['load', 'false'],
|
['load', 'false'],
|
||||||
['no-cache', 'false'],
|
['no-cache', 'false'],
|
||||||
['push', 'false'],
|
['push', 'false'],
|
||||||
@@ -352,75 +327,12 @@ describe('getArgs', () => {
|
|||||||
'https://github.com/docker/build-push-action.git#refs/heads/master',
|
'https://github.com/docker/build-push-action.git#refs/heads/master',
|
||||||
'--file', './foo.hcl',
|
'--file', './foo.hcl',
|
||||||
'--metadata-file', metadataJson,
|
'--metadata-file', metadataJson,
|
||||||
'--provenance', `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
'--provenance', `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
||||||
],
|
]
|
||||||
undefined
|
|
||||||
],
|
|
||||||
[
|
|
||||||
12,
|
|
||||||
'0.17.0',
|
|
||||||
new Map<string, string>([
|
|
||||||
['source', '.'],
|
|
||||||
['allow', 'network.host'],
|
|
||||||
['load', 'false'],
|
|
||||||
['no-cache', 'false'],
|
|
||||||
['push', 'false'],
|
|
||||||
['pull', 'false'],
|
|
||||||
]),
|
|
||||||
[
|
|
||||||
'bake',
|
|
||||||
'--allow', 'network.host',
|
|
||||||
'--metadata-file', metadataJson,
|
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`
|
|
||||||
],
|
|
||||||
undefined
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13,
|
|
||||||
'0.15.0',
|
|
||||||
new Map<string, string>([
|
|
||||||
['source', '{{defaultContext}}:subdir'],
|
|
||||||
['load', 'false'],
|
|
||||||
['no-cache', 'false'],
|
|
||||||
['push', 'false'],
|
|
||||||
['pull', 'false'],
|
|
||||||
['files', './foo.hcl'],
|
|
||||||
]),
|
|
||||||
[
|
|
||||||
'bake',
|
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master:subdir',
|
|
||||||
'--file', './foo.hcl',
|
|
||||||
'--metadata-file', metadataJson,
|
|
||||||
'--provenance', `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
|
||||||
],
|
|
||||||
undefined
|
|
||||||
],
|
|
||||||
[
|
|
||||||
14,
|
|
||||||
'0.15.0',
|
|
||||||
new Map<string, string>([
|
|
||||||
['source', '.'],
|
|
||||||
['load', 'false'],
|
|
||||||
['no-cache', 'false'],
|
|
||||||
['push', 'false'],
|
|
||||||
['pull', 'false']
|
|
||||||
]),
|
|
||||||
[
|
|
||||||
'bake',
|
|
||||||
'--metadata-file', metadataJson
|
|
||||||
],
|
|
||||||
new Map<string, string>([
|
|
||||||
['BUILDX_NO_DEFAULT_ATTESTATIONS', '1']
|
|
||||||
])
|
|
||||||
],
|
],
|
||||||
])(
|
])(
|
||||||
'[%d] given %p with %p as inputs, returns %p',
|
'[%d] given %p with %p as inputs, returns %p',
|
||||||
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>, envs: Map<string, string> | undefined) => {
|
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => {
|
||||||
if (envs) {
|
|
||||||
envs.forEach((value: string, name: string) => {
|
|
||||||
process.env[name] = value;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
inputs.forEach((value: string, name: string) => {
|
inputs.forEach((value: string, name: string) => {
|
||||||
setInput(name, value);
|
setInput(name, value);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -13,9 +13,6 @@ inputs:
|
|||||||
source:
|
source:
|
||||||
description: "Context to build from. Can be either local or a remote bake definition"
|
description: "Context to build from. Can be either local or a remote bake definition"
|
||||||
required: false
|
required: false
|
||||||
allow:
|
|
||||||
description: "Allow build to access specified resources (e.g., network.host)"
|
|
||||||
required: false
|
|
||||||
files:
|
files:
|
||||||
description: "List of bake definition files"
|
description: "List of bake definition files"
|
||||||
required: false
|
required: false
|
||||||
|
|||||||
+12
-13
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+6
-24
@@ -2358,6 +2358,9 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
dot-object
|
||||||
|
MIT
|
||||||
|
|
||||||
encoding
|
encoding
|
||||||
MIT
|
MIT
|
||||||
Copyright (c) 2012-2014 Andris Reinman
|
Copyright (c) 2012-2014 Andris Reinman
|
||||||
@@ -2513,30 +2516,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
he
|
|
||||||
MIT
|
|
||||||
Copyright Mathias Bynens <https://mathiasbynens.be/>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
|
|
||||||
iconv-lite
|
iconv-lite
|
||||||
MIT
|
MIT
|
||||||
Copyright (c) 2011 Alexander Shtuchkin
|
Copyright (c) 2011 Alexander Shtuchkin
|
||||||
@@ -3688,6 +3667,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
twirp-ts
|
||||||
|
MIT
|
||||||
|
|
||||||
undici
|
undici
|
||||||
MIT
|
MIT
|
||||||
MIT License
|
MIT License
|
||||||
|
|||||||
@@ -1,9 +1,3 @@
|
|||||||
target "_common" {
|
|
||||||
args = {
|
|
||||||
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
group "default" {
|
group "default" {
|
||||||
targets = ["build"]
|
targets = ["build"]
|
||||||
}
|
}
|
||||||
@@ -17,49 +11,42 @@ group "validate" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
target "build" {
|
target "build" {
|
||||||
inherits = ["_common"]
|
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "build-update"
|
target = "build-update"
|
||||||
output = ["."]
|
output = ["."]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "build-validate" {
|
target "build-validate" {
|
||||||
inherits = ["_common"]
|
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "build-validate"
|
target = "build-validate"
|
||||||
output = ["type=cacheonly"]
|
output = ["type=cacheonly"]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "format" {
|
target "format" {
|
||||||
inherits = ["_common"]
|
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "format-update"
|
target = "format-update"
|
||||||
output = ["."]
|
output = ["."]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "lint" {
|
target "lint" {
|
||||||
inherits = ["_common"]
|
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "lint"
|
target = "lint"
|
||||||
output = ["type=cacheonly"]
|
output = ["type=cacheonly"]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "vendor" {
|
target "vendor" {
|
||||||
inherits = ["_common"]
|
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "vendor-update"
|
target = "vendor-update"
|
||||||
output = ["."]
|
output = ["."]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "vendor-validate" {
|
target "vendor-validate" {
|
||||||
inherits = ["_common"]
|
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "vendor-validate"
|
target = "vendor-validate"
|
||||||
output = ["type=cacheonly"]
|
output = ["type=cacheonly"]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "test" {
|
target "test" {
|
||||||
inherits = ["_common"]
|
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "test-coverage"
|
target = "test-coverage"
|
||||||
output = ["./coverage"]
|
output = ["./coverage"]
|
||||||
|
|||||||
+2
-2
@@ -26,8 +26,8 @@
|
|||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"packageManager": "yarn@3.6.3",
|
"packageManager": "yarn@3.6.3",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.11.1",
|
"@actions/core": "^1.10.1",
|
||||||
"@docker/actions-toolkit": "^0.61.0",
|
"@docker/actions-toolkit": "^0.24.0",
|
||||||
"handlebars": "^4.7.8"
|
"handlebars": "^4.7.8"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
+1
-44
@@ -11,7 +11,6 @@ import {Util} from '@docker/actions-toolkit/lib/util';
|
|||||||
import {BakeDefinition} from '@docker/actions-toolkit/lib/types/buildx/bake';
|
import {BakeDefinition} from '@docker/actions-toolkit/lib/types/buildx/bake';
|
||||||
|
|
||||||
export interface Inputs {
|
export interface Inputs {
|
||||||
allow: string[];
|
|
||||||
builder: string;
|
builder: string;
|
||||||
files: string[];
|
files: string[];
|
||||||
workdir: string;
|
workdir: string;
|
||||||
@@ -29,7 +28,6 @@ export interface Inputs {
|
|||||||
|
|
||||||
export async function getInputs(): Promise<Inputs> {
|
export async function getInputs(): Promise<Inputs> {
|
||||||
return {
|
return {
|
||||||
allow: Util.getInputList('allow'),
|
|
||||||
builder: core.getInput('builder'),
|
builder: core.getInput('builder'),
|
||||||
files: Util.getInputList('files'),
|
files: Util.getInputList('files'),
|
||||||
workdir: core.getInput('workdir') || '.',
|
workdir: core.getInput('workdir') || '.',
|
||||||
@@ -46,28 +44,6 @@ export async function getInputs(): Promise<Inputs> {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function sanitizeInputs(inputs: Inputs) {
|
|
||||||
const res = {};
|
|
||||||
for (const key of Object.keys(inputs)) {
|
|
||||||
if (key === 'github-token') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
const value: string | string[] | boolean = inputs[key];
|
|
||||||
if (typeof value === 'boolean' && value === false) {
|
|
||||||
continue;
|
|
||||||
} else if (Array.isArray(value) && value.length === 0) {
|
|
||||||
continue;
|
|
||||||
} else if (!value) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (key === 'workdir' && value === '.') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
res[key] = value;
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getArgs(inputs: Inputs, definition: BakeDefinition, toolkit: Toolkit): Promise<Array<string>> {
|
export async function getArgs(inputs: Inputs, definition: BakeDefinition, toolkit: Toolkit): Promise<Array<string>> {
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
return [
|
return [
|
||||||
@@ -82,15 +58,6 @@ async function getBakeArgs(inputs: Inputs, definition: BakeDefinition, toolkit:
|
|||||||
if (inputs.source) {
|
if (inputs.source) {
|
||||||
args.push(inputs.source);
|
args.push(inputs.source);
|
||||||
}
|
}
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.17.0')) {
|
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.18.0')) {
|
|
||||||
// allow filesystem entitlements by default
|
|
||||||
inputs.allow.push('fs=*');
|
|
||||||
}
|
|
||||||
await Util.asyncForEach(inputs.allow, async allow => {
|
|
||||||
args.push('--allow', allow);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
await Util.asyncForEach(inputs.files, async file => {
|
await Util.asyncForEach(inputs.files, async file => {
|
||||||
args.push('--file', file);
|
args.push('--file', file);
|
||||||
});
|
});
|
||||||
@@ -103,7 +70,7 @@ async function getBakeArgs(inputs: Inputs, definition: BakeDefinition, toolkit:
|
|||||||
if (await toolkit.buildx.versionSatisfies('>=0.10.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.10.0')) {
|
||||||
if (inputs.provenance) {
|
if (inputs.provenance) {
|
||||||
args.push('--provenance', inputs.provenance);
|
args.push('--provenance', inputs.provenance);
|
||||||
} else if (!noDefaultAttestations() && (await toolkit.buildkit.versionSatisfies(inputs.builder, '>=0.11.0')) && !Bake.hasDockerExporter(definition, inputs.load)) {
|
} else if ((await toolkit.buildkit.versionSatisfies(inputs.builder, '>=0.11.0')) && !Bake.hasDockerExporter(definition, inputs.load)) {
|
||||||
// if provenance not specified and BuildKit version compatible for
|
// if provenance not specified and BuildKit version compatible for
|
||||||
// attestation, set default provenance. Also needs to make sure user
|
// attestation, set default provenance. Also needs to make sure user
|
||||||
// doesn't want to explicitly load the image to docker.
|
// doesn't want to explicitly load the image to docker.
|
||||||
@@ -147,18 +114,8 @@ function getSourceInput(name: string): string {
|
|||||||
let source = handlebars.compile(core.getInput(name))({
|
let source = handlebars.compile(core.getInput(name))({
|
||||||
defaultContext: Context.gitContext()
|
defaultContext: Context.gitContext()
|
||||||
});
|
});
|
||||||
if (!source) {
|
|
||||||
source = Context.gitContext();
|
|
||||||
}
|
|
||||||
if (source === '.') {
|
if (source === '.') {
|
||||||
source = '';
|
source = '';
|
||||||
}
|
}
|
||||||
return source;
|
return source;
|
||||||
}
|
}
|
||||||
|
|
||||||
function noDefaultAttestations(): boolean {
|
|
||||||
if (process.env.BUILDX_NO_DEFAULT_ATTESTATIONS) {
|
|
||||||
return Util.parseBool(process.env.BUILDX_NO_DEFAULT_ATTESTATIONS);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|||||||
+9
-183
@@ -3,19 +3,14 @@ import * as path from 'path';
|
|||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as actionsToolkit from '@docker/actions-toolkit';
|
import * as actionsToolkit from '@docker/actions-toolkit';
|
||||||
|
|
||||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx';
|
|
||||||
import {History as BuildxHistory} from '@docker/actions-toolkit/lib/buildx/history';
|
|
||||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
import {Context} from '@docker/actions-toolkit/lib/context';
|
||||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
|
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
|
||||||
import {Exec} from '@docker/actions-toolkit/lib/exec';
|
import {Exec} from '@docker/actions-toolkit/lib/exec';
|
||||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
||||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
||||||
import {Util} from '@docker/actions-toolkit/lib/util';
|
|
||||||
|
|
||||||
import {BakeDefinition} from '@docker/actions-toolkit/lib/types/buildx/bake';
|
import {BakeDefinition} from '@docker/actions-toolkit/lib/types/buildx/bake';
|
||||||
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder';
|
|
||||||
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker/docker';
|
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker/docker';
|
||||||
import {UploadArtifactResponse} from '@docker/actions-toolkit/lib/types/github';
|
|
||||||
|
|
||||||
import * as context from './context';
|
import * as context from './context';
|
||||||
import * as stateHelper from './state-helper';
|
import * as stateHelper from './state-helper';
|
||||||
@@ -23,13 +18,12 @@ import * as stateHelper from './state-helper';
|
|||||||
actionsToolkit.run(
|
actionsToolkit.run(
|
||||||
// main
|
// main
|
||||||
async () => {
|
async () => {
|
||||||
const startedTime = new Date();
|
|
||||||
|
|
||||||
const inputs: context.Inputs = await context.getInputs();
|
const inputs: context.Inputs = await context.getInputs();
|
||||||
core.debug(`inputs: ${JSON.stringify(inputs)}`);
|
|
||||||
stateHelper.setInputs(inputs);
|
|
||||||
|
|
||||||
const toolkit = new Toolkit();
|
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'];
|
const gitAuthToken = process.env.BUILDX_BAKE_GIT_AUTH_TOKEN ?? inputs['github-token'];
|
||||||
|
|
||||||
await core.group(`GitHub Actions runtime token ACs`, async () => {
|
await core.group(`GitHub Actions runtime token ACs`, async () => {
|
||||||
@@ -85,9 +79,8 @@ actionsToolkit.run(
|
|||||||
await toolkit.buildx.printVersion();
|
await toolkit.buildx.printVersion();
|
||||||
});
|
});
|
||||||
|
|
||||||
let builder: BuilderInfo;
|
|
||||||
await core.group(`Builder info`, async () => {
|
await core.group(`Builder info`, async () => {
|
||||||
builder = await toolkit.builder.inspect(inputs.builder);
|
const builder = await toolkit.builder.inspect(inputs.builder);
|
||||||
core.info(JSON.stringify(builder, null, 2));
|
core.info(JSON.stringify(builder, null, 2));
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -95,7 +88,6 @@ actionsToolkit.run(
|
|||||||
await core.group(`Parsing raw definition`, async () => {
|
await core.group(`Parsing raw definition`, async () => {
|
||||||
definition = await toolkit.buildxBake.getDefinition(
|
definition = await toolkit.buildxBake.getDefinition(
|
||||||
{
|
{
|
||||||
allow: inputs.allow,
|
|
||||||
files: inputs.files,
|
files: inputs.files,
|
||||||
load: inputs.load,
|
load: inputs.load,
|
||||||
noCache: inputs['no-cache'],
|
noCache: inputs['no-cache'],
|
||||||
@@ -115,37 +107,29 @@ actionsToolkit.run(
|
|||||||
if (!definition) {
|
if (!definition) {
|
||||||
throw new Error('Bake definition not set');
|
throw new Error('Bake definition not set');
|
||||||
}
|
}
|
||||||
stateHelper.setBakeDefinition(definition);
|
|
||||||
|
|
||||||
const args: string[] = await context.getArgs(inputs, definition, toolkit);
|
const args: string[] = await context.getArgs(inputs, definition, toolkit);
|
||||||
const buildCmd = await toolkit.buildx.getCommand(args);
|
const buildCmd = await toolkit.buildx.getCommand(args);
|
||||||
const buildEnv = Object.assign({}, process.env, {
|
const buildEnv = Object.assign({}, process.env, {
|
||||||
BUILDX_BAKE_GIT_AUTH_TOKEN: gitAuthToken,
|
BUILDX_BAKE_GIT_AUTH_TOKEN: gitAuthToken
|
||||||
BUILDX_METADATA_WARNINGS: 'true'
|
|
||||||
}) as {
|
}) as {
|
||||||
[key: string]: string;
|
[key: string]: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
await core.group(`Bake definition`, async () => {
|
await core.group(`Bake definition`, async () => {
|
||||||
await Exec.getExecOutput(buildCmd.command, [...buildCmd.args, '--print'], {
|
await Exec.exec(buildCmd.command, [...buildCmd.args, '--print'], {
|
||||||
cwd: inputs.workdir,
|
cwd: inputs.workdir,
|
||||||
env: buildEnv,
|
env: buildEnv
|
||||||
ignoreReturnCode: true
|
|
||||||
}).then(res => {
|
|
||||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
||||||
throw Error(res.stderr);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
let err: Error | undefined;
|
|
||||||
await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
|
await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
|
||||||
cwd: inputs.workdir,
|
cwd: inputs.workdir,
|
||||||
env: buildEnv,
|
env: buildEnv,
|
||||||
ignoreReturnCode: true
|
ignoreReturnCode: true
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||||
err = Error(`buildx bake failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
|
throw new Error(`buildx bake failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -157,94 +141,9 @@ actionsToolkit.run(
|
|||||||
core.setOutput('metadata', metadatadt);
|
core.setOutput('metadata', metadatadt);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
let refs: Array<string> = [];
|
|
||||||
await core.group(`Build references`, async () => {
|
|
||||||
refs = await buildRefs(toolkit, startedTime, inputs.builder);
|
|
||||||
if (refs.length > 0) {
|
|
||||||
for (const ref of refs) {
|
|
||||||
core.info(ref);
|
|
||||||
}
|
|
||||||
stateHelper.setBuildRefs(refs);
|
|
||||||
} else {
|
|
||||||
core.info('No build references found');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (buildChecksAnnotationsEnabled()) {
|
|
||||||
const warnings = toolkit.buildxBake.resolveWarnings(metadata);
|
|
||||||
if (refs.length > 0 && warnings && warnings.length > 0) {
|
|
||||||
const annotations = await Buildx.convertWarningsToGitHubAnnotations(warnings, refs);
|
|
||||||
core.debug(`annotations: ${JSON.stringify(annotations, null, 2)}`);
|
|
||||||
if (annotations && annotations.length > 0) {
|
|
||||||
await core.group(`Generating GitHub annotations (${annotations.length} build checks found)`, async () => {
|
|
||||||
for (const annotation of annotations) {
|
|
||||||
core.warning(annotation.message, annotation);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
await core.group(`Check build summary support`, async () => {
|
|
||||||
if (!buildSummaryEnabled()) {
|
|
||||||
core.info('Build summary disabled');
|
|
||||||
} else if (GitHub.isGHES) {
|
|
||||||
core.info('Build summary is not yet supported on GHES');
|
|
||||||
} else if (!(await toolkit.buildx.versionSatisfies('>=0.13.0'))) {
|
|
||||||
core.info('Build summary requires Buildx >= 0.13.0');
|
|
||||||
} else if (builder && builder.driver === 'cloud') {
|
|
||||||
core.info('Build summary is not yet supported with Docker Build Cloud');
|
|
||||||
} else if (refs.length == 0) {
|
|
||||||
core.info('Build summary requires at least one build reference');
|
|
||||||
} else {
|
|
||||||
core.info('Build summary supported!');
|
|
||||||
stateHelper.setSummarySupported();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (err) {
|
|
||||||
throw err;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
// post
|
// post
|
||||||
async () => {
|
async () => {
|
||||||
if (stateHelper.isSummarySupported) {
|
|
||||||
await core.group(`Generating build summary`, async () => {
|
|
||||||
try {
|
|
||||||
const recordUploadEnabled = buildRecordUploadEnabled();
|
|
||||||
let recordRetentionDays: number | undefined;
|
|
||||||
if (recordUploadEnabled) {
|
|
||||||
recordRetentionDays = buildRecordRetentionDays();
|
|
||||||
}
|
|
||||||
|
|
||||||
const buildxHistory = new BuildxHistory();
|
|
||||||
const exportRes = await buildxHistory.export({
|
|
||||||
refs: stateHelper.buildRefs,
|
|
||||||
useContainer: buildExportLegacy()
|
|
||||||
});
|
|
||||||
core.info(`Build records written to ${exportRes.dockerbuildFilename} (${Util.formatFileSize(exportRes.dockerbuildSize)})`);
|
|
||||||
|
|
||||||
let uploadRes: UploadArtifactResponse | undefined;
|
|
||||||
if (recordUploadEnabled) {
|
|
||||||
uploadRes = await GitHub.uploadArtifact({
|
|
||||||
filename: exportRes.dockerbuildFilename,
|
|
||||||
mimeType: 'application/gzip',
|
|
||||||
retentionDays: recordRetentionDays
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
await GitHub.writeBuildSummary({
|
|
||||||
exportRes: exportRes,
|
|
||||||
uploadRes: uploadRes,
|
|
||||||
inputs: stateHelper.inputs,
|
|
||||||
bakeDefinition: stateHelper.bakeDefinition
|
|
||||||
});
|
|
||||||
} catch (e) {
|
|
||||||
core.warning(e.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if (stateHelper.tmpDir.length > 0) {
|
if (stateHelper.tmpDir.length > 0) {
|
||||||
await core.group(`Removing temp folder ${stateHelper.tmpDir}`, async () => {
|
await core.group(`Removing temp folder ${stateHelper.tmpDir}`, async () => {
|
||||||
fs.rmSync(stateHelper.tmpDir, {recursive: true});
|
fs.rmSync(stateHelper.tmpDir, {recursive: true});
|
||||||
@@ -252,76 +151,3 @@ actionsToolkit.run(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
async function buildRefs(toolkit: Toolkit, since: Date, builder?: string): Promise<Array<string>> {
|
|
||||||
// get refs from metadata file
|
|
||||||
const metaRefs = toolkit.buildxBake.resolveRefs();
|
|
||||||
if (metaRefs) {
|
|
||||||
return metaRefs;
|
|
||||||
}
|
|
||||||
// otherwise, look for the very first build ref since the build has started
|
|
||||||
if (!builder) {
|
|
||||||
const currentBuilder = await toolkit.builder.inspect();
|
|
||||||
builder = currentBuilder.name;
|
|
||||||
}
|
|
||||||
const res = Buildx.refs({
|
|
||||||
dir: Buildx.refsDir,
|
|
||||||
builderName: builder,
|
|
||||||
since: since
|
|
||||||
});
|
|
||||||
const refs: Array<string> = [];
|
|
||||||
for (const ref in res) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(res, ref)) {
|
|
||||||
refs.push(ref);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return refs;
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildChecksAnnotationsEnabled(): boolean {
|
|
||||||
if (process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS) {
|
|
||||||
return Util.parseBool(process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildSummaryEnabled(): boolean {
|
|
||||||
if (process.env.DOCKER_BUILD_NO_SUMMARY) {
|
|
||||||
core.warning('DOCKER_BUILD_NO_SUMMARY is deprecated. Set DOCKER_BUILD_SUMMARY to false instead.');
|
|
||||||
return !Util.parseBool(process.env.DOCKER_BUILD_NO_SUMMARY);
|
|
||||||
} else if (process.env.DOCKER_BUILD_SUMMARY) {
|
|
||||||
return Util.parseBool(process.env.DOCKER_BUILD_SUMMARY);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildRecordUploadEnabled(): boolean {
|
|
||||||
if (process.env.DOCKER_BUILD_RECORD_UPLOAD) {
|
|
||||||
return Util.parseBool(process.env.DOCKER_BUILD_RECORD_UPLOAD);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildRecordRetentionDays(): number | undefined {
|
|
||||||
let val: string | undefined;
|
|
||||||
if (process.env.DOCKER_BUILD_EXPORT_RETENTION_DAYS) {
|
|
||||||
core.warning('DOCKER_BUILD_EXPORT_RETENTION_DAYS is deprecated. Use DOCKER_BUILD_RECORD_RETENTION_DAYS instead.');
|
|
||||||
val = process.env.DOCKER_BUILD_EXPORT_RETENTION_DAYS;
|
|
||||||
} else if (process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS) {
|
|
||||||
val = process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS;
|
|
||||||
}
|
|
||||||
if (val) {
|
|
||||||
const res = parseInt(val);
|
|
||||||
if (isNaN(res)) {
|
|
||||||
throw Error(`Invalid build record retention days: ${val}`);
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildExportLegacy(): boolean {
|
|
||||||
if (process.env.DOCKER_BUILD_EXPORT_LEGACY) {
|
|
||||||
return Util.parseBool(process.env.DOCKER_BUILD_EXPORT_LEGACY);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,31 +1,7 @@
|
|||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
|
||||||
import {BakeDefinition} from '@docker/actions-toolkit/lib/types/buildx/bake';
|
|
||||||
|
|
||||||
import {Inputs, sanitizeInputs} from './context';
|
|
||||||
|
|
||||||
export const tmpDir = process.env['STATE_tmpDir'] || '';
|
export const tmpDir = process.env['STATE_tmpDir'] || '';
|
||||||
export const inputs = process.env['STATE_inputs'] ? JSON.parse(process.env['STATE_inputs']) : undefined;
|
|
||||||
export const bakeDefinition = process.env['STATE_bakeDefinition'] ? <BakeDefinition>JSON.parse(process.env['STATE_bakeDefinition']) : undefined;
|
|
||||||
export const buildRefs = process.env['STATE_buildRefs'] ? process.env['STATE_buildRefs'].split(',') : [];
|
|
||||||
export const isSummarySupported = !!process.env['STATE_isSummarySupported'];
|
|
||||||
|
|
||||||
export function setTmpDir(tmpDir: string) {
|
export function setTmpDir(tmpDir: string) {
|
||||||
core.saveState('tmpDir', tmpDir);
|
core.saveState('tmpDir', tmpDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setInputs(inputs: Inputs) {
|
|
||||||
core.saveState('inputs', JSON.stringify(sanitizeInputs(inputs)));
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setBakeDefinition(bakeDefinition: BakeDefinition) {
|
|
||||||
core.saveState('bakeDefinition', JSON.stringify(bakeDefinition));
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setBuildRefs(buildRefs: Array<string>) {
|
|
||||||
core.saveState('buildRefs', buildRefs.join(','));
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setSummarySupported() {
|
|
||||||
core.saveState('isSummarySupported', 'true');
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,84 +0,0 @@
|
|||||||
## About
|
|
||||||
|
|
||||||
This subaction generates a list of Bake targets that can be used in a [GitHub matrix](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix),
|
|
||||||
so you can distribute your builds across multiple runners.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
___
|
|
||||||
|
|
||||||
* [Usage](#usage)
|
|
||||||
* [Customizing](#customizing)
|
|
||||||
* [inputs](#inputs)
|
|
||||||
* [outputs](#outputs)
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```hcl
|
|
||||||
# docker-bake.hcl
|
|
||||||
group "validate" {
|
|
||||||
targets = ["lint", "doctoc"]
|
|
||||||
}
|
|
||||||
|
|
||||||
target "lint" {
|
|
||||||
target = "lint"
|
|
||||||
}
|
|
||||||
|
|
||||||
target "doctoc" {
|
|
||||||
target = "doctoc"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
jobs:
|
|
||||||
prepare:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
targets: ${{ steps.generate.outputs.targets }}
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: List targets
|
|
||||||
id: generate
|
|
||||||
uses: docker/bake-action/subaction/list-targets@v6
|
|
||||||
with:
|
|
||||||
target: validate
|
|
||||||
|
|
||||||
validate:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs:
|
|
||||||
- prepare
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
target: ${{ fromJson(needs.prepare.outputs.targets) }}
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: Validate
|
|
||||||
uses: docker/bake-action@v6
|
|
||||||
with:
|
|
||||||
targets: ${{ matrix.target }}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Customizing
|
|
||||||
|
|
||||||
### inputs
|
|
||||||
|
|
||||||
| Name | Type | Description |
|
|
||||||
|--------------|-------------|---------------------------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
| `workdir` | String | Working directory to use (defaults to `.`) |
|
|
||||||
| `files` | List/CSV | List of [bake definition files](https://docs.docker.com/build/customize/bake/file-definition/) |
|
|
||||||
| `target` | String | The target to use within the bake file |
|
|
||||||
|
|
||||||
### outputs
|
|
||||||
|
|
||||||
The following outputs are available
|
|
||||||
|
|
||||||
| Name | Type | Description |
|
|
||||||
|------------|----------|----------------------------|
|
|
||||||
| `targets` | List/CSV | List of extracted targest |
|
|
||||||
@@ -29,7 +29,7 @@ runs:
|
|||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
let def;
|
let def;
|
||||||
const files = `${{ inputs.files }}` ? `${{ inputs.files }}`.split(/[\r?\n,]+/).filter(Boolean) : [];
|
const files = `${{ inputs.files }}` ? `${{ inputs.files }}`.split(',') : [];
|
||||||
const target = `${{ inputs.target }}`;
|
const target = `${{ inputs.target }}`;
|
||||||
|
|
||||||
await core.group(`Validating definition`, async () => {
|
await core.group(`Validating definition`, async () => {
|
||||||
|
|||||||
@@ -42,8 +42,3 @@ target "app-proxy" {
|
|||||||
inherits = ["app"]
|
inherits = ["app"]
|
||||||
dockerfile = "proxy.Dockerfile"
|
dockerfile = "proxy.Dockerfile"
|
||||||
}
|
}
|
||||||
|
|
||||||
target "app-entitlements" {
|
|
||||||
inherits = ["app"]
|
|
||||||
entitlements = ["network.host"]
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
frOM busybox as base
|
|
||||||
cOpy lint-other.Dockerfile .
|
|
||||||
|
|
||||||
froM busybox aS notused
|
|
||||||
COPY lint-other.Dockerfile .
|
|
||||||
|
|
||||||
from scratch
|
|
||||||
COPy --from=base \
|
|
||||||
/lint-other.Dockerfile \
|
|
||||||
/
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
frOM busybox as base
|
|
||||||
cOpy lint.Dockerfile .
|
|
||||||
|
|
||||||
from scratch
|
|
||||||
MAINTAINER moby@example.com
|
|
||||||
COPy --from=base \
|
|
||||||
/lint.Dockerfile \
|
|
||||||
/
|
|
||||||
|
|
||||||
CMD [ "echo", "Hello, Norway!" ]
|
|
||||||
CMD [ "echo", "Hello, Sweden!" ]
|
|
||||||
ENTRYPOINT my-program start
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
group "default" {
|
|
||||||
targets = ["lint", "lint-other", "lint-inline"]
|
|
||||||
}
|
|
||||||
target "lint" {
|
|
||||||
dockerfile = "lint.Dockerfile"
|
|
||||||
}
|
|
||||||
target "lint-other" {
|
|
||||||
dockerfile = "lint-other.Dockerfile"
|
|
||||||
}
|
|
||||||
target "lint-inline" {
|
|
||||||
dockerfile-inline = "FRoM alpine\nENTRYPOINT [\"echo\", \"hello\"]"
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
group "default" {
|
|
||||||
targets = ["t3"]
|
|
||||||
}
|
|
||||||
|
|
||||||
target "t3" {
|
|
||||||
name = "${item.tag}"
|
|
||||||
matrix = {
|
|
||||||
item = t3
|
|
||||||
}
|
|
||||||
args = {
|
|
||||||
VERSION = "${item.version}"
|
|
||||||
DUMMY_ARG = "${item.arg}"
|
|
||||||
}
|
|
||||||
tags = ["${item.tag}"]
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"t3": [
|
|
||||||
{
|
|
||||||
"version": "v1",
|
|
||||||
"arg": "v1-value",
|
|
||||||
"tag": "v1-tag"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"version": "v2",
|
|
||||||
"arg": "v2-value",
|
|
||||||
"tag": "v2-tag"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -12,9 +12,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@actions/artifact@npm:^2.3.2":
|
"@actions/artifact@npm:^2.1.7":
|
||||||
version: 2.3.2
|
version: 2.1.7
|
||||||
resolution: "@actions/artifact@npm:2.3.2"
|
resolution: "@actions/artifact@npm:2.1.7"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@actions/core": ^1.10.0
|
"@actions/core": ^1.10.0
|
||||||
"@actions/github": ^5.1.1
|
"@actions/github": ^5.1.1
|
||||||
@@ -26,17 +26,19 @@ __metadata:
|
|||||||
"@octokit/request-error": ^5.0.0
|
"@octokit/request-error": ^5.0.0
|
||||||
"@protobuf-ts/plugin": ^2.2.3-alpha.1
|
"@protobuf-ts/plugin": ^2.2.3-alpha.1
|
||||||
archiver: ^7.0.1
|
archiver: ^7.0.1
|
||||||
|
crypto: ^1.0.1
|
||||||
jwt-decode: ^3.1.2
|
jwt-decode: ^3.1.2
|
||||||
|
twirp-ts: ^2.5.0
|
||||||
unzip-stream: ^0.3.1
|
unzip-stream: ^0.3.1
|
||||||
checksum: 78ee41b43800accb2f3527e1733217c43d53693e7f96ce2470b16890fb84f5c2ebaaa6048ccdb6cfe188b54c02779ec99623c6932558e757f6829cfde203cf2c
|
checksum: 346c7caf43bdeb4a96c044ca3a6a005d82b977178b1a6be2c6954dfd59fef3344d2576bdd07c6cac9b54207cc88d7b1161cabd08c7cc15a1db86bf82463b36c7
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@actions/cache@npm:^4.0.3":
|
"@actions/cache@npm:^3.2.4":
|
||||||
version: 4.0.3
|
version: 3.2.4
|
||||||
resolution: "@actions/cache@npm:4.0.3"
|
resolution: "@actions/cache@npm:3.2.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@actions/core": ^1.11.1
|
"@actions/core": ^1.10.0
|
||||||
"@actions/exec": ^1.0.1
|
"@actions/exec": ^1.0.1
|
||||||
"@actions/glob": ^0.1.0
|
"@actions/glob": ^0.1.0
|
||||||
"@actions/http-client": ^2.1.1
|
"@actions/http-client": ^2.1.1
|
||||||
@@ -44,13 +46,13 @@ __metadata:
|
|||||||
"@azure/abort-controller": ^1.1.0
|
"@azure/abort-controller": ^1.1.0
|
||||||
"@azure/ms-rest-js": ^2.6.0
|
"@azure/ms-rest-js": ^2.6.0
|
||||||
"@azure/storage-blob": ^12.13.0
|
"@azure/storage-blob": ^12.13.0
|
||||||
"@protobuf-ts/plugin": ^2.9.4
|
|
||||||
semver: ^6.3.1
|
semver: ^6.3.1
|
||||||
checksum: ee9c2a21a70bd3f35c63f302af478e23f135c26deb77ea2e4eed29c62766a4b201fc7435651c0d56fa504c02d203107e3bdfda1dba18a3ee09338e1dfc3f2fe8
|
uuid: ^3.3.3
|
||||||
|
checksum: 5bf5f7541bea4906b553440a9ffee5699e11dfb729365c6cb0bbd37e147a1a0993369fdad16bfa3e2b01ec7fa57dac66276278bfd4a389009246a75ea953e61d
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@actions/core@npm:^1.10.0, @actions/core@npm:^1.2.6":
|
"@actions/core@npm:^1.10.0, @actions/core@npm:^1.10.1, @actions/core@npm:^1.2.6":
|
||||||
version: 1.10.1
|
version: 1.10.1
|
||||||
resolution: "@actions/core@npm:1.10.1"
|
resolution: "@actions/core@npm:1.10.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -60,16 +62,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@actions/core@npm:^1.11.1":
|
|
||||||
version: 1.11.1
|
|
||||||
resolution: "@actions/core@npm:1.11.1"
|
|
||||||
dependencies:
|
|
||||||
"@actions/exec": ^1.1.1
|
|
||||||
"@actions/http-client": ^2.0.1
|
|
||||||
checksum: 9ac7a3e0b478bfefd862dcb4ddaa1d8c3f9076bb1931d3d280918d1749e7783480c6a009c1b009c8bf5093e2d77d9f4e023d70416145bf246f0071736d4ef839
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@actions/exec@npm:^1.0.0, @actions/exec@npm:^1.0.1, @actions/exec@npm:^1.1.1":
|
"@actions/exec@npm:^1.0.0, @actions/exec@npm:^1.0.1, @actions/exec@npm:^1.1.1":
|
||||||
version: 1.1.1
|
version: 1.1.1
|
||||||
resolution: "@actions/exec@npm:1.1.1"
|
resolution: "@actions/exec@npm:1.1.1"
|
||||||
@@ -113,7 +105,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@actions/http-client@npm:^2.0.1, @actions/http-client@npm:^2.1.0, @actions/http-client@npm:^2.1.1, @actions/http-client@npm:^2.2.0":
|
"@actions/http-client@npm:^2.0.1, @actions/http-client@npm:^2.1.0, @actions/http-client@npm:^2.1.1, @actions/http-client@npm:^2.2.0, @actions/http-client@npm:^2.2.1":
|
||||||
version: 2.2.1
|
version: 2.2.1
|
||||||
resolution: "@actions/http-client@npm:2.2.1"
|
resolution: "@actions/http-client@npm:2.2.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -123,16 +115,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@actions/http-client@npm:^2.2.3":
|
|
||||||
version: 2.2.3
|
|
||||||
resolution: "@actions/http-client@npm:2.2.3"
|
|
||||||
dependencies:
|
|
||||||
tunnel: ^0.0.6
|
|
||||||
undici: ^5.25.4
|
|
||||||
checksum: 5d395df575d30ae599efa10dd715e72944b015e753db61f0a823f737acbb0e99743d4a9f25e812b18ec8cc34f86c73565d075c449e01ffa891577b6595212dde
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@actions/io@npm:^1.0.1, @actions/io@npm:^1.1.1, @actions/io@npm:^1.1.3":
|
"@actions/io@npm:^1.0.1, @actions/io@npm:^1.1.1, @actions/io@npm:^1.1.3":
|
||||||
version: 1.1.3
|
version: 1.1.3
|
||||||
resolution: "@actions/io@npm:1.1.3"
|
resolution: "@actions/io@npm:1.1.3"
|
||||||
@@ -140,16 +122,17 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@actions/tool-cache@npm:^2.0.2":
|
"@actions/tool-cache@npm:^2.0.1":
|
||||||
version: 2.0.2
|
version: 2.0.1
|
||||||
resolution: "@actions/tool-cache@npm:2.0.2"
|
resolution: "@actions/tool-cache@npm:2.0.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@actions/core": ^1.11.1
|
"@actions/core": ^1.2.6
|
||||||
"@actions/exec": ^1.0.0
|
"@actions/exec": ^1.0.0
|
||||||
"@actions/http-client": ^2.0.1
|
"@actions/http-client": ^2.0.1
|
||||||
"@actions/io": ^1.1.1
|
"@actions/io": ^1.1.1
|
||||||
semver: ^6.1.0
|
semver: ^6.1.0
|
||||||
checksum: c2bab4297be752bdda9dd61f8159a201ad0d37d026134b960f1edcc9418a80387f44d1f24a070fe992c44dcfc28a152f70600e76669bb0578132789a6f37a596
|
uuid: ^3.3.2
|
||||||
|
checksum: 33f6393b9b163e4af2b9759e8d37cda4f018f10ddda3643355bb8a9f92d732e5bdff089cf8036b46d181e1ef2b3210b895b2f746fdf54487afe88f1d340aa9e1
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1065,32 +1048,29 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@docker/actions-toolkit@npm:^0.61.0":
|
"@docker/actions-toolkit@npm:^0.24.0":
|
||||||
version: 0.61.0
|
version: 0.24.0
|
||||||
resolution: "@docker/actions-toolkit@npm:0.61.0"
|
resolution: "@docker/actions-toolkit@npm:0.24.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@actions/artifact": ^2.3.2
|
"@actions/artifact": ^2.1.7
|
||||||
"@actions/cache": ^4.0.3
|
"@actions/cache": ^3.2.4
|
||||||
"@actions/core": ^1.11.1
|
"@actions/core": ^1.10.1
|
||||||
"@actions/exec": ^1.1.1
|
"@actions/exec": ^1.1.1
|
||||||
"@actions/github": ^6.0.0
|
"@actions/github": ^6.0.0
|
||||||
"@actions/http-client": ^2.2.3
|
"@actions/http-client": ^2.2.1
|
||||||
"@actions/io": ^1.1.3
|
"@actions/io": ^1.1.3
|
||||||
"@actions/tool-cache": ^2.0.2
|
"@actions/tool-cache": ^2.0.1
|
||||||
"@azure/storage-blob": ^12.15.0
|
"@azure/storage-blob": ^12.15.0
|
||||||
"@octokit/core": ^5.1.0
|
"@octokit/core": ^5.1.0
|
||||||
"@octokit/plugin-rest-endpoint-methods": ^10.4.0
|
"@octokit/plugin-rest-endpoint-methods": ^10.4.0
|
||||||
async-retry: ^1.3.3
|
async-retry: ^1.3.3
|
||||||
csv-parse: ^5.6.0
|
csv-parse: ^5.5.6
|
||||||
gunzip-maybe: ^1.4.2
|
|
||||||
handlebars: ^4.7.8
|
handlebars: ^4.7.8
|
||||||
he: ^1.2.0
|
|
||||||
js-yaml: ^4.1.0
|
js-yaml: ^4.1.0
|
||||||
jwt-decode: ^4.0.0
|
jwt-decode: ^4.0.0
|
||||||
semver: ^7.7.1
|
semver: ^7.6.2
|
||||||
tar-stream: ^3.1.7
|
|
||||||
tmp: ^0.2.3
|
tmp: ^0.2.3
|
||||||
checksum: 60cc6c8f5bde8221a3d6a40c15258d44a468950353098f1814d8af3a14131df9c41df5b87298cd82f5c77aa4e36e262c15a5bb0cc03ea2857bea18c9e0952d80
|
checksum: f9610ca263ba98bdf52736727b375930e2d20402e810c3d1d69b74fbe0a1c689ce4f04a1d02e058e9958a059c3bf01358d4428363bd02c702c05fda9e3fd82af
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1893,7 +1873,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@protobuf-ts/plugin-framework@npm:^2.9.4":
|
"@protobuf-ts/plugin-framework@npm:^2.0.7, @protobuf-ts/plugin-framework@npm:^2.9.4":
|
||||||
version: 2.9.4
|
version: 2.9.4
|
||||||
resolution: "@protobuf-ts/plugin-framework@npm:2.9.4"
|
resolution: "@protobuf-ts/plugin-framework@npm:2.9.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1903,7 +1883,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@protobuf-ts/plugin@npm:^2.2.3-alpha.1, @protobuf-ts/plugin@npm:^2.9.4":
|
"@protobuf-ts/plugin@npm:^2.2.3-alpha.1":
|
||||||
version: 2.9.4
|
version: 2.9.4
|
||||||
resolution: "@protobuf-ts/plugin@npm:2.9.4"
|
resolution: "@protobuf-ts/plugin@npm:2.9.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2657,20 +2637,11 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"braces@npm:^3.0.2":
|
"braces@npm:^3.0.2":
|
||||||
version: 3.0.3
|
version: 3.0.2
|
||||||
resolution: "braces@npm:3.0.3"
|
resolution: "braces@npm:3.0.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
fill-range: ^7.1.1
|
fill-range: ^7.0.1
|
||||||
checksum: b95aa0b3bd909f6cd1720ffcf031aeaf46154dd88b4da01f9a1d3f7ea866a79eba76a6d01cbc3c422b2ee5cdc39a4f02491058d5df0d7bf6e6a162a832df1f69
|
checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"browserify-zlib@npm:^0.1.4":
|
|
||||||
version: 0.1.4
|
|
||||||
resolution: "browserify-zlib@npm:0.1.4"
|
|
||||||
dependencies:
|
|
||||||
pako: ~0.2.0
|
|
||||||
checksum: abee4cb4349e8a21391fd874564f41b113fe691372913980e6fa06a777e4ea2aad4e942af14ab99bce190d5ac8f5328201432f4ef0eae48c6d02208bc212976f
|
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -2779,6 +2750,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"camel-case@npm:^4.1.2":
|
||||||
|
version: 4.1.2
|
||||||
|
resolution: "camel-case@npm:4.1.2"
|
||||||
|
dependencies:
|
||||||
|
pascal-case: ^3.1.2
|
||||||
|
tslib: ^2.0.3
|
||||||
|
checksum: bcbd25cd253b3cbc69be3f535750137dbf2beb70f093bdc575f73f800acc8443d34fd52ab8f0a2413c34f1e8203139ffc88428d8863e4dfe530cfb257a379ad6
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"camelcase@npm:^5.3.1":
|
"camelcase@npm:^5.3.1":
|
||||||
version: 5.3.1
|
version: 5.3.1
|
||||||
resolution: "camelcase@npm:5.3.1"
|
resolution: "camelcase@npm:5.3.1"
|
||||||
@@ -2938,6 +2919,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"commander@npm:^6.1.0":
|
||||||
|
version: 6.2.1
|
||||||
|
resolution: "commander@npm:6.2.1"
|
||||||
|
checksum: d7090410c0de6bc5c67d3ca41c41760d6d268f3c799e530aafb73b7437d1826bbf0d2a3edac33f8b57cc9887b4a986dce307fa5557e109be40eadb7c43b21742
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"compress-commons@npm:^6.0.2":
|
"compress-commons@npm:^6.0.2":
|
||||||
version: 6.0.2
|
version: 6.0.2
|
||||||
resolution: "compress-commons@npm:6.0.2"
|
resolution: "compress-commons@npm:6.0.2"
|
||||||
@@ -3025,20 +3013,27 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
|
"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
|
||||||
version: 7.0.6
|
version: 7.0.3
|
||||||
resolution: "cross-spawn@npm:7.0.6"
|
resolution: "cross-spawn@npm:7.0.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
path-key: ^3.1.0
|
path-key: ^3.1.0
|
||||||
shebang-command: ^2.0.0
|
shebang-command: ^2.0.0
|
||||||
which: ^2.0.1
|
which: ^2.0.1
|
||||||
checksum: 8d306efacaf6f3f60e0224c287664093fa9185680b2d195852ba9a863f85d02dcc737094c6e512175f8ee0161f9b87c73c6826034c2422e39de7d6569cf4503b
|
checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"csv-parse@npm:^5.6.0":
|
"crypto@npm:^1.0.1":
|
||||||
version: 5.6.0
|
version: 1.0.1
|
||||||
resolution: "csv-parse@npm:5.6.0"
|
resolution: "crypto@npm:1.0.1"
|
||||||
checksum: 173e176bdaf212bab37d0f6d39a06d039d24a1c0ee40b9f1023ebf8b36095934807deeb493c0fb58592b39b0682ccd0be5c9e8d2b137c08807e7031595ea7a51
|
checksum: 087fe3165bd94c333a49e6ed66a0193911f63eac38a24f379b3001a5fe260a59c413646e53a0f67875ba13902b2686d81dc703cb2c147a4ec727dcdc04e5645e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"csv-parse@npm:^5.5.6":
|
||||||
|
version: 5.5.6
|
||||||
|
resolution: "csv-parse@npm:5.5.6"
|
||||||
|
checksum: ee06f97f674487dc1d001b360de8ea510a41b9d971abf43bcf9c3be22c83a3634df0d3ebfbe52fd49d145077066be7ff9f25de3fc6b71aefb973099b04147a25
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -3140,8 +3135,8 @@ __metadata:
|
|||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "docker-buildx-bake@workspace:."
|
resolution: "docker-buildx-bake@workspace:."
|
||||||
dependencies:
|
dependencies:
|
||||||
"@actions/core": ^1.11.1
|
"@actions/core": ^1.10.1
|
||||||
"@docker/actions-toolkit": ^0.61.0
|
"@docker/actions-toolkit": ^0.24.0
|
||||||
"@types/node": ^20.12.12
|
"@types/node": ^20.12.12
|
||||||
"@typescript-eslint/eslint-plugin": ^7.9.0
|
"@typescript-eslint/eslint-plugin": ^7.9.0
|
||||||
"@typescript-eslint/parser": ^7.9.0
|
"@typescript-eslint/parser": ^7.9.0
|
||||||
@@ -3168,15 +3163,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"duplexify@npm:^3.5.0, duplexify@npm:^3.6.0":
|
"dot-object@npm:^2.1.4":
|
||||||
version: 3.7.1
|
version: 2.1.5
|
||||||
resolution: "duplexify@npm:3.7.1"
|
resolution: "dot-object@npm:2.1.5"
|
||||||
dependencies:
|
dependencies:
|
||||||
end-of-stream: ^1.0.0
|
commander: ^6.1.0
|
||||||
inherits: ^2.0.1
|
glob: ^7.1.6
|
||||||
readable-stream: ^2.0.0
|
bin:
|
||||||
stream-shift: ^1.0.0
|
dot-object: bin/dot-object
|
||||||
checksum: 3c2ed2223d956a5da713dae12ba8295acb61d9acd966ccbba938090d04f4574ca4dca75cca089b5077c2d7e66101f32e6ea9b36a78ca213eff574e7a8b8accf2
|
checksum: 3e5a681bbea32dfc1cd0b1254adc93531bd462f7474a355e981738ef37253e4bc5c9482926289ef4d3c6ef9adb0a7ed894725ed3a69aa22063343dc2a57dd764
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -3231,15 +3226,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0":
|
|
||||||
version: 1.4.4
|
|
||||||
resolution: "end-of-stream@npm:1.4.4"
|
|
||||||
dependencies:
|
|
||||||
once: ^1.4.0
|
|
||||||
checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"env-paths@npm:^2.2.0":
|
"env-paths@npm:^2.2.0":
|
||||||
version: 2.2.1
|
version: 2.2.1
|
||||||
resolution: "env-paths@npm:2.2.1"
|
resolution: "env-paths@npm:2.2.1"
|
||||||
@@ -3598,12 +3584,12 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"fill-range@npm:^7.1.1":
|
"fill-range@npm:^7.0.1":
|
||||||
version: 7.1.1
|
version: 7.0.1
|
||||||
resolution: "fill-range@npm:7.1.1"
|
resolution: "fill-range@npm:7.0.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
to-regex-range: ^5.0.1
|
to-regex-range: ^5.0.1
|
||||||
checksum: b4abfbca3839a3d55e4ae5ec62e131e2e356bf4859ce8480c64c4876100f4df292a63e5bb1618e1d7460282ca2b305653064f01654474aa35c68000980f17798
|
checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -3799,7 +3785,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"glob@npm:^7.1.3":
|
"glob@npm:^7.1.3, glob@npm:^7.1.6":
|
||||||
version: 7.2.3
|
version: 7.2.3
|
||||||
resolution: "glob@npm:7.2.3"
|
resolution: "glob@npm:7.2.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -3871,22 +3857,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"gunzip-maybe@npm:^1.4.2":
|
|
||||||
version: 1.4.2
|
|
||||||
resolution: "gunzip-maybe@npm:1.4.2"
|
|
||||||
dependencies:
|
|
||||||
browserify-zlib: ^0.1.4
|
|
||||||
is-deflate: ^1.0.0
|
|
||||||
is-gzip: ^1.0.0
|
|
||||||
peek-stream: ^1.1.0
|
|
||||||
pumpify: ^1.3.3
|
|
||||||
through2: ^2.0.3
|
|
||||||
bin:
|
|
||||||
gunzip-maybe: bin.js
|
|
||||||
checksum: bc4d4977c24a2860238df271de75d53dd72a359d19f1248d1c613807dc221d3b8ae09624e3085c8106663e3e1b59db62a85b261d1138c2cc24efad9df577d4e1
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"handlebars@npm:^4.7.8":
|
"handlebars@npm:^4.7.8":
|
||||||
version: 4.7.8
|
version: 4.7.8
|
||||||
resolution: "handlebars@npm:4.7.8"
|
resolution: "handlebars@npm:4.7.8"
|
||||||
@@ -3928,15 +3898,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"he@npm:^1.2.0":
|
|
||||||
version: 1.2.0
|
|
||||||
resolution: "he@npm:1.2.0"
|
|
||||||
bin:
|
|
||||||
he: bin/he
|
|
||||||
checksum: 3d4d6babccccd79c5c5a3f929a68af33360d6445587d628087f39a965079d84f18ce9c3d3f917ee1e3978916fc833bb8b29377c3b403f919426f91bc6965e7a7
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"html-escaper@npm:^2.0.0":
|
"html-escaper@npm:^2.0.0":
|
||||||
version: 2.0.2
|
version: 2.0.2
|
||||||
resolution: "html-escaper@npm:2.0.2"
|
resolution: "html-escaper@npm:2.0.2"
|
||||||
@@ -4054,7 +4015,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.3":
|
"inherits@npm:2, inherits@npm:~2.0.3":
|
||||||
version: 2.0.4
|
version: 2.0.4
|
||||||
resolution: "inherits@npm:2.0.4"
|
resolution: "inherits@npm:2.0.4"
|
||||||
checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1
|
checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1
|
||||||
@@ -4087,13 +4048,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"is-deflate@npm:^1.0.0":
|
|
||||||
version: 1.0.0
|
|
||||||
resolution: "is-deflate@npm:1.0.0"
|
|
||||||
checksum: c2f9f2d3db79ac50c5586697d1e69a55282a2b0cc5e437b3c470dd47f24e40b6216dcd7e024511e21381607bf57afa019343e3bd0e08a119032818b596004262
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"is-extglob@npm:^2.1.1":
|
"is-extglob@npm:^2.1.1":
|
||||||
version: 2.1.1
|
version: 2.1.1
|
||||||
resolution: "is-extglob@npm:2.1.1"
|
resolution: "is-extglob@npm:2.1.1"
|
||||||
@@ -4124,13 +4078,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"is-gzip@npm:^1.0.0":
|
|
||||||
version: 1.0.0
|
|
||||||
resolution: "is-gzip@npm:1.0.0"
|
|
||||||
checksum: 0d28931c1f445fa29c900cf9f48e06e9d1d477a3bf7bd7332e7ce68f1333ccd8cb381de2f0f62a9a262d9c0912608a9a71b4a40e788e201b3dbd67072bb20d86
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"is-lambda@npm:^1.0.1":
|
"is-lambda@npm:^1.0.1":
|
||||||
version: 1.0.1
|
version: 1.0.1
|
||||||
resolution: "is-lambda@npm:1.0.1"
|
resolution: "is-lambda@npm:1.0.1"
|
||||||
@@ -4901,6 +4848,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"lower-case@npm:^2.0.2":
|
||||||
|
version: 2.0.2
|
||||||
|
resolution: "lower-case@npm:2.0.2"
|
||||||
|
dependencies:
|
||||||
|
tslib: ^2.0.3
|
||||||
|
checksum: 83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
|
"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
|
||||||
version: 10.2.1
|
version: 10.2.1
|
||||||
resolution: "lru-cache@npm:10.2.1"
|
resolution: "lru-cache@npm:10.2.1"
|
||||||
@@ -5183,6 +5139,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"no-case@npm:^3.0.4":
|
||||||
|
version: 3.0.4
|
||||||
|
resolution: "no-case@npm:3.0.4"
|
||||||
|
dependencies:
|
||||||
|
lower-case: ^2.0.2
|
||||||
|
tslib: ^2.0.3
|
||||||
|
checksum: 0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"node-fetch@npm:^2.6.7":
|
"node-fetch@npm:^2.6.7":
|
||||||
version: 2.6.9
|
version: 2.6.9
|
||||||
resolution: "node-fetch@npm:2.6.9"
|
resolution: "node-fetch@npm:2.6.9"
|
||||||
@@ -5265,7 +5231,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0":
|
"once@npm:^1.3.0, once@npm:^1.4.0":
|
||||||
version: 1.4.0
|
version: 1.4.0
|
||||||
resolution: "once@npm:1.4.0"
|
resolution: "once@npm:1.4.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -5349,13 +5315,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"pako@npm:~0.2.0":
|
|
||||||
version: 0.2.9
|
|
||||||
resolution: "pako@npm:0.2.9"
|
|
||||||
checksum: 055f9487cd57fbb78df84315873bbdd089ba286f3499daed47d2effdc6253e981f5db6898c23486de76d4a781559f890d643bd3a49f70f1b4a18019c98aa5125
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"parent-module@npm:^1.0.0":
|
"parent-module@npm:^1.0.0":
|
||||||
version: 1.0.1
|
version: 1.0.1
|
||||||
resolution: "parent-module@npm:1.0.1"
|
resolution: "parent-module@npm:1.0.1"
|
||||||
@@ -5377,6 +5336,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"pascal-case@npm:^3.1.2":
|
||||||
|
version: 3.1.2
|
||||||
|
resolution: "pascal-case@npm:3.1.2"
|
||||||
|
dependencies:
|
||||||
|
no-case: ^3.0.4
|
||||||
|
tslib: ^2.0.3
|
||||||
|
checksum: ba98bfd595fc91ef3d30f4243b1aee2f6ec41c53b4546bfa3039487c367abaa182471dcfc830a1f9e1a0df00c14a370514fa2b3a1aacc68b15a460c31116873e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"path-exists@npm:^4.0.0":
|
"path-exists@npm:^4.0.0":
|
||||||
version: 4.0.0
|
version: 4.0.0
|
||||||
resolution: "path-exists@npm:4.0.0"
|
resolution: "path-exists@npm:4.0.0"
|
||||||
@@ -5415,6 +5384,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"path-to-regexp@npm:^6.2.0":
|
||||||
|
version: 6.2.2
|
||||||
|
resolution: "path-to-regexp@npm:6.2.2"
|
||||||
|
checksum: b7b0005c36f5099f9ed1fb20a820d2e4ed1297ffe683ea1d678f5e976eb9544f01debb281369dabdc26da82e6453901bf71acf2c7ed14b9243536c2a45286c33
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"path-type@npm:^4.0.0":
|
"path-type@npm:^4.0.0":
|
||||||
version: 4.0.0
|
version: 4.0.0
|
||||||
resolution: "path-type@npm:4.0.0"
|
resolution: "path-type@npm:4.0.0"
|
||||||
@@ -5422,17 +5398,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"peek-stream@npm:^1.1.0":
|
|
||||||
version: 1.1.3
|
|
||||||
resolution: "peek-stream@npm:1.1.3"
|
|
||||||
dependencies:
|
|
||||||
buffer-from: ^1.0.0
|
|
||||||
duplexify: ^3.5.0
|
|
||||||
through2: ^2.0.3
|
|
||||||
checksum: a0e09d6d1a8a01158a3334f20d6b1cdd91747eba24eb06a1d742eefb620385593121a76d4378cc81f77cdce6a66df0575a41041b1189c510254aec91878afc99
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"picocolors@npm:^1.0.0":
|
"picocolors@npm:^1.0.0":
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
resolution: "picocolors@npm:1.0.0"
|
resolution: "picocolors@npm:1.0.0"
|
||||||
@@ -5486,6 +5451,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"prettier@npm:^2.5.1":
|
||||||
|
version: 2.8.8
|
||||||
|
resolution: "prettier@npm:2.8.8"
|
||||||
|
bin:
|
||||||
|
prettier: bin-prettier.js
|
||||||
|
checksum: b49e409431bf129dd89238d64299ba80717b57ff5a6d1c1a8b1a28b590d998a34e083fa13573bc732bb8d2305becb4c9a4407f8486c81fa7d55100eb08263cf8
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"prettier@npm:^3.2.5":
|
"prettier@npm:^3.2.5":
|
||||||
version: 3.2.5
|
version: 3.2.5
|
||||||
resolution: "prettier@npm:3.2.5"
|
resolution: "prettier@npm:3.2.5"
|
||||||
@@ -5547,27 +5521,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"pump@npm:^2.0.0":
|
|
||||||
version: 2.0.1
|
|
||||||
resolution: "pump@npm:2.0.1"
|
|
||||||
dependencies:
|
|
||||||
end-of-stream: ^1.1.0
|
|
||||||
once: ^1.3.1
|
|
||||||
checksum: e9f26a17be00810bff37ad0171edb35f58b242487b0444f92fb7d78bc7d61442fa9b9c5bd93a43fd8fd8ddd3cc75f1221f5e04c790f42907e5baab7cf5e2b931
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"pumpify@npm:^1.3.3":
|
|
||||||
version: 1.5.1
|
|
||||||
resolution: "pumpify@npm:1.5.1"
|
|
||||||
dependencies:
|
|
||||||
duplexify: ^3.6.0
|
|
||||||
inherits: ^2.0.3
|
|
||||||
pump: ^2.0.0
|
|
||||||
checksum: 26ca412ec8d665bd0d5e185c1b8f627728eff603440d75d22a58e421e3c66eaf86ec6fc6a6efc54808ecef65979279fa8e99b109a23ec1fa8d79f37e6978c9bd
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"punycode@npm:^2.1.0":
|
"punycode@npm:^2.1.0":
|
||||||
version: 2.3.0
|
version: 2.3.0
|
||||||
resolution: "punycode@npm:2.3.0"
|
resolution: "punycode@npm:2.3.0"
|
||||||
@@ -5603,7 +5556,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.5, readable-stream@npm:~2.3.6":
|
"readable-stream@npm:^2.0.5":
|
||||||
version: 2.3.8
|
version: 2.3.8
|
||||||
resolution: "readable-stream@npm:2.3.8"
|
resolution: "readable-stream@npm:2.3.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -5792,7 +5745,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"semver@npm:^7.6.0":
|
"semver@npm:^7.6.0, semver@npm:^7.6.2":
|
||||||
version: 7.6.2
|
version: 7.6.2
|
||||||
resolution: "semver@npm:7.6.2"
|
resolution: "semver@npm:7.6.2"
|
||||||
bin:
|
bin:
|
||||||
@@ -5801,15 +5754,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"semver@npm:^7.7.1":
|
|
||||||
version: 7.7.1
|
|
||||||
resolution: "semver@npm:7.7.1"
|
|
||||||
bin:
|
|
||||||
semver: bin/semver.js
|
|
||||||
checksum: 586b825d36874007c9382d9e1ad8f93888d8670040add24a28e06a910aeebd673a2eb9e3bf169c6679d9245e66efb9057e0852e70d9daa6c27372aab1dda7104
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"shebang-command@npm:^2.0.0":
|
"shebang-command@npm:^2.0.0":
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
resolution: "shebang-command@npm:2.0.0"
|
resolution: "shebang-command@npm:2.0.0"
|
||||||
@@ -5938,13 +5882,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"stream-shift@npm:^1.0.0":
|
|
||||||
version: 1.0.3
|
|
||||||
resolution: "stream-shift@npm:1.0.3"
|
|
||||||
checksum: a24c0a3f66a8f9024bd1d579a533a53be283b4475d4e6b4b3211b964031447bdf6532dd1f3c2b0ad66752554391b7c62bd7ca4559193381f766534e723d50242
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"streamx@npm:^2.15.0":
|
"streamx@npm:^2.15.0":
|
||||||
version: 2.16.1
|
version: 2.16.1
|
||||||
resolution: "streamx@npm:2.16.1"
|
resolution: "streamx@npm:2.16.1"
|
||||||
@@ -6112,7 +6049,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"tar-stream@npm:^3.0.0, tar-stream@npm:^3.1.7":
|
"tar-stream@npm:^3.0.0":
|
||||||
version: 3.1.7
|
version: 3.1.7
|
||||||
resolution: "tar-stream@npm:3.1.7"
|
resolution: "tar-stream@npm:3.1.7"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -6155,16 +6092,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"through2@npm:^2.0.3":
|
|
||||||
version: 2.0.5
|
|
||||||
resolution: "through2@npm:2.0.5"
|
|
||||||
dependencies:
|
|
||||||
readable-stream: ~2.3.6
|
|
||||||
xtend: ~4.0.1
|
|
||||||
checksum: beb0f338aa2931e5660ec7bf3ad949e6d2e068c31f4737b9525e5201b824ac40cac6a337224856b56bd1ddd866334bbfb92a9f57cd6f66bc3f18d3d86fc0fe50
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"tmp@npm:^0.2.3":
|
"tmp@npm:^0.2.3":
|
||||||
version: 0.2.3
|
version: 0.2.3
|
||||||
resolution: "tmp@npm:0.2.3"
|
resolution: "tmp@npm:0.2.3"
|
||||||
@@ -6289,6 +6216,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"ts-poet@npm:^4.5.0":
|
||||||
|
version: 4.15.0
|
||||||
|
resolution: "ts-poet@npm:4.15.0"
|
||||||
|
dependencies:
|
||||||
|
lodash: ^4.17.15
|
||||||
|
prettier: ^2.5.1
|
||||||
|
checksum: 93490e8b5921e23ac65afdecc00b4dd53f3560d7d9c19778a3f0bd9a300ba7ca71585a989d564508313bc73e8c431413714d513ebca2d5c428f909ec36bcf6e9
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"tslib@npm:^1.10.0":
|
"tslib@npm:^1.10.0":
|
||||||
version: 1.14.1
|
version: 1.14.1
|
||||||
resolution: "tslib@npm:1.14.1"
|
resolution: "tslib@npm:1.14.1"
|
||||||
@@ -6296,7 +6233,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"tslib@npm:^2.2.0, tslib@npm:^2.6.2":
|
"tslib@npm:^2.0.3, tslib@npm:^2.2.0, tslib@npm:^2.6.2":
|
||||||
version: 2.6.2
|
version: 2.6.2
|
||||||
resolution: "tslib@npm:2.6.2"
|
resolution: "tslib@npm:2.6.2"
|
||||||
checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad
|
checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad
|
||||||
@@ -6310,6 +6247,30 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"twirp-ts@npm:^2.5.0":
|
||||||
|
version: 2.5.0
|
||||||
|
resolution: "twirp-ts@npm:2.5.0"
|
||||||
|
dependencies:
|
||||||
|
"@protobuf-ts/plugin-framework": ^2.0.7
|
||||||
|
camel-case: ^4.1.2
|
||||||
|
dot-object: ^2.1.4
|
||||||
|
path-to-regexp: ^6.2.0
|
||||||
|
ts-poet: ^4.5.0
|
||||||
|
yaml: ^1.10.2
|
||||||
|
peerDependencies:
|
||||||
|
"@protobuf-ts/plugin": ^2.5.0
|
||||||
|
ts-proto: ^1.81.3
|
||||||
|
peerDependenciesMeta:
|
||||||
|
"@protobuf-ts/plugin":
|
||||||
|
optional: true
|
||||||
|
ts-proto:
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
protoc-gen-twirp_ts: protoc-gen-twirp_ts
|
||||||
|
checksum: e7cf87d77ab4d2cd327c9d8307e82ff61afc5af56883aed5fb6ac7d57999b646945e11158be87c10f0340aeef2efde6eb896f2efd60599498f17b4f310d66e4f
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
|
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
|
||||||
version: 0.4.0
|
version: 0.4.0
|
||||||
resolution: "type-check@npm:0.4.0"
|
resolution: "type-check@npm:0.4.0"
|
||||||
@@ -6470,6 +6431,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"uuid@npm:^3.3.2, uuid@npm:^3.3.3":
|
||||||
|
version: 3.4.0
|
||||||
|
resolution: "uuid@npm:3.4.0"
|
||||||
|
bin:
|
||||||
|
uuid: ./bin/uuid
|
||||||
|
checksum: 58de2feed61c59060b40f8203c0e4ed7fd6f99d42534a499f1741218a1dd0c129f4aa1de797bcf822c8ea5da7e4137aa3673431a96dae729047f7aca7b27866f
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"uuid@npm:^8.3.0, uuid@npm:^8.3.2":
|
"uuid@npm:^8.3.0, uuid@npm:^8.3.2":
|
||||||
version: 8.3.2
|
version: 8.3.2
|
||||||
resolution: "uuid@npm:8.3.2"
|
resolution: "uuid@npm:8.3.2"
|
||||||
@@ -6608,13 +6578,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"xtend@npm:~4.0.1":
|
|
||||||
version: 4.0.2
|
|
||||||
resolution: "xtend@npm:4.0.2"
|
|
||||||
checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"y18n@npm:^5.0.5":
|
"y18n@npm:^5.0.5":
|
||||||
version: 5.0.8
|
version: 5.0.8
|
||||||
resolution: "y18n@npm:5.0.8"
|
resolution: "y18n@npm:5.0.8"
|
||||||
@@ -6636,6 +6599,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"yaml@npm:^1.10.2":
|
||||||
|
version: 1.10.2
|
||||||
|
resolution: "yaml@npm:1.10.2"
|
||||||
|
checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1":
|
"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1":
|
||||||
version: 21.1.1
|
version: 21.1.1
|
||||||
resolution: "yargs-parser@npm:21.1.1"
|
resolution: "yargs-parser@npm:21.1.1"
|
||||||
|
|||||||
Reference in New Issue
Block a user