Compare commits

...

17 Commits

Author SHA1 Message Date
CrazyMax
b732db2937 Merge pull request #809 from crazy-max/git-query-url
Some checks failed
publish / publish (push) Has been cancelled
build: git context query format support
2026-03-09 17:26:11 +01:00
CrazyMax
8696544f14 Merge pull request #1013 from crazy-max/imagetools-silent
buildx(imagetools): add skip support and configurable create command silence
2026-03-09 11:32:54 +01:00
CrazyMax
d92ed04680 buildx(imagetools): add skip support and configurable create command silence
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-09 11:17:55 +01:00
CrazyMax
3bb4ae38ea build: git context query format support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-09 10:47:48 +01:00
CrazyMax
09c0f6a78e Merge pull request #1009 from crazy-max/imagetools-create
Some checks failed
publish / publish (push) Has been cancelled
buildx(imagetools): implement create func with metadata parsing
2026-03-06 09:37:07 +01:00
CrazyMax
3c25c1eed2 Merge pull request #1011 from docker/dependabot/github_actions/docker/setup-buildx-action-4
build(deps): bump docker/setup-buildx-action from 3 to 4
2026-03-06 09:36:29 +01:00
CrazyMax
ee671ae33e Merge pull request #1010 from docker/dependabot/github_actions/docker/bake-action-7
build(deps): bump docker/bake-action from 6 to 7
2026-03-06 09:36:05 +01:00
CrazyMax
960acb25ae ci: switch to matrix subaction
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-06 09:28:21 +01:00
CrazyMax
1ff078d955 Merge pull request #1012 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2026-03-06 09:22:38 +01:00
crazy-max
abe7883e9a github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-06 00:46:27 +00:00
dependabot[bot]
c16b4fdf35 build(deps): bump docker/setup-buildx-action from 3 to 4
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 23:04:37 +00:00
dependabot[bot]
211c9b2312 build(deps): bump docker/bake-action from 6 to 7
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6 to 7.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 23:04:32 +00:00
CrazyMax
a30e0f51eb Merge pull request #1007 from crazy-max/buildkit-0.28.0
update buildkit to 0.28.0 and buildx to 0.32.1
2026-03-05 14:51:09 +01:00
CrazyMax
61c3c53dbf update buildkit to 0.28.0 and buildx to 0.32.1
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 14:36:36 +01:00
CrazyMax
91a5724116 buildx(imagetools): implement create func with metadata parsing
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 13:42:21 +01:00
Tõnis Tiigi
9998df7a3d Merge pull request #1008 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2026-03-04 12:39:44 -08:00
tonistiigi
3d448bd483 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-04 20:39:03 +00:00
17 changed files with 630 additions and 228 deletions

View File

@@ -1,76 +1,150 @@
{
"latest": {
"id": 292739715,
"tag_name": "v0.32.0",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.32.0",
"id": 293153745,
"tag_name": "v0.32.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.32.1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v6.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v7.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-ppc64le.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-riscv64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-s390x.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/checksums.txt"
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/checksums.txt"
]
},
"v0.32.1": {
"id": 293153745,
"tag_name": "v0.32.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.32.1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/checksums.txt"
]
},
"v0.32.0": {
@@ -148,77 +222,77 @@
]
},
"edge": {
"id": 292739715,
"tag_name": "v0.32.0",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.32.0",
"id": 293153745,
"tag_name": "v0.32.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.32.1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.freebsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v6.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm-v7.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-ppc64le.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-riscv64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.linux-s390x.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.netbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.openbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/buildx-v0.32.0.windows-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.0/checksums.txt"
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.freebsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v6.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm-v7.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-ppc64le.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-riscv64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.linux-s390x.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.netbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.openbsd-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-amd64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/buildx-v0.32.1.windows-arm64.sigstore.json",
"https://github.com/docker/buildx/releases/download/v0.32.1/checksums.txt"
]
},
"v0.32.0-rc2": {

View File

@@ -1,14 +1,20 @@
{
"latest": {
"id": 282275652,
"tag_name": "docker-v29.2.1",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.2.1",
"id": 293527283,
"tag_name": "docker-v29.3.0",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.3.0",
"assets": []
},
"v29.3.0": {
"id": 293527283,
"tag_name": "docker-v29.3.0",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.3.0",
"assets": []
},
"edge": {
"id": 291481223,
"tag_name": "docker-v29.3.0-rc.1",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.3.0-rc.1",
"id": 293527283,
"tag_name": "docker-v29.3.0",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.3.0",
"assets": []
},
"v29.3.0-rc.1": {

View File

@@ -24,7 +24,7 @@ jobs:
steps:
-
name: Build
uses: docker/bake-action@v6
uses: docker/bake-action@v7
with:
targets: build
env:

View File

@@ -15,8 +15,8 @@ on:
env:
NODE_VERSION: "24"
BUILDX_VERSION: "v0.32.0-rc2"
BUILDKIT_IMAGE: "moby/buildkit:v0.28.0-rc2"
BUILDX_VERSION: "v0.32.1"
BUILDKIT_IMAGE: "moby/buildkit:v0.28.0"
jobs:
test:
@@ -36,7 +36,7 @@ jobs:
uses: actions/checkout@v6
-
name: Test
uses: docker/bake-action@v6
uses: docker/bake-action@v7
with:
source: .
targets: test-coverage
@@ -179,7 +179,7 @@ jobs:
-
name: Set up Docker Buildx
if: startsWith(matrix.os, 'ubuntu')
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
@@ -187,7 +187,7 @@ jobs:
name: Set up container builder
if: startsWith(matrix.os, 'ubuntu')
id: builder
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
with:
version: ${{ env.BUILDX_VERSION }}
driver-opts: image=${{ env.BUILDKIT_IMAGE }}

View File

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

View File

@@ -22,6 +22,9 @@ import * as rimraf from 'rimraf';
import {Context} from '../../src/context.js';
import {Build} from '../../src/buildx/build.js';
import {Buildx} from '../../src/buildx/buildx.js';
import {GitContextFormat} from '../../src/types/buildx/build.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-build-'));
@@ -41,6 +44,66 @@ afterEach(() => {
rimraf.sync(tmpDir);
});
describe('gitContext', () => {
const originalEnv = process.env;
beforeEach(() => {
vi.resetModules();
process.env = {
...originalEnv,
DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF: '',
BUILDX_SEND_GIT_QUERY_AS_INPUT: ''
};
});
afterEach(() => {
process.env = originalEnv;
});
type GitContextTestCase = {
ref: string;
format: GitContextFormat | undefined;
prHeadRef: boolean;
sendGitQueryAsInput: boolean;
buildxQuerySupport: boolean;
};
// prettier-ignore
const gitContextCases: [GitContextTestCase, string][] = [
// no format set (defaults to fragment)
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/pull/15/merge', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/merge'],
[{ref: 'refs/tags/v1.0.0', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/pull/15/merge', format: undefined, prHeadRef: true, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/head'],
// no format set (defaults to query only when client-side query resolution is enabled and supported)
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: true, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/pull/15/merge', format: undefined, prHeadRef: false, sendGitQueryAsInput: true, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/merge&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/pull/15/merge', format: undefined, prHeadRef: true, sendGitQueryAsInput: true, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/head&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: true, buildxQuerySupport: false}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
// query format
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/pull/15/merge', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/merge&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/tags/v1.0.0', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/tags/v1.0.0&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/pull/15/merge', format: 'query', prHeadRef: true, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/head&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
// fragment format
[{ref: 'refs/heads/master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/pull/15/merge', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/merge'],
[{ref: 'refs/tags/v1.0.0', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
[{ref: 'refs/pull/15/merge', format: 'fragment', prHeadRef: true, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/head'],
];
test.each(gitContextCases)('given %o should return %o', async (input: GitContextTestCase, expected: string) => {
const {ref, format, prHeadRef, sendGitQueryAsInput, buildxQuerySupport} = input;
process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF = prHeadRef ? 'true' : '';
process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT = sendGitQueryAsInput ? 'true' : '';
const buildx = new Buildx();
vi.spyOn(buildx, 'versionSatisfies').mockResolvedValue(buildxQuerySupport);
const build = new Build({buildx});
expect(await build.gitContext(ref, '860c1904a1ce19322e91ac35af1ab07466440c37', format)).toEqual(expected);
});
});
describe('resolveImageID', () => {
it('matches', async () => {
const imageID = 'sha256:bfb45ab72e46908183546477a08f8867fc40cebadd00af54b071b097aed127a9';

View File

@@ -94,3 +94,14 @@ maybe('attestationDigests', () => {
expect(digests).toEqual(['sha256:0709528fae1747ce17638ad2978ee7936b38a294136eaadaf692e415f64b1e03']);
});
});
maybe('create', () => {
it('skips create command execution when skipExec is set', async () => {
const result = await new ImageTools().create({
sources: ['sha256:0709528fae1747ce17638ad2978ee7936b38a294136eaadaf692e415f64b1e03'],
tags: ['docker.io/user/app', 'docker.io/user/app2'],
skipExec: true
});
expect(result).toBeUndefined();
});
});

View File

@@ -0,0 +1,141 @@
/**
* Copyright 2026 actions-toolkit authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {afterEach, describe, expect, it, vi} from 'vitest';
import fs from 'fs';
import os from 'os';
import path from 'path';
import * as rimraf from 'rimraf';
import {Buildx} from '../../src/buildx/buildx.js';
import {ImageTools} from '../../src/buildx/imagetools.js';
import {Context} from '../../src/context.js';
import {Exec} from '../../src/exec.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-imagetools-'));
const metadataFile = path.join(tmpDir, 'imagetools-metadata.json');
vi.spyOn(Context, 'tmpDir').mockImplementation((): string => {
fs.mkdirSync(tmpDir, {recursive: true});
return tmpDir;
});
vi.spyOn(Context, 'tmpName').mockImplementation((): string => {
return metadataFile;
});
afterEach(() => {
vi.clearAllMocks();
rimraf.sync(tmpDir);
});
describe('create', () => {
it('parses metadata and supports cwd sources', async () => {
const getCommand = vi.fn().mockResolvedValue({
command: 'docker',
args: ['buildx', 'imagetools', 'create']
});
const buildx = {getCommand} as unknown as Buildx;
fs.writeFileSync(
metadataFile,
JSON.stringify({
'containerimage.descriptor': {
mediaType: 'application/vnd.oci.image.index.v1+json',
digest: 'sha256:19ffeab6f8bc9293ac2c3fdf94ebe28396254c993aea0b5a542cfb02e0883fa3',
size: 4654
},
'image.name': 'docker.io/user/app,docker.io/user/app2'
})
);
const execSpy = vi.spyOn(Exec, 'getExecOutput').mockResolvedValue({
exitCode: 0,
stdout: '',
stderr: ''
});
const result = await new ImageTools({buildx}).create({
sources: ['cwd://descriptor.json', 'docker.io/library/alpine:latest'],
tags: ['docker.io/user/app:latest'],
silent: true
});
expect(getCommand).toHaveBeenCalledWith(['imagetools', 'create', '--tag', 'docker.io/user/app:latest', '--metadata-file', metadataFile, '--file', 'descriptor.json', 'docker.io/library/alpine:latest']);
expect(execSpy).toHaveBeenCalledWith('docker', ['buildx', 'imagetools', 'create'], {
ignoreReturnCode: true,
silent: true
});
expect(result).toEqual({
digest: 'sha256:19ffeab6f8bc9293ac2c3fdf94ebe28396254c993aea0b5a542cfb02e0883fa3',
descriptor: {
mediaType: 'application/vnd.oci.image.index.v1+json',
digest: 'sha256:19ffeab6f8bc9293ac2c3fdf94ebe28396254c993aea0b5a542cfb02e0883fa3',
size: 4654
},
imageNames: ['docker.io/user/app', 'docker.io/user/app2']
});
});
it('does not parse metadata in dry-run mode', async () => {
const getCommand = vi.fn().mockResolvedValue({
command: 'docker',
args: ['buildx', 'imagetools', 'create']
});
const buildx = {getCommand} as unknown as Buildx;
const execSpy = vi.spyOn(Exec, 'getExecOutput').mockResolvedValue({
exitCode: 0,
stdout: '',
stderr: ''
});
const result = await new ImageTools({buildx}).create({
sources: ['docker.io/library/alpine:latest'],
dryRun: true,
silent: true
});
expect(getCommand).toHaveBeenCalledWith(['imagetools', 'create', '--dry-run', 'docker.io/library/alpine:latest']);
expect(execSpy).toHaveBeenCalledWith('docker', ['buildx', 'imagetools', 'create'], {
ignoreReturnCode: true,
silent: true
});
expect(result).toBeUndefined();
});
it('skips command execution when skipExec is enabled', async () => {
const getCommand = vi.fn().mockResolvedValue({
command: 'docker',
args: ['buildx', 'imagetools', 'create']
});
const buildx = {getCommand} as unknown as Buildx;
const execSpy = vi.spyOn(Exec, 'getExecOutput').mockResolvedValue({
exitCode: 0,
stdout: '',
stderr: ''
});
const result = await new ImageTools({buildx}).create({
sources: ['docker.io/library/alpine:latest'],
skipExec: true
});
expect(getCommand).toHaveBeenCalledWith(['imagetools', 'create', '--metadata-file', metadataFile, 'docker.io/library/alpine:latest']);
expect(execSpy).not.toHaveBeenCalled();
expect(result).toBeUndefined();
});
});

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
import {describe, expect, vi, it, afterEach, beforeEach, test} from 'vitest';
import {describe, expect, it, afterEach} from 'vitest';
import fs from 'fs';
import os from 'os';
import path from 'path';
@@ -23,57 +23,35 @@ import * as rimraf from 'rimraf';
import {Context} from '../src/context.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'context-'));
const tmpName = path.join(tmpDir, '.tmpname-vi');
vi.spyOn(Context, 'tmpDir').mockImplementation((): string => {
fs.mkdirSync(tmpDir, {recursive: true});
return tmpDir;
});
vi.spyOn(Context, 'tmpName').mockImplementation((): string => {
return tmpName;
});
afterEach(() => {
rimraf.sync(tmpDir);
fs.mkdirSync(tmpDir, {recursive: true});
});
describe('gitRef', () => {
it('returns refs/heads/master', async () => {
expect(Context.gitRef()).toEqual('refs/heads/master');
describe('tmpDir', () => {
it('returns an existing directory and keeps it stable', () => {
const dir = Context.tmpDir();
expect(fs.existsSync(dir)).toBe(true);
expect(fs.statSync(dir).isDirectory()).toBe(true);
expect(Context.tmpDir()).toEqual(dir);
});
});
describe('parseGitRef', () => {
const originalEnv = process.env;
beforeEach(() => {
vi.resetModules();
process.env = {
...originalEnv,
DOCKER_GIT_CONTEXT_PR_HEAD_REF: ''
};
describe('tmpName', () => {
it('returns a path for the provided tmpdir and template', () => {
const name = Context.tmpName({
tmpdir: tmpDir,
template: '.tmpname-XXXXXX'
});
expect(path.dirname(name)).toEqual(tmpDir);
expect(path.basename(name)).toMatch(/^\.tmpname-/);
expect(fs.existsSync(name)).toBe(false);
});
afterEach(() => {
process.env = originalEnv;
});
// prettier-ignore
test.each([
['refs/heads/master', '860c1904a1ce19322e91ac35af1ab07466440c37', false, '860c1904a1ce19322e91ac35af1ab07466440c37'],
['master', '860c1904a1ce19322e91ac35af1ab07466440c37', false, '860c1904a1ce19322e91ac35af1ab07466440c37'],
['refs/pull/15/merge', '860c1904a1ce19322e91ac35af1ab07466440c37', false, 'refs/pull/15/merge'],
['refs/heads/master', '', false, 'refs/heads/master'],
['master', '', false, 'master'],
['refs/tags/v1.0.0', '', false, 'refs/tags/v1.0.0'],
['refs/pull/15/merge', '', false, 'refs/pull/15/merge'],
['refs/pull/15/merge', '', true, 'refs/pull/15/head'],
])('given %o and %o, should return %o', async (ref: string, sha: string, prHeadRef: boolean, expected: string) => {
process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF = prHeadRef ? 'true' : '';
expect(Context.parseGitRef(ref, sha)).toEqual(expected);
});
});
describe('gitContext', () => {
it('returns refs/heads/master', async () => {
expect(Context.gitContext()).toEqual('https://github.com/docker/actions-toolkit.git#refs/heads/master');
it('returns different paths on consecutive calls', () => {
const first = Context.tmpName({tmpdir: tmpDir, template: '.tmpname-XXXXXX'});
const second = Context.tmpName({tmpdir: tmpDir, template: '.tmpname-XXXXXX'});
expect(first).not.toEqual(second);
});
});

View File

@@ -315,6 +315,7 @@ describe('hash', () => {
// https://github.com/golang/go/blob/f6b93a4c358b28b350dd8fe1780c1f78e520c09c/src/strconv/atob_test.go#L36-L58
describe('parseBool', () => {
[
{input: undefined, expected: false, throwsError: false},
{input: '', expected: false, throwsError: true},
{input: 'asdf', expected: false, throwsError: true},
{input: '0', expected: false, throwsError: false},
@@ -342,6 +343,13 @@ describe('parseBool', () => {
});
});
describe('parseBoolOrDefault', () => {
it('returns default value when input is invalid', () => {
expect(Util.parseBoolOrDefault('asdf')).toBe(false);
expect(Util.parseBoolOrDefault('asdf', true)).toBe(true);
});
});
describe('formatFileSize', () => {
test('should return "0 Bytes" when given 0 bytes', () => {
expect(Util.formatFileSize(0)).toBe('0 Bytes');

View File

@@ -16,7 +16,7 @@
ARG NODE_VERSION=24
ARG DOCKER_VERSION=29.2
ARG BUILDX_VERSION=0.32.0-rc2
ARG BUILDX_VERSION=0.32.1
ARG COMPOSE_VERSION=2.39.1
ARG UNDOCK_VERSION=0.10.0
ARG REGCTL_VERSION=v0.8.2

View File

@@ -17,6 +17,7 @@
import fs from 'fs';
import path from 'path';
import * as core from '@actions/core';
import * as github from '@actions/github';
import {parse} from 'csv-parse/sync';
import {Buildx} from './buildx.js';
@@ -24,7 +25,7 @@ import {Context} from '../context.js';
import {GitHub} from '../github/github.js';
import {Util} from '../util.js';
import {BuildMetadata} from '../types/buildx/build.js';
import {BuildMetadata, GitContextFormat} from '../types/buildx/build.js';
import {VertexWarning} from '../types/buildkit/client.js';
import {ProvenancePredicate} from '../types/intoto/slsa_provenance/v0.2/provenance.js';
@@ -48,6 +49,33 @@ export class Build {
this.metadataFilename = `build-metadata-${Util.generateRandomString()}.json`;
}
public async gitContext(ref?: string, sha?: string, format?: GitContextFormat): Promise<string> {
const setPullRequestHeadRef = Util.parseBoolOrDefault(process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF);
ref = ref || github.context.ref;
sha = sha || github.context.sha;
if (!ref.startsWith('refs/')) {
ref = `refs/heads/${ref}`;
} else if (ref.startsWith(`refs/pull/`) && setPullRequestHeadRef) {
ref = ref.replace(/\/merge$/g, '/head');
}
const baseURL = `${GitHub.serverURL}/${github.context.repo.owner}/${github.context.repo.repo}.git`;
if (!format) {
const sendGitQueryAsInput = Util.parseBoolOrDefault(process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT);
if (sendGitQueryAsInput && (await this.buildx.versionSatisfies('>=0.29.0'))) {
format = 'query';
} else {
format = 'fragment';
}
}
if (format === 'query') {
return `${baseURL}?ref=${ref}${sha ? `&checksum=${sha}` : ''}`;
}
if (sha && !ref.startsWith(`refs/pull/`)) {
return `${baseURL}#${sha}`;
}
return `${baseURL}#${ref}`;
}
public getImageIDFilePath(): string {
return path.join(Context.tmpDir(), this.iidFilename);
}

View File

@@ -14,10 +14,14 @@
* limitations under the License.
*/
import fs from 'fs';
import * as core from '@actions/core';
import {Buildx} from './buildx.js';
import {Context} from '../context.js';
import {Exec} from '../exec.js';
import {Manifest as ImageToolsManifest} from '../types/buildx/imagetools.js';
import {CreateOpts, CreateResponse, CreateResult, Manifest as ImageToolsManifest} from '../types/buildx/imagetools.js';
import {Image} from '../types/oci/config.js';
import {Descriptor, Platform} from '../types/oci/descriptor.js';
import {Digest} from '../types/oci/digest.js';
@@ -41,6 +45,10 @@ export class ImageTools {
return await this.getCommand(['inspect', ...args]);
}
public async getCreateCommand(args: Array<string>) {
return await this.getCommand(['create', ...args]);
}
public async inspectImage(name: string): Promise<Record<string, Image> | Image> {
const cmd = await this.getInspectCommand([name, '--format', '{{json .Image}}']);
return await Exec.getExecOutput(cmd.command, cmd.args, {
@@ -118,4 +126,78 @@ export class ImageTools {
public async attestationDigests(name: string, platform?: Platform): Promise<Array<Digest>> {
return (await this.attestationDescriptors(name, platform)).map(attestation => attestation.digest);
}
public async create(opts: CreateOpts): Promise<CreateResult | undefined> {
const args: Array<string> = [];
const metadataFile = Context.tmpName({tmpdir: Context.tmpDir(), template: 'imagetools-metadata-XXXXXX'});
const fileSources: Array<string> = [];
const sources: Array<string> = [];
for (const source of opts.sources) {
if (source.startsWith('cwd://')) {
const fileSource = source.substring('cwd://'.length);
if (fileSource.length > 0) {
fileSources.push(fileSource);
}
continue;
}
sources.push(source);
}
if (opts.tags) {
for (const tag of opts.tags) {
args.push('--tag', tag);
}
}
if (opts.platforms) {
for (const platform of opts.platforms) {
args.push('--platform', platform);
}
}
if (opts.dryRun) {
args.push('--dry-run');
} else {
args.push('--metadata-file', metadataFile);
}
for (const fileSource of fileSources) {
args.push('--file', fileSource);
}
for (const source of sources) {
args.push(source);
}
const cmd = await this.getCreateCommand(args);
if (opts.skipExec) {
core.info(`[command]${cmd.command} ${cmd.args.join(' ')}`);
core.info(`Skipped create command`);
return undefined;
}
return await Exec.getExecOutput(cmd.command, cmd.args, {
ignoreReturnCode: true,
silent: opts.silent
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.trim());
}
if (!opts.dryRun) {
if (!fs.existsSync(metadataFile)) {
return undefined;
}
const dt = fs.readFileSync(metadataFile, {encoding: 'utf-8'}).trim();
if (dt === '' || dt === 'null') {
return undefined;
}
const response = <CreateResponse>JSON.parse(dt);
const descriptor = response['containerimage.descriptor'];
if (!descriptor) {
return undefined;
}
return {
digest: response['containerimage.digest'] || descriptor.digest,
descriptor: descriptor,
imageNames: response['image.name'] ? response['image.name'].split(',').map(name => name.trim()) : []
};
}
});
}
}

View File

@@ -18,9 +18,6 @@ import fs from 'fs';
import os from 'os';
import path from 'path';
import * as tmp from 'tmp';
import * as github from '@actions/github';
import {GitHub} from './github/github.js';
export class Context {
private static readonly _tmpDir = fs.mkdtempSync(path.join(Context.ensureDirExists(process.env.RUNNER_TEMP || os.tmpdir()), 'docker-actions-toolkit-'));
@@ -37,25 +34,4 @@ export class Context {
public static tmpName(options?: tmp.TmpNameOptions): string {
return tmp.tmpNameSync(options);
}
public static gitRef(): string {
return Context.parseGitRef(github.context.ref, github.context.sha);
}
public static parseGitRef(ref: string, sha: string): string {
const setPullRequestHeadRef: boolean = !!(process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF && process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF === 'true');
if (sha && ref && !ref.startsWith('refs/')) {
ref = `refs/heads/${ref}`;
}
if (sha && !ref.startsWith(`refs/pull/`)) {
ref = sha;
} else if (ref.startsWith(`refs/pull/`) && setPullRequestHeadRef) {
ref = ref.replace(/\/merge$/g, '/head');
}
return ref;
}
public static gitContext(): string {
return `${GitHub.serverURL}/${github.context.repo.owner}/${github.context.repo.repo}.git#${Context.gitRef()}`;
}
}

View File

@@ -14,6 +14,8 @@
* limitations under the License.
*/
export type GitContextFormat = 'fragment' | 'query';
export type BuildMetadata = {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;

View File

@@ -26,3 +26,25 @@ export interface Manifest extends Versioned {
manifests?: Descriptor[];
annotations?: Record<string, string>;
}
// https://docs.docker.com/reference/cli/docker/buildx/imagetools/create/#options
export interface CreateOpts {
sources: Array<string>;
tags?: Array<string>;
platforms?: Array<string>;
dryRun?: boolean;
silent?: boolean;
skipExec?: boolean;
}
export interface CreateResponse {
'containerimage.digest'?: Digest;
'containerimage.descriptor'?: Descriptor;
'image.name'?: string;
}
export interface CreateResult {
digest: Digest;
descriptor: Descriptor;
imageNames: Array<string>;
}

View File

@@ -157,7 +157,10 @@ export class Util {
}
// https://github.com/golang/go/blob/f6b93a4c358b28b350dd8fe1780c1f78e520c09c/src/strconv/atob.go#L7-L18
public static parseBool(str: string): boolean {
public static parseBool(str: string | undefined): boolean {
if (str === undefined) {
return false;
}
switch (str) {
case '1':
case 't':
@@ -178,6 +181,14 @@ export class Util {
}
}
public static parseBoolOrDefault(str: string | undefined, defaultValue = false): boolean {
try {
return this.parseBool(str);
} catch {
return defaultValue;
}
}
public static formatFileSize(bytes: number): string {
if (bytes === 0) return '0 Bytes';
const k = 1024;