Compare commits

...

166 Commits

Author SHA1 Message Date
CrazyMax
ba992bb822 Merge pull request #933 from crazy-max/sigstore-test-sign
Some checks failed
publish / publish (push) Has been cancelled
sigstore: test signAttestationManifests
2026-01-13 15:07:08 +01:00
CrazyMax
345531d0a4 sigstore: test signAttestationManifests
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-13 14:56:12 +01:00
CrazyMax
2e620f9c90 Merge pull request #932 from crazy-max/sigstore-verifyimage
sigstore: add function to verify image attestations
2026-01-13 14:50:59 +01:00
CrazyMax
0162b2cf8b cosign: clear errors if manifest or bundle payload found
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-13 13:25:39 +01:00
CrazyMax
7397cfe37c sigstore: add function to verify image attestations
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-13 13:21:55 +01:00
CrazyMax
a3d5eee63a Merge pull request #928 from docker/bot/cosign-releases-json
Update `.github/cosign-releases.json`
2026-01-12 14:18:20 +01:00
crazy-max
85c3d8b7f3 github: update .github/cosign-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-10 00:13:01 +00:00
CrazyMax
22773fa848 Merge pull request #927 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2026-01-09 13:16:03 +01:00
crazy-max
cbf7323bc1 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-09 12:14:24 +00:00
CrazyMax
382ab4c9ac Merge pull request #924 from docker/dependabot/npm_and_yarn/actions/tool-cache-3.0.0
build(deps): bump @actions/tool-cache from 2.0.2 to 3.0.0
2026-01-08 16:33:06 +01:00
CrazyMax
b0b34198c4 Merge pull request #925 from docker/dependabot/npm_and_yarn/actions/cache-5.0.2
build(deps): bump @actions/cache from 5.0.1 to 5.0.2
2026-01-08 16:30:42 +01:00
dependabot[bot]
842eaf5ac0 build(deps): bump @actions/cache from 5.0.1 to 5.0.2
Bumps [@actions/cache](https://github.com/actions/toolkit/tree/HEAD/packages/cache) from 5.0.1 to 5.0.2.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/cache)

---
updated-dependencies:
- dependency-name: "@actions/cache"
  dependency-version: 5.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-08 15:21:39 +00:00
CrazyMax
2f0f57f46e Merge pull request #926 from docker/dependabot/npm_and_yarn/actions/artifact-5.0.2
build(deps): bump @actions/artifact from 5.0.1 to 5.0.2
2026-01-08 16:19:26 +01:00
dependabot[bot]
4f8b9ae301 build(deps): bump @actions/tool-cache from 2.0.2 to 3.0.0
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 2.0.2 to 3.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

---
updated-dependencies:
- dependency-name: "@actions/tool-cache"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-08 15:12:22 +00:00
dependabot[bot]
0aaa94bdee build(deps): bump @actions/artifact from 5.0.1 to 5.0.2
Bumps [@actions/artifact](https://github.com/actions/toolkit/tree/HEAD/packages/artifact) from 5.0.1 to 5.0.2.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/artifact/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/artifact)

---
updated-dependencies:
- dependency-name: "@actions/artifact"
  dependency-version: 5.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-08 15:12:07 +00:00
CrazyMax
654afbf8c5 Merge pull request #922 from docker/dependabot/npm_and_yarn/actions/core-2.0.2
build(deps): bump @actions/core from 2.0.1 to 2.0.2
2026-01-08 16:09:49 +01:00
CrazyMax
d256fc587d Merge pull request #923 from docker/dependabot/npm_and_yarn/actions/github-7.0.0
build(deps): bump @actions/github from 6.0.1 to 7.0.0
2026-01-08 16:08:23 +01:00
dependabot[bot]
ca8ad9e7ab build(deps): bump @actions/github from 6.0.1 to 7.0.0
Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 6.0.1 to 7.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-08 14:53:30 +00:00
dependabot[bot]
53aedd9542 build(deps): bump @actions/core from 2.0.1 to 2.0.2
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 2.0.1 to 2.0.2.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-08 14:53:07 +00:00
CrazyMax
01fb6c8d3b Merge pull request #921 from docker/dependabot/npm_and_yarn/actions/http-client-3.0.1
build(deps): bump @actions/http-client from 3.0.0 to 3.0.1
2026-01-08 10:28:17 +01:00
dependabot[bot]
6439a13308 build(deps): bump @actions/http-client from 3.0.0 to 3.0.1
Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 3.0.0 to 3.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/http-client/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/http-client)

---
updated-dependencies:
- dependency-name: "@actions/http-client"
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-08 01:10:26 +00:00
CrazyMax
a6ccf4cb79 Merge pull request #919 from crazy-max/fix-publish-workflow
ci(publish): fix permissions to create GitHub Release
2026-01-07 17:17:31 +01:00
CrazyMax
333909f560 Merge pull request #920 from crazy-max/buildkit-0.26.3
update buildkit to 0.26.3
2026-01-05 16:08:22 +01:00
CrazyMax
0b7584385a update buildkit to 0.26.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 14:58:42 +01:00
CrazyMax
3a94f7311f ci(publish): fix permissions to create GitHub Release
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 14:47:21 +01:00
CrazyMax
f2404dca2f Merge pull request #918 from crazy-max/isolated-modules
Some checks failed
publish / publish (push) Has been cancelled
set isolatedModules=true to fix ts-jest TS151002 warning
2026-01-05 13:58:14 +01:00
CrazyMax
8bae8c963f Merge pull request #913 from docker/dependabot/npm_and_yarn/sigstore/verify-3.1.0
build(deps): bump @sigstore/verify from 3.0.0 to 3.1.0
2026-01-05 13:46:58 +01:00
CrazyMax
c00b0d2393 set isolatedModules=true to fix ts-jest TS151002 warning
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 13:45:55 +01:00
dependabot[bot]
f861f8df56 build(deps): bump @sigstore/verify from 3.0.0 to 3.1.0
Bumps [@sigstore/verify](https://github.com/sigstore/sigstore-js) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/@sigstore/verify@3.0.0...sigstore@3.1.0)

---
updated-dependencies:
- dependency-name: "@sigstore/verify"
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-05 11:05:33 +00:00
CrazyMax
7b8ae12eb0 Merge pull request #917 from crazy-max/update-sigstore-sign
update @sigstore/sign to 4.1.0
2026-01-05 12:03:24 +01:00
CrazyMax
10fbe0d8d4 update @sigstore/sign to 4.1.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 10:48:28 +01:00
CrazyMax
8ba5f4ae6f enable Node 16–style ESM resolution
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 10:48:28 +01:00
CrazyMax
fcb1e5a298 Merge pull request #914 from docker/dependabot/npm_and_yarn/sigstore/tuf-4.0.1
build(deps): bump @sigstore/tuf from 4.0.0 to 4.0.1
2026-01-05 10:02:48 +01:00
CrazyMax
459eee50e8 Merge pull request #916 from docker/bot/undock-releases-json
Update `.github/undock-releases.json`
2025-12-31 23:47:14 +01:00
crazy-max
9c67bc4427 github: update .github/undock-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-31 13:50:26 +00:00
CrazyMax
d86ab59115 Merge pull request #915 from neilime/feat/handle-detached-head-error
fix: handle detached head error
2025-12-31 14:50:01 +01:00
copilot-swe-agent[bot]
945d269b25 fix: handle detached head error 2025-12-23 18:48:02 +01:00
dependabot[bot]
692b091ac0 build(deps): bump @sigstore/tuf from 4.0.0 to 4.0.1
Bumps [@sigstore/tuf](https://github.com/sigstore/sigstore-js) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/@sigstore/tuf@4.0.0...@sigstore/sign@4.0.1)

---
updated-dependencies:
- dependency-name: "@sigstore/tuf"
  dependency-version: 4.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 22:06:19 +00:00
CrazyMax
3984b38120 Merge pull request #909 from crazy-max/publish-commitish
ci(publish): no need to set target_commitish
2025-12-18 18:20:18 +01:00
CrazyMax
57c7ba07e5 Merge pull request #908 from docker/bot/compose-releases-json
Update `.github/compose-releases.json`
2025-12-18 16:53:50 +01:00
CrazyMax
73ff711ca0 ci(publish): no need to set target_commitish
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-18 16:52:40 +01:00
crazy-max
ce2ae460d6 github: update .github/compose-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-18 15:51:44 +00:00
CrazyMax
f61800c7a9 Merge pull request #907 from crazy-max/publish-release
ci(publish): create github release
2025-12-18 16:51:15 +01:00
CrazyMax
45b39556af ci(publish): create github release
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-18 13:30:31 +01:00
CrazyMax
5172be8e2f Merge pull request #906 from crazy-max/npm-publish
Some checks failed
publish / publish (push) Has been cancelled
ci: use trusted publishing to publish our package
2025-12-18 13:04:59 +01:00
CrazyMax
1ded416304 ci(publish): generate provenance attestation
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-18 12:05:50 +01:00
CrazyMax
2ea2c9d9ee ci: use trusted publishing to publish our npm package
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-18 12:05:50 +01:00
CrazyMax
9442c70243 Merge pull request #904 from crazy-max/cosign-bin-verify
Some checks failed
publish / publish (push) Has been cancelled
cosign(install): verify binary signature with keyless verification bundle
2025-12-18 09:19:02 +01:00
CrazyMax
36dc518728 Merge pull request #905 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-12-18 09:18:30 +01:00
crazy-max
a05039c77d github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-18 00:31:44 +00:00
CrazyMax
eb8ed6b687 cosign(install): use sigstore module to verify signature
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-16 19:44:45 +01:00
CrazyMax
44e7279490 cosign(install): verify binary signature with keyless verification bundle
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-16 15:02:36 +01:00
CrazyMax
5e6dd63795 Merge pull request #903 from crazy-max/update-tsconfig
chore: update tsconfig
2025-12-16 10:20:25 +01:00
CrazyMax
9ab04625a7 chore: update tsconfig
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-16 10:15:42 +01:00
CrazyMax
974eb14a42 Merge pull request #902 from crazy-max/dev-deps
update dev dependencies
2025-12-16 10:05:22 +01:00
CrazyMax
b13a880f18 update jest config since 30.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-15 23:57:24 +01:00
CrazyMax
a198dbc46d migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-15 23:10:13 +01:00
CrazyMax
d82a614b83 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-15 22:25:01 +01:00
CrazyMax
945397f145 Merge pull request #892 from docker/dependabot/npm_and_yarn/actions/cache-5.0.1
build(deps): bump @actions/cache from 4.1.0 to 5.0.1
2025-12-15 12:32:33 +01:00
CrazyMax
33cdba4686 github: fix import of TransferProgressEvent
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-15 11:28:24 +01:00
dependabot[bot]
5eeec21377 build(deps): bump @actions/cache from 4.1.0 to 5.0.1
Bumps [@actions/cache](https://github.com/actions/toolkit/tree/HEAD/packages/cache) from 4.1.0 to 5.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/cache)

---
updated-dependencies:
- dependency-name: "@actions/cache"
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 10:08:44 +00:00
CrazyMax
cc10fd84d6 Merge pull request #893 from docker/dependabot/npm_and_yarn/actions/artifact-5.0.1
build(deps): bump @actions/artifact from 4.0.0 to 5.0.1
2025-12-15 11:06:37 +01:00
CrazyMax
48394148f4 Merge pull request #900 from docker/cosign-3.0.3
dockerfile: update cosign to 3.0.3
2025-12-15 11:05:32 +01:00
Paweł Gronowski
3c97831db9 Merge pull request #896 from crazy-max/unpin-qemu
docker(install): unpin QEMU
2025-12-15 10:04:03 +00:00
CrazyMax
2aaf8dc22d bump @azure/storage-blob from 12.15.0 to 12.29.1
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-15 10:41:11 +01:00
dependabot[bot]
d4379528b4 build(deps): bump @actions/artifact from 4.0.0 to 5.0.1
Bumps [@actions/artifact](https://github.com/actions/toolkit/tree/HEAD/packages/artifact) from 4.0.0 to 5.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/artifact/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/artifact)

---
updated-dependencies:
- dependency-name: "@actions/artifact"
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 09:23:37 +00:00
CrazyMax
8b935c624b Merge pull request #889 from docker/dependabot/npm_and_yarn/actions/core-2.0.1
build(deps): bump @actions/core from 1.11.1 to 2.0.1
2025-12-15 10:21:25 +01:00
CrazyMax
e0deaff943 dockerfile: update cosign to 3.0.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-15 10:02:13 +01:00
dependabot[bot]
2149af8d90 build(deps): bump @actions/core from 1.11.1 to 2.0.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.11.1 to 2.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/artifact@2.0.1/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 2.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 08:56:39 +00:00
CrazyMax
1e11a6ae9d Merge pull request #885 from docker/dependabot/npm_and_yarn/actions/exec-2.0.0
build(deps): bump @actions/exec from 1.1.1 to 2.0.0
2025-12-15 09:54:31 +01:00
CrazyMax
8ef5b18fcf Merge pull request #886 from docker/dependabot/github_actions/peter-evans/create-pull-request-8.0.0
build(deps): bump peter-evans/create-pull-request from 7.0.9 to 8.0.0
2025-12-15 09:27:41 +01:00
CrazyMax
7d9e85a9da Merge pull request #883 from docker/bot/regclient-releases-json
Update `.github/regclient-releases.json`
2025-12-15 09:27:08 +01:00
CrazyMax
3616f2901b Merge pull request #887 from docker/bot/cosign-releases-json
Update `.github/cosign-releases.json`
2025-12-15 09:26:49 +01:00
crazy-max
b1d718004d github: update .github/regclient-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-15 08:26:49 +00:00
CrazyMax
077fb8ba53 Merge pull request #890 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-12-15 09:26:21 +01:00
CrazyMax
2a71af4445 Merge pull request #891 from docker/dependabot/github_actions/actions/download-artifact-7
build(deps): bump actions/download-artifact from 6 to 7
2025-12-15 09:26:02 +01:00
CrazyMax
4a30d04fe2 docker(install): unpin QEMU
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-15 09:23:27 +01:00
crazy-max
0c34b0e7cf github: update .github/cosign-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-15 06:51:15 +00:00
crazy-max
c447ec0b97 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-15 06:51:13 +00:00
CrazyMax
7b4504332f Merge pull request #894 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-12-15 07:50:49 +01:00
crazy-max
a980bcd0c5 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-13 00:33:07 +00:00
dependabot[bot]
7a87dc0d65 build(deps): bump actions/download-artifact from 6 to 7
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-12 22:05:16 +00:00
dependabot[bot]
18946344af build(deps): bump peter-evans/create-pull-request from 7.0.9 to 8.0.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.9 to 8.0.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](84ae59a2cd...98357b18bf)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-09 22:08:28 +00:00
dependabot[bot]
3d735ba61a build(deps): bump @actions/exec from 1.1.1 to 2.0.0
Bumps [@actions/exec](https://github.com/actions/toolkit/tree/HEAD/packages/exec) from 1.1.1 to 2.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/exec/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/exec)

---
updated-dependencies:
- dependency-name: "@actions/exec"
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-09 22:07:13 +00:00
CrazyMax
14952de7ed Merge pull request #881 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-12-03 09:34:40 +01:00
crazy-max
12285e1fc3 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-03 00:33:25 +00:00
CrazyMax
473d258161 Merge pull request #880 from crazy-max/pin-qemu
Some checks failed
publish / publish (push) Has been cancelled
docker(install): pin QEMU to 10.1.1
2025-12-02 15:00:51 +01:00
CrazyMax
8d87ba5a72 docker(install): pin QEMU to 10.1.1
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-02 14:31:18 +01:00
CrazyMax
841fd33bb7 Merge pull request #878 from docker/bot/regclient-releases-json
Update `.github/regclient-releases.json`
2025-12-02 13:33:39 +01:00
CrazyMax
a3709540ed Merge pull request #877 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-12-02 13:33:23 +01:00
CrazyMax
6371b3d325 Merge pull request #879 from docker/bot/compose-releases-json
Update `.github/compose-releases.json`
2025-12-02 13:33:06 +01:00
crazy-max
f8df53283c github: update .github/compose-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-02 12:15:39 +00:00
crazy-max
f312d8d21e github: update .github/regclient-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-02 00:12:17 +00:00
crazy-max
41a2ea0c9b github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-29 00:32:08 +00:00
CrazyMax
d5209cea68 Merge pull request #876 from crazy-max/docker-install-disable-macos-tests
Some checks failed
publish / publish (push) Has been cancelled
test: disable docker install tests on macos
2025-11-27 11:25:49 +01:00
CrazyMax
4f0696b47c test: disable docker install tests on macos
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-27 10:53:27 +01:00
CrazyMax
f0de40cffa Merge pull request #832 from docker/dependabot/npm_and_yarn/actions/io-2.0.0
build(deps): bump @actions/io from 1.1.3 to 2.0.0
2025-11-27 10:49:43 +01:00
CrazyMax
abec938c9b Merge pull request #875 from crazy-max/releases-without-token
releases: download releases JSON without token first
2025-11-27 10:49:00 +01:00
CrazyMax
1d22f02ce4 releases: download releases JSON without token first
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-27 10:22:18 +01:00
dependabot[bot]
a5ead9a86c build(deps): bump @actions/io from 1.1.3 to 2.0.0
Bumps [@actions/io](https://github.com/actions/toolkit/tree/HEAD/packages/io) from 1.1.3 to 2.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/io/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/io)

---
updated-dependencies:
- dependency-name: "@actions/io"
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 09:14:13 +00:00
CrazyMax
b42885d9a9 Merge pull request #831 from docker/dependabot/npm_and_yarn/actions/http-client-3.0.0
build(deps): bump @actions/http-client from 2.2.3 to 3.0.0
2025-11-27 10:12:10 +01:00
CrazyMax
8d01bf1bfc Merge pull request #856 from neilime/fix/git-ref-in-detached-head
fix(git): support getting ref in various detached HEAD contexts
2025-11-27 10:10:44 +01:00
CrazyMax
ccdd59f096 Merge pull request #874 from crazy-max/dependabot-pr-limit
chore: increase prs limit for dependabot
2025-11-27 10:06:42 +01:00
CrazyMax
949f09fa44 chore: increase prs limit for dependabot
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-27 10:03:47 +01:00
CrazyMax
5f53738d84 Merge pull request #860 from docker/dependabot/npm_and_yarn/js-yaml-4.1.1
build(deps): bump js-yaml from 4.1.0 to 4.1.1
2025-11-27 09:59:58 +01:00
CrazyMax
a111fe1e61 Merge pull request #870 from docker/dependabot/github_actions/peter-evans/create-pull-request-7.0.9
build(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9
2025-11-27 09:59:22 +01:00
CrazyMax
ccfdc68a38 Merge pull request #873 from crazy-max/bake-attest-check
buildx(bake): funcs to check attest set in bake definition
2025-11-26 12:40:39 +01:00
CrazyMax
9c05197992 buildx(bake): funcs to check attest set in bake definition
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-26 11:08:57 +01:00
CrazyMax
764a608ae0 Merge pull request #865 from docker/dependabot/github_actions/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6
2025-11-25 15:49:58 +01:00
CrazyMax
be39e7c75a Merge pull request #871 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-11-25 02:31:46 +01:00
crazy-max
81f1dd4f57 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-25 00:31:54 +00:00
dependabot[bot]
4634011afa build(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.8 to 7.0.9.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](271a8d0340...84ae59a2cd)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: 7.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 22:14:25 +00:00
CrazyMax
535c57eda3 Merge pull request #869 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-11-24 15:24:41 +01:00
crazy-max
d57249b699 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-24 14:24:02 +00:00
CrazyMax
0bc914c6cd Merge pull request #866 from crazy-max/docker-install-fix
ci(test): allow failure for docker install on macos
2025-11-24 13:20:40 +01:00
CrazyMax
f636ea29ca Merge pull request #868 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-11-24 13:20:26 +01:00
crazy-max
3fe3252d57 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-24 12:19:57 +00:00
CrazyMax
5e6eb921cf Merge pull request #867 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-11-24 13:19:34 +01:00
crazy-max
ce5e865551 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-24 12:08:23 +00:00
CrazyMax
7736c355dc ci(test): allow failure for docker install on macos
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-23 15:16:14 +01:00
dependabot[bot]
944ec75cf6 build(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-20 22:06:10 +00:00
CrazyMax
d727f06dc0 Merge pull request #864 from crazy-max/buildkit-0.26.2
update buildkit to 0.26.2 and buildx to 0.30.1
2025-11-20 16:35:48 +01:00
CrazyMax
3c4372146e update buildkit to 0.26.2 and buildx to 0.30.1
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-20 14:18:28 +01:00
CrazyMax
d5be659121 Merge pull request #863 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-11-18 09:13:23 +01:00
crazy-max
2f9b11c5ca github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-18 00:32:53 +00:00
CrazyMax
93ca750952 Merge pull request #862 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-11-17 19:04:28 +01:00
crazy-max
fbfc9b33af github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-17 18:03:39 +00:00
CrazyMax
bb9028cd44 Merge pull request #861 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-11-15 09:26:56 +01:00
crazy-max
72fab21aba github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-15 00:31:47 +00:00
Emilien Escalle
ad7ffdebbe fix(git): support getting ref in various detached HEAD contexts
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
2025-11-14 08:50:10 +01:00
dependabot[bot]
a9e04b410c build(deps): bump js-yaml from 4.1.0 to 4.1.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-13 22:06:20 +00:00
CrazyMax
747bc1653d Merge pull request #859 from docker/bot/compose-releases-json
Update `.github/compose-releases.json`
2025-11-13 13:16:15 +01:00
crazy-max
8dac860c22 github: update .github/compose-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-13 12:14:37 +00:00
CrazyMax
074578feee Merge pull request #858 from docker/bot/compose-releases-json
Update `.github/compose-releases.json`
2025-11-13 08:46:52 +01:00
CrazyMax
22bb9492bf Merge pull request #857 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-11-13 08:46:38 +01:00
crazy-max
5515e9705a github: update .github/compose-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-13 00:35:35 +00:00
jsternberg
517e370b73 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-12 22:05:49 +00:00
CrazyMax
4f8424eebb Merge pull request #854 from crazy-max/cosign-no-verbose
sigstore: remove verbose flag from persisted cosign args
2025-11-12 15:52:35 +01:00
CrazyMax
d018ed13d0 sigstore: remove verbose flag from persisted cosign args
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-12 14:44:23 +01:00
CrazyMax
fd15fa02c0 Merge pull request #849 from docker/bot/regclient-releases-json
Update `.github/regclient-releases.json`
2025-11-12 11:22:56 +01:00
crazy-max
4eade91d5b github: update .github/regclient-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-12 10:20:37 +00:00
CrazyMax
d235481ee7 Merge pull request #853 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-11-12 11:20:09 +01:00
CrazyMax
f0bd06d036 Merge pull request #850 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-11-12 11:19:52 +01:00
crazy-max
e958ed5b3f github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-12 10:15:21 +00:00
crazy-max
29f8f30aa9 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-12 10:15:15 +00:00
CrazyMax
6aa7c206c6 Merge pull request #851 from crazy-max/update-releases-json
ci: update crazy-max/.github/.github/workflows/releases-json to 2842b80
2025-11-12 11:14:49 +01:00
CrazyMax
e05a413e8a ci: update crazy-max/.github/.github/workflows/releases-json to 2842b80
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-12 10:23:32 +01:00
CrazyMax
965b96d275 Merge pull request #847 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-11-07 17:13:59 +01:00
CrazyMax
f04e1d3acb Merge pull request #846 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-11-07 17:13:44 +01:00
crazy-max
2a13876756 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-07 12:13:03 +00:00
crazy-max
5197b8fa3d github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-07 00:24:20 +00:00
CrazyMax
fc1b7fac4b Merge pull request #845 from crazy-max/buildkit-0.25.2
update buildkit to 0.25.2
2025-11-05 13:58:11 +01:00
CrazyMax
af0095404d update buildkit to 0.25.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 13:15:42 +01:00
CrazyMax
7ee633887d Merge pull request #844 from docker/dependabot/npm_and_yarn/sigstore/sign-4.0.1
Some checks failed
publish / publish (push) Has been cancelled
build(deps): bump @sigstore/sign from 3.1.0 to 4.0.1
2025-11-05 12:31:11 +01:00
dependabot[bot]
9c7140767c build(deps): bump @sigstore/sign from 3.1.0 to 4.0.1
Bumps [@sigstore/sign](https://github.com/sigstore/sigstore-js) from 3.1.0 to 4.0.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/@sigstore/sign@3.1.0...@sigstore/sign@4.0.1)

---
updated-dependencies:
- dependency-name: "@sigstore/sign"
  dependency-version: 4.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 11:16:10 +00:00
CrazyMax
7cb0fac5c0 Merge pull request #840 from docker/dependabot/npm_and_yarn/sigstore/bundle-4.0.0
build(deps): bump @sigstore/bundle from 3.1.0 to 4.0.0
2025-11-05 12:13:25 +01:00
dependabot[bot]
9b9d27dc4c build(deps): bump @sigstore/bundle from 3.1.0 to 4.0.0
Bumps [@sigstore/bundle](https://github.com/sigstore/sigstore-js) from 3.1.0 to 4.0.0.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/@sigstore/bundle@3.1.0...@sigstore/bundle@4.0.0)

---
updated-dependencies:
- dependency-name: "@sigstore/bundle"
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 10:45:32 +00:00
dependabot[bot]
e5e1cd0f99 build(deps): bump @actions/http-client from 2.2.3 to 3.0.0
Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 2.2.3 to 3.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/http-client/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/http-client)

---
updated-dependencies:
- dependency-name: "@actions/http-client"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 10:45:26 +00:00
CrazyMax
a84516d0dd Merge pull request #843 from crazy-max/rm-actions-attest
sigstore: remove @actions/attest dependency
2025-11-05 11:43:19 +01:00
CrazyMax
85dfc7a573 sigstore: remove @actions/attest dependency
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 11:11:57 +01:00
CrazyMax
5c04d3904d Merge pull request #842 from crazy-max/cache-failsafe
cache: gracefully handle cache restore failures with warning
2025-11-05 10:27:59 +01:00
CrazyMax
d8def31251 cache: gracefully handle cache restore failures with warning
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 10:02:21 +01:00
CrazyMax
7ab28f9678 Merge pull request #841 from crazy-max/sigstore-multi-images
Some checks failed
publish / publish (push) Has been cancelled
sigstore: multi image names support for signing
2025-11-04 14:03:26 +01:00
CrazyMax
6bd8db31fe sigstore: multi image names support for signing
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 13:36:03 +01:00
CrazyMax
b449e6efd0 Merge pull request #836 from docker/dependabot/npm_and_yarn/npm_and_yarn-a40929283c
build(deps): bump the npm_and_yarn group across 1 directory with 2 updates
2025-11-03 23:03:40 +01:00
dependabot[bot]
764b218deb build(deps): bump the npm_and_yarn group across 1 directory with 2 updates
Bumps the npm_and_yarn group with 2 updates in the / directory: [@octokit/request-error](https://github.com/octokit/request-error.js) and [@octokit/request](https://github.com/octokit/request.js).


Updates `@octokit/request-error` from 5.0.0 to 5.1.1
- [Release notes](https://github.com/octokit/request-error.js/releases)
- [Commits](https://github.com/octokit/request-error.js/compare/v5.0.0...v5.1.1)

Updates `@octokit/request` from 8.1.1 to 8.4.1
- [Release notes](https://github.com/octokit/request.js/releases)
- [Commits](https://github.com/octokit/request.js/compare/v8.1.1...v8.4.1)

---
updated-dependencies:
- dependency-name: "@octokit/request-error"
  dependency-version: 5.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: "@octokit/request"
  dependency-version: 8.4.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 16:45:09 +00:00
60 changed files with 4943 additions and 3460 deletions

View File

@@ -1,4 +0,0 @@
/.yarn/**
/lib/**
/coverage/**
/node_modules/**

View File

@@ -1,36 +0,0 @@
{
"env": {
"node": true,
"es6": true,
"mocha": true,
"jest": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:import/errors",
"plugin:import/typescript", // this is needed to allow importing typescript files from JS
"plugin:import/warnings",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2023,
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jest",
"prettier"
],
"rules": {
"import/no-unresolved": [
"error", {
"ignore": ["csv-parse/sync", "@octokit/openapi-types"]
}
],
"jest/no-disabled-tests": 0
}
}

View File

@@ -1,17 +0,0 @@
name: 'Setup QEMU on macOS'
description: 'Set up QEMU on macOS runners'
# FIXME: Remove this composite once QEMU issue is fixed on macOS runners
# https://github.com/docker/actions-toolkit/issues/455
runs:
using: composite
steps:
- run: |
set -ex
brew uninstall --ignore-dependencies qemu || true
brew autoremove || true
curl -o /tmp/qemu.rb https://raw.githubusercontent.com/Homebrew/homebrew-core/f1a9cf104a9a51779c7a532b658c490f69974839/Formula/q/qemu.rb
brew install /tmp/qemu.rb
continue-on-error: true
shell: bash

View File

@@ -1,120 +1,238 @@
{ {
"latest": { "latest": {
"id": 234386442, "id": 269523829,
"tag_name": "v0.26.1-desktop.1", "tag_name": "v0.30.1-desktop.2",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.26.1-desktop.1", "html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.30.1-desktop.2",
"assets": [ "assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.darwin-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.darwin-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.darwin-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.darwin-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.darwin-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.darwin-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.freebsd-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.freebsd-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.freebsd-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.freebsd-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.freebsd-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.freebsd-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-arm-v6", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-arm-v6.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-arm-v6.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-arm-v7", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-arm-v7.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-arm-v7.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-ppc64le", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-ppc64le.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-ppc64le.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-riscv64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-riscv64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-riscv64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-s390x", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-s390x.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.linux-s390x.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.netbsd-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.netbsd-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.netbsd-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.netbsd-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.netbsd-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.netbsd-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.openbsd-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.openbsd-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.openbsd-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.openbsd-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.openbsd-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.openbsd-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.windows-amd64.exe", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.windows-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.windows-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.windows-arm64.exe", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.windows-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/buildx-v0.26.1-desktop.1.windows-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.26.1-desktop.1/checksums.txt" "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/checksums.txt"
]
},
"v0.30.1-desktop.2": {
"id": 269523829,
"tag_name": "v0.30.1-desktop.2",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.30.1-desktop.2",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/checksums.txt"
]
},
"v0.30.1-desktop.1": {
"id": 264746294,
"tag_name": "v0.30.1-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.30.1-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.netbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.netbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/buildx-v0.30.1-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.1/checksums.txt"
] ]
}, },
"edge": { "edge": {
"id": 245038026, "id": 269523829,
"tag_name": "v0.28.0-desktop.1", "tag_name": "v0.30.1-desktop.2",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.28.0-desktop.1", "html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.30.1-desktop.2",
"assets": [ "assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.darwin-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.darwin-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.darwin-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.darwin-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.darwin-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.darwin-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.freebsd-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.freebsd-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.freebsd-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.freebsd-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.freebsd-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.freebsd-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-arm-v6", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-arm-v6.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-arm-v6.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-arm-v7", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-arm-v7.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-arm-v7.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-ppc64le", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-ppc64le.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-ppc64le.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-riscv64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-riscv64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-riscv64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-s390x", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-s390x.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.linux-s390x.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.netbsd-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.netbsd-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.netbsd-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.netbsd-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.netbsd-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.netbsd-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.openbsd-amd64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.openbsd-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.openbsd-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.openbsd-arm64", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.openbsd-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.openbsd-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.windows-amd64.exe", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.windows-amd64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.windows-amd64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.windows-arm64.exe", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.windows-arm64.provenance.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/buildx-v0.28.0-desktop.1.windows-arm64.sbom.json", "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/buildx-v0.30.1-desktop.2.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.28.0-desktop.1/checksums.txt" "https://github.com/docker/buildx-desktop/releases/download/v0.30.1-desktop.2/checksums.txt"
] ]
}, },
"v0.28.0-desktop.1": { "v0.28.0-desktop.1": {

View File

@@ -1,61 +1,356 @@
{ {
"latest": { "latest": {
"id": 251985372, "id": 263040986,
"tag_name": "v0.29.1", "tag_name": "v0.30.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.29.1", "html_url": "https://github.com/docker/buildx/releases/tag/v0.30.1",
"assets": [ "assets": [
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-amd64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-amd64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-amd64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-arm64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-arm64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-arm64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-amd64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-amd64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-amd64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-arm64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-arm64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-arm64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-amd64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-amd64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-amd64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v6", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v6.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v6.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v7", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v7.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v7.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-ppc64le", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-ppc64le.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-ppc64le.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-riscv64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-riscv64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-riscv64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-s390x", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-s390x.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-s390x.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-amd64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-amd64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-amd64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-arm64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-arm64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-arm64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-amd64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-amd64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-amd64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-arm64", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-arm64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-arm64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-amd64.exe", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-amd64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-amd64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-arm64.exe", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-arm64.provenance.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-arm64.sbom.json", "https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/checksums.txt" "https://github.com/docker/buildx/releases/download/v0.30.1/checksums.txt"
]
},
"v0.30.1": {
"id": 263040986,
"tag_name": "v0.30.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.30.1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/checksums.txt"
]
},
"v0.30.0": {
"id": 261889955,
"tag_name": "v0.30.0",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.30.0",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/buildx-v0.30.0.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0/checksums.txt"
]
},
"edge": {
"id": 263040986,
"tag_name": "v0.30.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.30.1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.1/checksums.txt"
]
},
"v0.30.0-rc2": {
"id": 261580981,
"tag_name": "v0.30.0-rc2",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.30.0-rc2",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/buildx-v0.30.0-rc2.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc2/checksums.txt"
]
},
"v0.30.0-rc1": {
"id": 260429826,
"tag_name": "v0.30.0-rc1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.30.0-rc1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/buildx-v0.30.0-rc1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.30.0-rc1/checksums.txt"
] ]
}, },
"v0.29.1": { "v0.29.1": {
@@ -176,65 +471,6 @@
"https://github.com/docker/buildx/releases/download/v0.29.0/checksums.txt" "https://github.com/docker/buildx/releases/download/v0.29.0/checksums.txt"
] ]
}, },
"edge": {
"id": 251985372,
"tag_name": "v0.29.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.29.1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.netbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-amd64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-arm64",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.29.1/checksums.txt"
]
},
"v0.29.0-rc1": { "v0.29.0-rc1": {
"id": 249510086, "id": 249510086,
"tag_name": "v0.29.0-rc1", "tag_name": "v0.29.0-rc1",

View File

@@ -1,54 +1,314 @@
{ {
"latest": { "latest": {
"id": 258406598, "id": 271392988,
"tag_name": "v2.40.3", "tag_name": "v5.0.1",
"html_url": "https://github.com/docker/compose/releases/tag/v2.40.3", "html_url": "https://github.com/docker/compose/releases/tag/v5.0.1",
"assets": [ "assets": [
"https://github.com/docker/compose/releases/download/v2.40.3/checksums.txt", "https://github.com/docker/compose/releases/download/v5.0.1/checksums.txt",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-aarch64", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-aarch64.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-aarch64.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-aarch64.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-x86_64", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-x86_64.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-x86_64.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-x86_64.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-aarch64", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-aarch64.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-aarch64.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-aarch64.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv6", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv6.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv6.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv6.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv7", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv7.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv7.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv7.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-ppc64le", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-ppc64le.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-ppc64le.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-ppc64le.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-riscv64", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-riscv64.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-riscv64.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-riscv64.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-s390x", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-s390x.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-s390x.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-s390x.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-aarch64.exe", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-aarch64.exe.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-aarch64.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-aarch64.sbom.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-x86_64.exe", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-x86_64.exe.sha256", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.exe.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-x86_64.provenance.json", "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-x86_64.sbom.json" "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.sbom.json"
]
},
"v5.0.1": {
"id": 271392988,
"tag_name": "v5.0.1",
"html_url": "https://github.com/docker/compose/releases/tag/v5.0.1",
"assets": [
"https://github.com/docker/compose/releases/download/v5.0.1/checksums.txt",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.sbom.json"
]
},
"v5.0.0": {
"id": 266660722,
"tag_name": "v5.0.0",
"html_url": "https://github.com/docker/compose/releases/tag/v5.0.0",
"assets": [
"https://github.com/docker/compose/releases/download/v5.0.0/checksums.txt",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-darwin-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-darwin-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-darwin-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-darwin-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-darwin-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-darwin-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-armv6",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-armv6.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-armv6.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-armv7",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-armv7.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-armv7.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-ppc64le",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-ppc64le.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-ppc64le.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-riscv64",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-riscv64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-riscv64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-s390x",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-s390x.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-s390x.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-windows-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-windows-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-windows-x86_64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-windows-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0/docker-compose-windows-x86_64.sbom.json"
]
},
"edge": {
"id": 271392988,
"tag_name": "v5.0.1",
"html_url": "https://github.com/docker/compose/releases/tag/v5.0.1",
"assets": [
"https://github.com/docker/compose/releases/download/v5.0.1/checksums.txt",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-windows-x86_64.sbom.json"
]
},
"v5.0.0-rc.2": {
"id": 262026717,
"tag_name": "v5.0.0-rc.2",
"html_url": "https://github.com/docker/compose/releases/tag/v5.0.0-rc.2",
"assets": [
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/checksums.txt",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-darwin-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-darwin-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-darwin-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-darwin-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-darwin-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-darwin-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-armv6",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-armv6.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-armv6.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-armv7",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-armv7.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-armv7.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-ppc64le",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-ppc64le.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-ppc64le.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-riscv64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-riscv64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-riscv64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-s390x",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-s390x.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-s390x.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-windows-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-windows-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-windows-x86_64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-windows-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.2/docker-compose-windows-x86_64.sbom.json"
]
},
"v5.0.0-rc.1": {
"id": 261813085,
"tag_name": "v5.0.0-rc.1",
"html_url": "https://github.com/docker/compose/releases/tag/v5.0.0-rc.1",
"assets": [
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/checksums.txt",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-darwin-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-darwin-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-darwin-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-darwin-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-darwin-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-darwin-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-aarch64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-armv6",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-armv6.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-armv6.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-armv7",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-armv7.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-armv7.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-ppc64le",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-ppc64le.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-ppc64le.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-riscv64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-riscv64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-riscv64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-s390x",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-s390x.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-s390x.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-x86_64",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-windows-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-windows-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-windows-x86_64.exe.sha256",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-windows-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v5.0.0-rc.1/docker-compose-windows-x86_64.sbom.json"
] ]
}, },
"v2.40.3": { "v2.40.3": {
@@ -2396,58 +2656,6 @@
"https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-windows-x86_64.exe.sha256" "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-windows-x86_64.exe.sha256"
] ]
}, },
"edge": {
"id": 258406598,
"tag_name": "v2.40.3",
"html_url": "https://github.com/docker/compose/releases/tag/v2.40.3",
"assets": [
"https://github.com/docker/compose/releases/download/v2.40.3/checksums.txt",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-aarch64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-x86_64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-aarch64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv6",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv6.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv6.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv7",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv7.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv7.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-ppc64le",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-ppc64le.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-ppc64le.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-riscv64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-riscv64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-riscv64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-s390x",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-s390x.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-s390x.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-aarch64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-aarch64.sbom.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-x86_64.exe.sha256",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-x86_64.provenance.json",
"https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-windows-x86_64.sbom.json"
]
},
"v2.24.0-birthday.10": { "v2.24.0-birthday.10": {
"id": 133417636, "id": 133417636,
"tag_name": "v2.24.0-birthday.10", "tag_name": "v2.24.0-birthday.10",

View File

@@ -1,92 +1,392 @@
{ {
"latest": { "latest": {
"id": 253720294, "id": 275625037,
"tag_name": "v3.0.2", "tag_name": "v3.0.4",
"html_url": "https://github.com/sigstore/cosign/releases/tag/v3.0.2", "html_url": "https://github.com/sigstore/cosign/releases/tag/v3.0.4",
"assets": [ "assets": [
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.aarch64.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.aarch64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.aarch64.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.aarch64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.armv7hl.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.armv7hl.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.armv7hl.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.armv7hl.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.ppc64le.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.ppc64le.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.ppc64le.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.ppc64le.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.riscv64.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.riscv64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.riscv64.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.riscv64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.s390x.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.s390x.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.s390x.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.s390x.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.x86_64.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.x86_64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.x86_64.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.x86_64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-amd64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-amd64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-amd64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-amd64_3.0.2_darwin_amd64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64_3.0.4_darwin_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-arm64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-arm64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-arm64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-arm64_3.0.2_darwin_arm64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64_3.0.4_darwin_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-amd64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-amd64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-amd64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-amd64_3.0.2_linux_amd64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64_3.0.4_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm64_3.0.2_linux_arm64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64_3.0.4_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm_3.0.2_linux_arm.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm_3.0.4_linux_arm.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-amd64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-amd64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-amd64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-amd64_3.0.2_linux_amd64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64_3.0.4_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-arm64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-arm64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-arm64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-arm64_3.0.2_linux_arm64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64_3.0.4_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-ppc64le", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-ppc64le-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-ppc64le.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-ppc64le_3.0.2_linux_ppc64le.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le_3.0.4_linux_ppc64le.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-riscv64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-riscv64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-riscv64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-riscv64_3.0.2_linux_riscv64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64_3.0.4_linux_riscv64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-s390x", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-s390x-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-s390x.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-s390x_3.0.2_linux_s390x.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x_3.0.4_linux_s390x.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-windows-amd64.exe", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-windows-amd64.exe-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-windows-amd64.exe.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-windows-amd64.exe_3.0.2_windows_amd64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe_3.0.4_windows_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_aarch64.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_aarch64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_aarch64.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_aarch64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_amd64.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_amd64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_amd64.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_amd64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_arm64.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_arm64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_arm64.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_arm64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_armhf.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armhf.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_armhf.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armhf.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_armv7.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armv7.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_armv7.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armv7.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_ppc64el.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64el.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_ppc64el.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64el.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_ppc64le.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64le.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_ppc64le.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64le.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_riscv64.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_riscv64.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_riscv64.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_riscv64.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_s390x.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_s390x.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_s390x.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_s390x.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_x86_64.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_x86_64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_x86_64.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_x86_64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_checksums.txt", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_checksums.txt",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_checksums.txt.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_checksums.txt.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/release-cosign.pub" "https://github.com/sigstore/cosign/releases/download/v3.0.4/release-cosign.pub"
]
},
"v3.0.4": {
"id": 275625037,
"tag_name": "v3.0.4",
"html_url": "https://github.com/sigstore/cosign/releases/tag/v3.0.4",
"assets": [
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.aarch64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.aarch64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.armv7hl.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.armv7hl.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.ppc64le.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.ppc64le.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.riscv64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.riscv64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.s390x.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.s390x.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.x86_64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.x86_64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64_3.0.4_darwin_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64_3.0.4_darwin_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64_3.0.4_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64_3.0.4_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm_3.0.4_linux_arm.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64_3.0.4_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64_3.0.4_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le_3.0.4_linux_ppc64le.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64_3.0.4_linux_riscv64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x_3.0.4_linux_s390x.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe_3.0.4_windows_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_aarch64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_aarch64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_amd64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_amd64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_arm64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_arm64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armhf.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armhf.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armv7.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armv7.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64el.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64el.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64le.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64le.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_x86_64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_x86_64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_checksums.txt",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_checksums.txt.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.4/release-cosign.pub"
]
},
"v2.6.2": {
"id": 275620649,
"tag_name": "v2.6.2",
"html_url": "https://github.com/sigstore/cosign/releases/tag/v2.6.2",
"assets": [
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.aarch64.rpm",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.aarch64.rpm-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.aarch64.rpm-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.armv7hl.rpm",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.armv7hl.rpm-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.armv7hl.rpm-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.ppc64le.rpm",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.ppc64le.rpm-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.ppc64le.rpm-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.riscv64.rpm",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.riscv64.rpm-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.riscv64.rpm-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.s390x.rpm",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.s390x.rpm-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.s390x.rpm-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.x86_64.rpm",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.x86_64.rpm-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-2.6.2-1.x86_64.rpm-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-amd64",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-amd64-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-amd64-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-amd64.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-amd64_2.6.2_darwin_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-arm64",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-arm64-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-arm64-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-arm64.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-darwin-arm64_2.6.2_darwin_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-amd64",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-amd64-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-amd64-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-amd64.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-amd64_2.6.2_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm64",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm64-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm64-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm64.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm64_2.6.2_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-arm_2.6.2_linux_arm.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-amd64",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-amd64-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-amd64-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-amd64.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-amd64_2.6.2_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-arm64",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-arm64-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-arm64-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-arm64.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-pivkey-pkcs11key-arm64_2.6.2_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-ppc64le",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-ppc64le-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-ppc64le-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-ppc64le.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-ppc64le_2.6.2_linux_ppc64le.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-riscv64",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-riscv64-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-riscv64-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-riscv64.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-riscv64_2.6.2_linux_riscv64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-s390x",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-s390x-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-s390x-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-s390x.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-linux-s390x_2.6.2_linux_s390x.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-windows-amd64.exe",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-windows-amd64.exe-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-windows-amd64.exe-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-windows-amd64.exe.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign-windows-amd64.exe_2.6.2_windows_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_aarch64.apk",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_aarch64.apk-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_aarch64.apk-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_amd64.deb",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_amd64.deb-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_amd64.deb-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_arm64.deb",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_arm64.deb-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_arm64.deb-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_armhf.deb",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_armhf.deb-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_armhf.deb-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_armv7.apk",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_armv7.apk-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_armv7.apk-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_ppc64el.deb",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_ppc64el.deb-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_ppc64el.deb-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_ppc64le.apk",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_ppc64le.apk-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_ppc64le.apk-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_riscv64.apk",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_riscv64.apk-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_riscv64.apk-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_riscv64.deb",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_riscv64.deb-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_riscv64.deb-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_s390x.apk",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_s390x.apk-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_s390x.apk-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_s390x.deb",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_s390x.deb-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_s390x.deb-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_x86_64.apk",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_x86_64.apk-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_2.6.2_x86_64.apk-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_checksums.txt",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_checksums.txt-keyless.pem",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/cosign_checksums.txt-keyless.sig",
"https://github.com/sigstore/cosign/releases/download/v2.6.2/release-cosign.pub"
]
},
"v3.0.3": {
"id": 268935494,
"tag_name": "v3.0.3",
"html_url": "https://github.com/sigstore/cosign/releases/tag/v3.0.3",
"assets": [
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.aarch64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.aarch64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.armv7hl.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.armv7hl.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.ppc64le.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.ppc64le.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.riscv64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.riscv64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.s390x.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.s390x.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.x86_64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-3.0.3-1.x86_64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-darwin-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-darwin-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-darwin-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-darwin-amd64_3.0.3_darwin_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-darwin-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-darwin-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-darwin-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-darwin-arm64_3.0.3_darwin_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-amd64_3.0.3_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-arm",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-arm-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-arm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-arm64_3.0.3_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-arm_3.0.3_linux_arm.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-pivkey-pkcs11key-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-pivkey-pkcs11key-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-pivkey-pkcs11key-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-pivkey-pkcs11key-amd64_3.0.3_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-pivkey-pkcs11key-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-pivkey-pkcs11key-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-pivkey-pkcs11key-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-pivkey-pkcs11key-arm64_3.0.3_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-ppc64le",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-ppc64le-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-ppc64le.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-ppc64le_3.0.3_linux_ppc64le.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-riscv64",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-riscv64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-riscv64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-riscv64_3.0.3_linux_riscv64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-s390x",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-s390x-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-s390x.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-linux-s390x_3.0.3_linux_s390x.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-windows-amd64.exe",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-windows-amd64.exe-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-windows-amd64.exe.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign-windows-amd64.exe_3.0.3_windows_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_aarch64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_aarch64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_amd64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_amd64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_arm64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_arm64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_armhf.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_armhf.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_armv7.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_armv7.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_ppc64el.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_ppc64el.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_ppc64le.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_ppc64le.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_riscv64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_riscv64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_riscv64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_riscv64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_s390x.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_s390x.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_s390x.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_s390x.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_x86_64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_3.0.3_x86_64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_checksums.txt",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/cosign_checksums.txt.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.3/release-cosign.pub"
] ]
}, },
"v3.0.2": { "v3.0.2": {
@@ -3106,93 +3406,93 @@
] ]
}, },
"edge": { "edge": {
"id": 253720294, "id": 275625037,
"tag_name": "v3.0.2", "tag_name": "v3.0.4",
"html_url": "https://github.com/sigstore/cosign/releases/tag/v3.0.2", "html_url": "https://github.com/sigstore/cosign/releases/tag/v3.0.4",
"assets": [ "assets": [
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.aarch64.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.aarch64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.aarch64.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.aarch64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.armv7hl.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.armv7hl.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.armv7hl.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.armv7hl.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.ppc64le.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.ppc64le.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.ppc64le.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.ppc64le.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.riscv64.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.riscv64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.riscv64.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.riscv64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.s390x.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.s390x.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.s390x.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.s390x.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.x86_64.rpm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.x86_64.rpm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-3.0.2-1.x86_64.rpm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-3.0.4-1.x86_64.rpm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-amd64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-amd64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-amd64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-amd64_3.0.2_darwin_amd64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-amd64_3.0.4_darwin_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-arm64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-arm64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-arm64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-darwin-arm64_3.0.2_darwin_arm64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-darwin-arm64_3.0.4_darwin_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-amd64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-amd64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-amd64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-amd64_3.0.2_linux_amd64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-amd64_3.0.4_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm64_3.0.2_linux_arm64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm64_3.0.4_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-arm_3.0.2_linux_arm.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-arm_3.0.4_linux_arm.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-amd64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-amd64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-amd64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-amd64_3.0.2_linux_amd64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-amd64_3.0.4_linux_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-arm64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-arm64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-arm64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-pivkey-pkcs11key-arm64_3.0.2_linux_arm64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-pivkey-pkcs11key-arm64_3.0.4_linux_arm64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-ppc64le", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-ppc64le-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-ppc64le.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-ppc64le_3.0.2_linux_ppc64le.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-ppc64le_3.0.4_linux_ppc64le.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-riscv64", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-riscv64-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-riscv64.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-riscv64_3.0.2_linux_riscv64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-riscv64_3.0.4_linux_riscv64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-s390x", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-s390x-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-s390x.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-linux-s390x_3.0.2_linux_s390x.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-linux-s390x_3.0.4_linux_s390x.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-windows-amd64.exe", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-windows-amd64.exe-kms.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe-kms.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-windows-amd64.exe.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign-windows-amd64.exe_3.0.2_windows_amd64.sbom.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign-windows-amd64.exe_3.0.4_windows_amd64.sbom.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_aarch64.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_aarch64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_aarch64.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_aarch64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_amd64.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_amd64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_amd64.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_amd64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_arm64.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_arm64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_arm64.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_arm64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_armhf.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armhf.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_armhf.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armhf.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_armv7.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armv7.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_armv7.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_armv7.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_ppc64el.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64el.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_ppc64el.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64el.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_ppc64le.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64le.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_ppc64le.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_ppc64le.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_riscv64.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_riscv64.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_riscv64.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_riscv64.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_riscv64.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_s390x.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_s390x.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_s390x.deb", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.deb",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_s390x.deb.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_s390x.deb.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_x86_64.apk", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_x86_64.apk",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_3.0.2_x86_64.apk.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_3.0.4_x86_64.apk.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_checksums.txt", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_checksums.txt",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/cosign_checksums.txt.sigstore.json", "https://github.com/sigstore/cosign/releases/download/v3.0.4/cosign_checksums.txt.sigstore.json",
"https://github.com/sigstore/cosign/releases/download/v3.0.2/release-cosign.pub" "https://github.com/sigstore/cosign/releases/download/v3.0.4/release-cosign.pub"
] ]
}, },
"v2.0.0-rc.3": { "v2.0.0-rc.3": {

View File

@@ -1,6 +1,7 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: "github-actions" - package-ecosystem: "github-actions"
open-pull-requests-limit: 20
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
@@ -8,6 +9,7 @@ updates:
- "dependencies" - "dependencies"
- "bot" - "bot"
- package-ecosystem: "npm" - package-ecosystem: "npm"
open-pull-requests-limit: 20
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"

View File

@@ -1,14 +1,98 @@
{ {
"latest": { "latest": {
"id": 252833798, "id": 275290406,
"tag_name": "v28.5.1", "tag_name": "docker-v29.1.4",
"html_url": "https://github.com/moby/moby/releases/tag/v28.5.1", "html_url": "https://github.com/moby/moby/releases/tag/docker-v29.1.4",
"assets": []
},
"v29.1.4": {
"id": 275290406,
"tag_name": "docker-v29.1.4",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.1.4",
"assets": [] "assets": []
}, },
"edge": { "edge": {
"id": 258289954, "id": 271147963,
"tag_name": "docker-v29.0.0-rc.2", "tag_name": "docker-v29.2.0-rc.1",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.0.0-rc.2", "html_url": "https://github.com/moby/moby/releases/tag/docker-v29.2.0-rc.1",
"assets": []
},
"v29.2.0-rc.1": {
"id": 271147963,
"tag_name": "docker-v29.2.0-rc.1",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.2.0-rc.1",
"assets": []
},
"v29.1.3": {
"id": 269884470,
"tag_name": "docker-v29.1.3",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.1.3",
"assets": []
},
"v29.1.2": {
"id": 266898070,
"tag_name": "docker-v29.1.2",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.1.2",
"assets": []
},
"v29.1.1": {
"id": 265971746,
"tag_name": "docker-v29.1.1",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.1.1",
"assets": []
},
"v29.1.0": {
"id": 265770897,
"tag_name": "docker-v29.1.0",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.1.0",
"assets": []
},
"v29.0.4": {
"id": 264940208,
"tag_name": "docker-v29.0.4",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.0.4",
"assets": []
},
"v29.0.3": {
"id": 264058657,
"tag_name": "docker-v29.0.3",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.0.3",
"assets": []
},
"v29.0.2": {
"id": 262951416,
"tag_name": "docker-v29.0.2",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.0.2",
"assets": []
},
"v29.1.0-rc.1": {
"id": 263125085,
"tag_name": "docker-v29.1.0-rc.1",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.1.0-rc.1",
"assets": []
},
"v29.0.1": {
"id": 262245944,
"tag_name": "docker-v29.0.1",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.0.1",
"assets": []
},
"v29.0.0": {
"id": 261265152,
"tag_name": "docker-v29.0.0",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.0.0",
"assets": []
},
"v29.0.0-rc.3": {
"id": 260452080,
"tag_name": "docker-v29.0.0-rc.3",
"html_url": "https://github.com/moby/moby/releases/tag/docker-v29.0.0-rc.3",
"assets": []
},
"v28.5.2": {
"id": 259852183,
"tag_name": "v28.5.2",
"html_url": "https://github.com/moby/moby/releases/tag/v28.5.2",
"assets": [] "assets": []
}, },
"v29.0.0-rc.2": { "v29.0.0-rc.2": {

View File

@@ -1,31 +1,136 @@
{ {
"latest": { "latest": {
"id": 243486094, "id": 268115419,
"tag_name": "v0.9.2", "tag_name": "v0.11.1",
"html_url": "https://github.com/regclient/regclient/releases/tag/v0.9.2", "html_url": "https://github.com/regclient/regclient/releases/tag/v0.11.1",
"assets": [ "assets": [
"https://github.com/regclient/regclient/releases/download/v0.9.2/metadata.tgz", "https://github.com/regclient/regclient/releases/download/v0.11.1/metadata.tgz",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regbot-darwin-amd64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regbot-darwin-arm64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regbot-linux-amd64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-freebsd-amd64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regbot-linux-arm64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regbot-linux-ppc64le", "https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regbot-linux-s390x", "https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regbot-windows-amd64.exe", "https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-riscv64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regctl-darwin-amd64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regctl-darwin-arm64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-windows-amd64.exe",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regctl-linux-amd64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regctl-linux-arm64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regctl-linux-ppc64le", "https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-freebsd-amd64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regctl-linux-s390x", "https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regctl-windows-amd64.exe", "https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regsync-darwin-amd64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regsync-darwin-arm64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-riscv64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regsync-linux-amd64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regsync-linux-arm64", "https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-windows-amd64.exe",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regsync-linux-ppc64le", "https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regsync-linux-s390x", "https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.9.2/regsync-windows-amd64.exe" "https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-freebsd-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-riscv64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-windows-amd64.exe"
]
},
"v0.11.1": {
"id": 268115419,
"tag_name": "v0.11.1",
"html_url": "https://github.com/regclient/regclient/releases/tag/v0.11.1",
"assets": [
"https://github.com/regclient/regclient/releases/download/v0.11.1/metadata.tgz",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-freebsd-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-riscv64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regbot-windows-amd64.exe",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-freebsd-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-riscv64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regctl-windows-amd64.exe",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-freebsd-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-riscv64",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.11.1/regsync-windows-amd64.exe"
]
},
"v0.11.0": {
"id": 266508831,
"tag_name": "v0.11.0",
"html_url": "https://github.com/regclient/regclient/releases/tag/v0.11.0",
"assets": [
"https://github.com/regclient/regclient/releases/download/v0.11.0/metadata.tgz",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regbot-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regbot-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regbot-freebsd-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regbot-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regbot-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regbot-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regbot-linux-riscv64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regbot-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regbot-windows-amd64.exe",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regctl-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regctl-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regctl-freebsd-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regctl-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regctl-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regctl-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regctl-linux-riscv64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regctl-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regctl-windows-amd64.exe",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regsync-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regsync-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regsync-freebsd-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regsync-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regsync-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regsync-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regsync-linux-riscv64",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regsync-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.11.0/regsync-windows-amd64.exe"
]
},
"v0.10.0": {
"id": 260956263,
"tag_name": "v0.10.0",
"html_url": "https://github.com/regclient/regclient/releases/tag/v0.10.0",
"assets": [
"https://github.com/regclient/regclient/releases/download/v0.10.0/metadata.tgz",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regbot-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regbot-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regbot-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regbot-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regbot-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regbot-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regbot-windows-amd64.exe",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regctl-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regctl-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regctl-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regctl-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regctl-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regctl-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regctl-windows-amd64.exe",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regsync-darwin-amd64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regsync-darwin-arm64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regsync-linux-amd64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regsync-linux-arm64",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regsync-linux-ppc64le",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regsync-linux-s390x",
"https://github.com/regclient/regclient/releases/download/v0.10.0/regsync-windows-amd64.exe"
] ]
}, },
"v0.9.2": { "v0.9.2": {

View File

@@ -1,46 +1,90 @@
{ {
"latest": { "latest": {
"id": 213293369, "id": 273439938,
"tag_name": "v0.10.0", "tag_name": "v0.11.0",
"html_url": "https://github.com/crazy-max/undock/releases/tag/v0.10.0", "html_url": "https://github.com/crazy-max/undock/releases/tag/v0.11.0",
"assets": [ "assets": [
"https://github.com/crazy-max/undock/releases/download/v0.10.0/checksums.txt", "https://github.com/crazy-max/undock/releases/download/v0.11.0/checksums.txt",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_amd64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_amd64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_amd64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_arm64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_arm64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_arm64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_amd64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_amd64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_amd64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_arm64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_arm64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_arm64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv5.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv5.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv5.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv5.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv5.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv5.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv6.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv6.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv6.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv6.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv6.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv6.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv7.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv7.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv7.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv7.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv7.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv7.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_ppc64le.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_ppc64le.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_ppc64le.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_ppc64le.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_ppc64le.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_ppc64le.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_riscv64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_riscv64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_riscv64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_riscv64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_riscv64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_riscv64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_s390x.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_s390x.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_s390x.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_s390x.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_s390x.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_s390x.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_amd64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_amd64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_amd64.zip", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_amd64.zip",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_arm64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_arm64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_arm64.zip" "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_arm64.zip"
]
},
"v0.11.0": {
"id": 273439938,
"tag_name": "v0.11.0",
"html_url": "https://github.com/crazy-max/undock/releases/tag/v0.11.0",
"assets": [
"https://github.com/crazy-max/undock/releases/download/v0.11.0/checksums.txt",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv5.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv5.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv5.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv6.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv6.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv6.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv7.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv7.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv7.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_ppc64le.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_ppc64le.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_ppc64le.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_riscv64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_riscv64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_riscv64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_s390x.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_s390x.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_s390x.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_amd64.zip",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_arm64.zip"
] ]
}, },
"v0.10.0": { "v0.10.0": {
@@ -197,47 +241,47 @@
] ]
}, },
"edge": { "edge": {
"id": 213293369, "id": 273439938,
"tag_name": "v0.10.0", "tag_name": "v0.11.0",
"html_url": "https://github.com/crazy-max/undock/releases/tag/v0.10.0", "html_url": "https://github.com/crazy-max/undock/releases/tag/v0.11.0",
"assets": [ "assets": [
"https://github.com/crazy-max/undock/releases/download/v0.10.0/checksums.txt", "https://github.com/crazy-max/undock/releases/download/v0.11.0/checksums.txt",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_amd64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_amd64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_amd64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_arm64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_arm64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_darwin_arm64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_darwin_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_amd64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_amd64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_amd64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_arm64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_arm64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_arm64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv5.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv5.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv5.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv5.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv5.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv5.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv6.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv6.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv6.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv6.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv6.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv6.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv7.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv7.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv7.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv7.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_armv7.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_armv7.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_ppc64le.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_ppc64le.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_ppc64le.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_ppc64le.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_ppc64le.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_ppc64le.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_riscv64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_riscv64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_riscv64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_riscv64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_riscv64.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_riscv64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_s390x.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_s390x.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_s390x.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_s390x.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_s390x.tar.gz", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_linux_s390x.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_amd64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_amd64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_amd64.zip", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_amd64.zip",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_arm64.provenance.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_arm64.sbom.json", "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_windows_arm64.zip" "https://github.com/crazy-max/undock/releases/download/v0.11.0/undock_0.11.0_windows_arm64.zip"
] ]
}, },
"v0.7.0-rc.1": { "v0.7.0-rc.1": {

View File

@@ -17,7 +17,7 @@ on:
jobs: jobs:
generate: generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@34fd436075cac6431d2036d5f6f1c3f3d4687ac5 uses: crazy-max/.github/.github/workflows/releases-json.yml@2842b806167c9dbacf5f972e0fcf47204a99d987
with: with:
repository: docker/buildx-desktop repository: docker/buildx-desktop
artifact_name: buildx-lab-releases-json artifact_name: buildx-lab-releases-json
@@ -32,10 +32,10 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Download name: Download
uses: actions/download-artifact@v6 uses: actions/download-artifact@v7
with: with:
name: buildx-lab-releases-json name: buildx-lab-releases-json
path: .github path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A . git add -A .
- -
name: Create PR name: Create PR
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with: with:
base: main base: main
branch: bot/buildx-lab-releases-json branch: bot/buildx-lab-releases-json

View File

@@ -17,7 +17,7 @@ on:
jobs: jobs:
generate: generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@34fd436075cac6431d2036d5f6f1c3f3d4687ac5 uses: crazy-max/.github/.github/workflows/releases-json.yml@2842b806167c9dbacf5f972e0fcf47204a99d987
with: with:
repository: docker/buildx repository: docker/buildx
artifact_name: buildx-releases-json artifact_name: buildx-releases-json
@@ -32,10 +32,10 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Download name: Download
uses: actions/download-artifact@v6 uses: actions/download-artifact@v7
with: with:
name: buildx-releases-json name: buildx-releases-json
path: .github path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A . git add -A .
- -
name: Create PR name: Create PR
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with: with:
base: main base: main
branch: bot/buildx-releases-json branch: bot/buildx-releases-json

View File

@@ -20,7 +20,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Enable corepack name: Enable corepack
run: | run: |

View File

@@ -17,7 +17,7 @@ on:
jobs: jobs:
generate: generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@34fd436075cac6431d2036d5f6f1c3f3d4687ac5 uses: crazy-max/.github/.github/workflows/releases-json.yml@2842b806167c9dbacf5f972e0fcf47204a99d987
with: with:
repository: docker/compose-desktop repository: docker/compose-desktop
artifact_name: compose-lab-releases-json artifact_name: compose-lab-releases-json
@@ -32,10 +32,10 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Download name: Download
uses: actions/download-artifact@v6 uses: actions/download-artifact@v7
with: with:
name: compose-lab-releases-json name: compose-lab-releases-json
path: .github path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A . git add -A .
- -
name: Create PR name: Create PR
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with: with:
base: main base: main
branch: bot/compose-lab-releases-json branch: bot/compose-lab-releases-json

View File

@@ -17,7 +17,7 @@ on:
jobs: jobs:
generate: generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@34fd436075cac6431d2036d5f6f1c3f3d4687ac5 uses: crazy-max/.github/.github/workflows/releases-json.yml@2842b806167c9dbacf5f972e0fcf47204a99d987
with: with:
repository: docker/compose repository: docker/compose
artifact_name: compose-releases-json artifact_name: compose-releases-json
@@ -32,10 +32,10 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Download name: Download
uses: actions/download-artifact@v6 uses: actions/download-artifact@v7
with: with:
name: compose-releases-json name: compose-releases-json
path: .github path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A . git add -A .
- -
name: Create PR name: Create PR
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with: with:
base: main base: main
branch: bot/compose-releases-json branch: bot/compose-releases-json

View File

@@ -17,7 +17,7 @@ on:
jobs: jobs:
generate: generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@34fd436075cac6431d2036d5f6f1c3f3d4687ac5 uses: crazy-max/.github/.github/workflows/releases-json.yml@2842b806167c9dbacf5f972e0fcf47204a99d987
with: with:
repository: sigstore/cosign repository: sigstore/cosign
artifact_name: cosign-releases-json artifact_name: cosign-releases-json
@@ -32,10 +32,10 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Download name: Download
uses: actions/download-artifact@v6 uses: actions/download-artifact@v7
with: with:
name: cosign-releases-json name: cosign-releases-json
path: .github path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A . git add -A .
- -
name: Create PR name: Create PR
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with: with:
base: main base: main
branch: bot/cosign-releases-json branch: bot/cosign-releases-json

View File

@@ -17,12 +17,14 @@ on:
jobs: jobs:
generate: generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@34fd436075cac6431d2036d5f6f1c3f3d4687ac5 uses: crazy-max/.github/.github/workflows/releases-json.yml@2842b806167c9dbacf5f972e0fcf47204a99d987
with: with:
repository: moby/moby repository: moby/moby
artifact_name: docker-releases-json artifact_name: docker-releases-json
filename: docker-releases.json filename: docker-releases.json
tag_pattern: '^docker-(.*)$' tag_patterns: |
^docker-(.*)$
^(v.*)$
secrets: inherit secrets: inherit
open-pr: open-pr:
@@ -33,10 +35,10 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Download name: Download
uses: actions/download-artifact@v6 uses: actions/download-artifact@v7
with: with:
name: docker-releases-json name: docker-releases-json
path: .github path: .github
@@ -46,7 +48,7 @@ jobs:
git add -A . git add -A .
- -
name: Create PR name: Create PR
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with: with:
base: main base: main
branch: bot/docker-releases-json branch: bot/docker-releases-json

View File

@@ -1,5 +1,9 @@
name: publish name: publish
permissions:
id-token: write # required for OIDC
contents: write # required to create GitHub Release
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
@@ -9,17 +13,49 @@ on:
tags: tags:
- 'v*' - 'v*'
env:
NODE_VERSION: "24" # at least Node 24 is required for Trusted Publishing with OIDC
jobs: jobs:
publish: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- -
name: Set up Docker Buildx name: Checkout
uses: docker/setup-buildx-action@v3 uses: actions/checkout@v6
-
name: Enable corepack
run: |
corepack enable
yarn --version
-
name: Setup Node
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
package-manager-cache: false
-
name: Print versions
run: |
node --version
npm --version
yarn --version
-
name: Build
run: |
yarn install
yarn run build
- -
name: Publish name: Publish
uses: docker/bake-action@v6 run: |
npm version --no-git-tag-version ${GITHUB_REF#refs/tags/v}
npm publish --provenance --access public
-
name: Create Release
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
with: with:
targets: publish draft: true
generate_release_notes: true
env: env:
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -17,7 +17,7 @@ on:
jobs: jobs:
generate: generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@34fd436075cac6431d2036d5f6f1c3f3d4687ac5 uses: crazy-max/.github/.github/workflows/releases-json.yml@2842b806167c9dbacf5f972e0fcf47204a99d987
with: with:
repository: regclient/regclient repository: regclient/regclient
artifact_name: regclient-releases-json artifact_name: regclient-releases-json
@@ -32,10 +32,10 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Download name: Download
uses: actions/download-artifact@v6 uses: actions/download-artifact@v7
with: with:
name: regclient-releases-json name: regclient-releases-json
path: .github path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A . git add -A .
- -
name: Create PR name: Create PR
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with: with:
base: main base: main
branch: bot/regclient-releases-json branch: bot/regclient-releases-json

View File

@@ -16,7 +16,7 @@ on:
env: env:
NODE_VERSION: "20" NODE_VERSION: "20"
BUILDX_VERSION: "edge" BUILDX_VERSION: "edge"
BUILDKIT_IMAGE: "moby/buildkit:v0.25.0" BUILDKIT_IMAGE: "moby/buildkit:v0.26.3"
jobs: jobs:
test: test:
@@ -34,7 +34,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Test name: Test
uses: docker/bake-action@v6 uses: docker/bake-action@v6
@@ -69,7 +69,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Enable corepack name: Enable corepack
run: | run: |
@@ -149,10 +149,11 @@ jobs:
permissions: permissions:
contents: read contents: read
id-token: write # needed for signing with GitHub OIDC Token id-token: write # needed for signing with GitHub OIDC Token
packages: write # needed for pushing to GitHub Container Registry
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Expose GitHub Runtime name: Expose GitHub Runtime
uses: crazy-max/ghaction-github-runtime@v3 uses: crazy-max/ghaction-github-runtime@v3

View File

@@ -17,7 +17,7 @@ on:
jobs: jobs:
generate: generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@34fd436075cac6431d2036d5f6f1c3f3d4687ac5 uses: crazy-max/.github/.github/workflows/releases-json.yml@2842b806167c9dbacf5f972e0fcf47204a99d987
with: with:
repository: crazy-max/undock repository: crazy-max/undock
artifact_name: undock-releases-json artifact_name: undock-releases-json
@@ -32,10 +32,10 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: Download name: Download
uses: actions/download-artifact@v6 uses: actions/download-artifact@v7
with: with:
name: undock-releases-json name: undock-releases-json
path: .github path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A . git add -A .
- -
name: Create PR name: Create PR
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with: with:
base: main base: main
branch: bot/undock-releases-json branch: bot/undock-releases-json

View File

@@ -21,7 +21,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- -
name: List targets name: List targets
id: generate id: generate

View File

@@ -485,3 +485,113 @@ describe('hasGitAuthTokenSecret', () => {
expect(Bake.hasGitAuthTokenSecret(def)).toEqual(expected); expect(Bake.hasGitAuthTokenSecret(def)).toEqual(expected);
}); });
}); });
describe('hasProvenanceAttestation', () => {
// prettier-ignore
test.each([
[
{
"target": {
"build": {
"attest": [
{
"type": "provenance",
"mode": "max"
}
]
},
}
} as unknown as BakeDefinition,
true
],
[
{
"target": {
"build": {
"attest": [
{
"type": "sbom"
}
]
},
}
} as unknown as BakeDefinition,
false
],
[
{
"target": {
"build": {
"attest": [
{
"type": "sbom"
},
{
"type": "provenance",
"mode": "max"
}
]
},
}
} as unknown as BakeDefinition,
true
]
])('given %o returns %p', async (def: BakeDefinition, expected: boolean) => {
expect(Bake.hasProvenanceAttestation(def)).toEqual(expected);
});
});
describe('hasSBOMAttestation', () => {
// prettier-ignore
test.each([
[
{
"target": {
"build": {
"attest": [
{
"type": "provenance",
"mode": "max"
}
]
},
}
} as unknown as BakeDefinition,
false
],
[
{
"target": {
"build": {
"attest": [
{
"type": "sbom"
}
]
},
}
} as unknown as BakeDefinition,
true
],
[
{
"target": {
"build": {
"attest": [
{
"type": "sbom"
},
{
"type": "provenance",
"mode": "max"
}
]
},
}
} as unknown as BakeDefinition,
true
]
])('given %o returns %p', async (def: BakeDefinition, expected: boolean) => {
expect(Bake.hasSBOMAttestation(def)).toEqual(expected);
});
});

View File

@@ -49,7 +49,6 @@ describe('exists', () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput'); const execSpy = jest.spyOn(Exec, 'getExecOutput');
const builder = new Builder(); const builder = new Builder();
await builder.exists('foo'); await builder.exists('foo');
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`docker`, ['buildx', 'inspect', 'foo'], { expect(execSpy).toHaveBeenCalledWith(`docker`, ['buildx', 'inspect', 'foo'], {
silent: true, silent: true,
ignoreReturnCode: true ignoreReturnCode: true

View File

@@ -91,7 +91,6 @@ describe('isAvailable', () => {
standalone: false standalone: false
}); });
await buildx.isAvailable(); await buildx.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`docker`, ['buildx'], { expect(execSpy).toHaveBeenCalledWith(`docker`, ['buildx'], {
silent: true, silent: true,
ignoreReturnCode: true ignoreReturnCode: true
@@ -103,7 +102,6 @@ describe('isAvailable', () => {
standalone: true standalone: true
}); });
await buildx.isAvailable(); await buildx.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`buildx`, [], { expect(execSpy).toHaveBeenCalledWith(`buildx`, [], {
silent: true, silent: true,
ignoreReturnCode: true ignoreReturnCode: true

View File

@@ -94,7 +94,6 @@ describe('download', () => {
}); });
describe('build', () => { describe('build', () => {
// eslint-disable-next-line jest/no-disabled-tests
it.skip('builds refs/pull/648/head', async () => { it.skip('builds refs/pull/648/head', async () => {
const install = new Install(); const install = new Install();
const toolPath = await install.build('https://github.com/docker/buildx.git#refs/pull/648/head'); const toolPath = await install.build('https://github.com/docker/buildx.git#refs/pull/648/head');
@@ -103,7 +102,6 @@ describe('build', () => {
expect(fs.existsSync(buildxBin)).toBe(true); expect(fs.existsSync(buildxBin)).toBe(true);
}, 100000); }, 100000);
// eslint-disable-next-line jest/no-disabled-tests
it.skip('builds 67bd6f4dc82a9cd96f34133dab3f6f7af803bb14', async () => { it.skip('builds 67bd6f4dc82a9cd96f34133dab3f6f7af803bb14', async () => {
const install = new Install(); const install = new Install();
const toolPath = await install.build('https://github.com/docker/buildx.git#67bd6f4dc82a9cd96f34133dab3f6f7af803bb14'); const toolPath = await install.build('https://github.com/docker/buildx.git#67bd6f4dc82a9cd96f34133dab3f6f7af803bb14');

View File

@@ -49,7 +49,6 @@ describe('isAvailable', () => {
standalone: false standalone: false
}); });
await compose.isAvailable(); await compose.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`docker`, ['compose'], { expect(execSpy).toHaveBeenCalledWith(`docker`, ['compose'], {
silent: true, silent: true,
ignoreReturnCode: true ignoreReturnCode: true
@@ -61,7 +60,6 @@ describe('isAvailable', () => {
standalone: true standalone: true
}); });
await compose.isAvailable(); await compose.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`compose`, [], { expect(execSpy).toHaveBeenCalledWith(`compose`, [], {
silent: true, silent: true,
ignoreReturnCode: true ignoreReturnCode: true

View File

@@ -29,7 +29,6 @@ describe('isAvailable', () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput'); const execSpy = jest.spyOn(Exec, 'getExecOutput');
const cosign = new Cosign(); const cosign = new Cosign();
await cosign.isAvailable(); await cosign.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`cosign`, [], { expect(execSpy).toHaveBeenCalledWith(`cosign`, [], {
silent: true, silent: true,
ignoreReturnCode: true ignoreReturnCode: true

View File

@@ -27,7 +27,10 @@ describe('download', () => {
'install cosign %s', async (version) => { 'install cosign %s', async (version) => {
await expect((async () => { await expect((async () => {
const install = new Install(); const install = new Install();
const toolPath = await install.download(version); const toolPath = await install.download({
version: version,
verifySignature: true
});
if (!fs.existsSync(toolPath)) { if (!fs.existsSync(toolPath)) {
throw new Error('toolPath does not exist'); throw new Error('toolPath does not exist');
} }

View File

@@ -38,7 +38,7 @@ describe('download', () => {
])( ])(
'acquires %p of cosign', async (version) => { 'acquires %p of cosign', async (version) => {
const install = new Install(); const install = new Install();
const toolPath = await install.download(version); const toolPath = await install.download({version});
expect(fs.existsSync(toolPath)).toBe(true); expect(fs.existsSync(toolPath)).toBe(true);
const cosignBin = await install.install(toolPath, tmpDir); const cosignBin = await install.install(toolPath, tmpDir);
expect(fs.existsSync(cosignBin)).toBe(true); expect(fs.existsSync(cosignBin)).toBe(true);
@@ -52,7 +52,7 @@ describe('download', () => {
])( ])(
'acquires %p of cosign with cache', async (version) => { 'acquires %p of cosign with cache', async (version) => {
const install = new Install(); const install = new Install();
const toolPath = await install.download(version); const toolPath = await install.download({version});
expect(fs.existsSync(toolPath)).toBe(true); expect(fs.existsSync(toolPath)).toBe(true);
}, 100000); }, 100000);
@@ -63,7 +63,10 @@ describe('download', () => {
])( ])(
'acquires %p of cosign without cache', async (version) => { 'acquires %p of cosign without cache', async (version) => {
const install = new Install(); const install = new Install();
const toolPath = await install.download(version, true); const toolPath = await install.download({
version: version,
ghaNoCache: true
});
expect(fs.existsSync(toolPath)).toBe(true); expect(fs.existsSync(toolPath)).toBe(true);
}, 100000); }, 100000);
@@ -80,7 +83,9 @@ describe('download', () => {
jest.spyOn(osm, 'platform').mockImplementation(() => os as NodeJS.Platform); jest.spyOn(osm, 'platform').mockImplementation(() => os as NodeJS.Platform);
jest.spyOn(osm, 'arch').mockImplementation(() => arch); jest.spyOn(osm, 'arch').mockImplementation(() => arch);
const install = new Install(); const install = new Install();
const cosignBin = await install.download('latest'); const cosignBin = await install.download({
version: 'latest'
});
expect(fs.existsSync(cosignBin)).toBe(true); expect(fs.existsSync(cosignBin)).toBe(true);
}, 100000); }, 100000);
}); });

View File

@@ -57,7 +57,7 @@ describe('isInsideWorkTree', () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput'); const execSpy = jest.spyOn(Exec, 'getExecOutput');
try { try {
await Git.isInsideWorkTree(); await Git.isInsideWorkTree();
} catch (err) { } catch {
// noop // noop
} }
expect(execSpy).toHaveBeenCalledWith(`git`, ['rev-parse', '--is-inside-work-tree'], { expect(execSpy).toHaveBeenCalledWith(`git`, ['rev-parse', '--is-inside-work-tree'], {
@@ -81,7 +81,7 @@ describe('remoteURL', () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput'); const execSpy = jest.spyOn(Exec, 'getExecOutput');
try { try {
await Git.remoteURL(); await Git.remoteURL();
} catch (err) { } catch {
// noop // noop
} }
expect(execSpy).toHaveBeenCalledWith(`git`, ['remote', 'get-url', 'origin'], { expect(execSpy).toHaveBeenCalledWith(`git`, ['remote', 'get-url', 'origin'], {
@@ -233,6 +233,208 @@ describe('ref', () => {
expect(ref).toEqual('refs/heads/test'); expect(ref).toEqual('refs/heads/test');
}); });
it('returns mocked detached branch ref checked out by SHA', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'HEAD, origin/feature-branch';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
const ref = await Git.ref();
expect(ref).toEqual('refs/heads/feature-branch');
});
it('infers ref from local branch when detached HEAD returns only "HEAD"', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'HEAD';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/heads/':
result = 'refs/heads/main\nrefs/heads/develop';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
const ref = await Git.ref();
expect(ref).toEqual('refs/heads/main');
});
it('infers ref from local branch when detached HEAD returns only "grafted, HEAD"', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'grafted, HEAD';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/heads/':
result = 'refs/heads/main\nrefs/heads/develop';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
const ref = await Git.ref();
expect(ref).toEqual('refs/heads/main');
});
it('infers ref from remote branch when no local branch contains HEAD', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'HEAD';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/heads/':
result = '';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/remotes/':
result = 'refs/remotes/origin/feature';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
const ref = await Git.ref();
expect(ref).toEqual('refs/heads/feature');
});
it('infers ref from tag when no branch contains HEAD', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'HEAD';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/heads/':
result = '';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/remotes/':
result = '';
break;
case 'git tag --contains HEAD':
result = 'v1.0.0\nv0.9.0';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
const ref = await Git.ref();
expect(ref).toEqual('refs/tags/v1.0.0');
});
it('throws error when cannot infer ref from detached HEAD', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'HEAD';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/heads/':
result = '';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/remotes/':
result = '';
break;
case 'git tag --contains HEAD':
result = '';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
await expect(Git.ref()).rejects.toThrow('Cannot infer ref from detached HEAD');
});
it('handles remote ref without branch pattern when inferring from remote', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'HEAD';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/heads/':
result = '';
break;
case 'git for-each-ref --format=%(refname) --contains HEAD --sort=-committerdate refs/remotes/':
result = 'refs/remotes/unusual-format';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
const ref = await Git.ref();
expect(ref).toEqual('refs/remotes/unusual-format');
});
}); });
describe('fullCommit', () => { describe('fullCommit', () => {
@@ -240,7 +442,7 @@ describe('fullCommit', () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput'); const execSpy = jest.spyOn(Exec, 'getExecOutput');
try { try {
await Git.fullCommit(); await Git.fullCommit();
} catch (err) { } catch {
// noop // noop
} }
expect(execSpy).toHaveBeenCalledWith(`git`, ['show', '--format=%H', 'HEAD', '--quiet', '--'], { expect(execSpy).toHaveBeenCalledWith(`git`, ['show', '--format=%H', 'HEAD', '--quiet', '--'], {
@@ -255,7 +457,7 @@ describe('shortCommit', () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput'); const execSpy = jest.spyOn(Exec, 'getExecOutput');
try { try {
await Git.shortCommit(); await Git.shortCommit();
} catch (err) { } catch {
// noop // noop
} }
expect(execSpy).toHaveBeenCalledWith(`git`, ['show', '--format=%h', 'HEAD', '--quiet', '--'], { expect(execSpy).toHaveBeenCalledWith(`git`, ['show', '--format=%h', 'HEAD', '--quiet', '--'], {
@@ -270,7 +472,7 @@ describe('tag', () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput'); const execSpy = jest.spyOn(Exec, 'getExecOutput');
try { try {
await Git.tag(); await Git.tag();
} catch (err) { } catch {
// noop // noop
} }
expect(execSpy).toHaveBeenCalledWith(`git`, ['tag', '--points-at', 'HEAD', '--sort', '-version:creatordate'], { expect(execSpy).toHaveBeenCalledWith(`git`, ['tag', '--points-at', 'HEAD', '--sort', '-version:creatordate'], {

View File

@@ -141,6 +141,7 @@ describe('actionsRuntimeToken', () => {
it('malformed', async () => { it('malformed', async () => {
process.env.ACTIONS_RUNTIME_TOKEN = 'foo'; process.env.ACTIONS_RUNTIME_TOKEN = 'foo';
expect(() => { expect(() => {
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
GitHub.actionsRuntimeToken; GitHub.actionsRuntimeToken;
}).toThrow(); }).toThrow();
}); });

View File

@@ -85,7 +85,6 @@ describe('isAvailable', () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput'); const execSpy = jest.spyOn(Exec, 'getExecOutput');
const regctl = new Regctl(); const regctl = new Regctl();
await regctl.isAvailable(); await regctl.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`regctl`, [], { expect(execSpy).toHaveBeenCalledWith(`regctl`, [], {
silent: true, silent: true,
ignoreReturnCode: true ignoreReturnCode: true

View File

@@ -14,27 +14,109 @@
* limitations under the License. * limitations under the License.
*/ */
import {describe, expect, jest, it, beforeAll} from '@jest/globals'; import {beforeAll, describe, expect, jest, it, test} from '@jest/globals';
import fs from 'fs'; import fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import {Buildx} from '../../src/buildx/buildx';
import {Build} from '../../src/buildx/build';
import {Install as CosignInstall} from '../../src/cosign/install'; import {Install as CosignInstall} from '../../src/cosign/install';
import {Docker} from '../../src/docker/docker';
import {Exec} from '../../src/exec';
import {Sigstore} from '../../src/sigstore/sigstore'; import {Sigstore} from '../../src/sigstore/sigstore';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const maybe = process.env.GITHUB_ACTIONS && process.env.GITHUB_ACTIONS === 'true' && process.env.ACTIONS_ID_TOKEN_REQUEST_URL && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu') ? describe : describe.skip; const runTest = process.env.GITHUB_ACTIONS && process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu');
const maybe = runTest ? describe : describe.skip;
const maybeIdToken = runTest && process.env.ACTIONS_ID_TOKEN_REQUEST_URL ? describe : describe.skip;
// needs current GitHub repo info // needs current GitHub repo info
jest.unmock('@actions/github'); jest.unmock('@actions/github');
beforeAll(async () => { beforeAll(async () => {
const cosignInstall = new CosignInstall(); const cosignInstall = new CosignInstall();
const cosignBinPath = await cosignInstall.download('v3.0.2', true); const cosignBinPath = await cosignInstall.download({
version: 'v3.0.2'
});
await cosignInstall.install(cosignBinPath); await cosignInstall.install(cosignBinPath);
}, 100000); }, 100000);
maybe('signProvenanceBlobs', () => { maybeIdToken('signAttestationManifests', () => {
it('build, sign and verify', async () => {
const buildx = new Buildx();
const build = new Build({buildx: buildx});
const imageName = 'ghcr.io/docker/actions-toolkit/test';
await expect(
(async () => {
await Docker.getExecOutput(['login', '--password-stdin', '--username', process.env.GITHUB_REPOSITORY_OWNER || 'docker', 'ghcr.io'], {
input: Buffer.from(process.env.GITHUB_TOKEN || '')
});
})()
).resolves.not.toThrow();
await expect(
(async () => {
// prettier-ignore
const buildCmd = await buildx.getCommand([
'--builder', process.env.CTN_BUILDER_NAME ?? 'default',
'build',
'-f', path.join(fixturesDir, 'hello.Dockerfile'),
'--provenance=mode=max',
'--tag', `${imageName}:sigstore-itg`,
'--platform', 'linux/amd64,linux/arm64',
'--push',
'--metadata-file', build.getMetadataFilePath(),
fixturesDir
]);
await Exec.exec(buildCmd.command, buildCmd.args);
})()
).resolves.not.toThrow();
const metadata = build.resolveMetadata();
expect(metadata).toBeDefined();
const buildDigest = build.resolveDigest(metadata);
expect(buildDigest).toBeDefined();
const sigstore = new Sigstore();
const signResults = await sigstore.signAttestationManifests({
imageNames: [imageName],
imageDigest: buildDigest!
});
expect(Object.keys(signResults).length).toEqual(2);
const verifyResults = await sigstore.verifySignedManifests(signResults, {
certificateIdentityRegexp: `^https://github.com/docker/actions-toolkit/.github/workflows/test.yml.*$`
});
expect(Object.keys(verifyResults).length).toEqual(2);
}, 100000);
});
maybe('verifyImageAttestations', () => {
test.each([
['moby/buildkit:master@sha256:84014da3581b2ff2c14cb4f60029cf9caa272b79e58f2e89c651ea6966d7a505', `^https://github.com/docker/github-builder-experimental/.github/workflows/bake.yml.*$`],
['docker/dockerfile-upstream:master@sha256:3e8cd5ebf48acd1a1939649ad1c62ca44c029852b22493c16a9307b654334958', `^https://github.com/docker/github-builder-experimental/.github/workflows/bake.yml.*$`]
])(
'given %p',
async (image, certificateIdentityRegexp) => {
const sigstore = new Sigstore();
const verifyResults = await sigstore.verifyImageAttestations(image, {
certificateIdentityRegexp: certificateIdentityRegexp
});
expect(Object.keys(verifyResults).length).toBeGreaterThan(0);
for (const [attestationRef, res] of Object.entries(verifyResults)) {
expect(attestationRef).toBeDefined();
expect(res.cosignArgs).toBeDefined();
expect(res.signatureManifestDigest).toBeDefined();
}
},
60000
);
});
maybeIdToken('signProvenanceBlobs', () => {
it('single platform', async () => { it('single platform', async () => {
const sigstore = new Sigstore(); const sigstore = new Sigstore();
const results = await sigstore.signProvenanceBlobs({ const results = await sigstore.signProvenanceBlobs({
@@ -44,11 +126,10 @@ maybe('signProvenanceBlobs', () => {
const provenancePath = Object.keys(results)[0]; const provenancePath = Object.keys(results)[0];
expect(provenancePath).toEqual(path.join(fixturesDir, 'sigstore', 'single', 'provenance.json')); expect(provenancePath).toEqual(path.join(fixturesDir, 'sigstore', 'single', 'provenance.json'));
expect(fs.existsSync(results[provenancePath].bundlePath)).toBe(true); expect(fs.existsSync(results[provenancePath].bundlePath)).toBe(true);
expect(results[provenancePath].bundle).toBeDefined(); expect(results[provenancePath].payload).toBeDefined();
expect(results[provenancePath].certificate).toBeDefined(); expect(results[provenancePath].certificate).toBeDefined();
expect(results[provenancePath].tlogID).toBeDefined(); expect(results[provenancePath].tlogID).toBeDefined();
expect(results[provenancePath].attestationID).not.toBeDefined(); console.log(provenancePath, JSON.stringify(results[provenancePath].payload, null, 2));
console.log(provenancePath, JSON.stringify(results[provenancePath].bundle, null, 2));
}); });
it('multi-platform', async () => { it('multi-platform', async () => {
const sigstore = new Sigstore(); const sigstore = new Sigstore();
@@ -59,16 +140,15 @@ maybe('signProvenanceBlobs', () => {
for (const [provenancePath, res] of Object.entries(results)) { for (const [provenancePath, res] of Object.entries(results)) {
expect(provenancePath).toMatch(/linux_(amd64|arm64)\/provenance.json/); expect(provenancePath).toMatch(/linux_(amd64|arm64)\/provenance.json/);
expect(fs.existsSync(res.bundlePath)).toBe(true); expect(fs.existsSync(res.bundlePath)).toBe(true);
expect(res.bundle).toBeDefined(); expect(res.payload).toBeDefined();
expect(res.certificate).toBeDefined(); expect(res.certificate).toBeDefined();
expect(res.tlogID).toBeDefined(); expect(res.tlogID).toBeDefined();
expect(res.attestationID).not.toBeDefined(); console.log(provenancePath, JSON.stringify(res.payload, null, 2));
console.log(provenancePath, JSON.stringify(res.bundle, null, 2));
} }
}); });
}); });
maybe('verifySignedArtifacts', () => { maybeIdToken('verifySignedArtifacts', () => {
it('sign and verify', async () => { it('sign and verify', async () => {
const sigstore = new Sigstore(); const sigstore = new Sigstore();
const signResults = await sigstore.signProvenanceBlobs({ const signResults = await sigstore.signProvenanceBlobs({
@@ -76,12 +156,9 @@ maybe('verifySignedArtifacts', () => {
}); });
expect(Object.keys(signResults).length).toEqual(2); expect(Object.keys(signResults).length).toEqual(2);
const verifyResults = await sigstore.verifySignedArtifacts( const verifyResults = await sigstore.verifySignedArtifacts(signResults, {
{ certificateIdentityRegexp: `^https://github.com/docker/actions-toolkit/.github/workflows/test.yml.*$`
certificateIdentityRegexp: `^https://github.com/docker/actions-toolkit/.github/workflows/test.yml.*$` });
},
signResults
);
expect(Object.keys(verifyResults).length).toEqual(2); expect(Object.keys(verifyResults).length).toEqual(2);
for (const [artifactPath, res] of Object.entries(verifyResults)) { for (const [artifactPath, res] of Object.entries(verifyResults)) {
expect(fs.existsSync(artifactPath)).toBe(true); expect(fs.existsSync(artifactPath)).toBe(true);

View File

@@ -14,16 +14,14 @@
* limitations under the License. * limitations under the License.
*/ */
// eslint-disable-next-line @typescript-eslint/no-var-requires /* eslint-disable @typescript-eslint/no-require-imports */
const fs = require('fs'); const fs = require('fs');
module.exports = results => { module.exports = results => {
const allSkipped = results.testResults.every(result => { const allSkipped = results.testResults.every(result => result.skipped);
return result.skipped;
});
if (allSkipped) { if (allSkipped) {
console.log('All tests were skipped!'); console.log('All tests were skipped!');
// create an empty file to signal that all tests were skipped for CI fs.mkdirSync('./coverage', {recursive: true});
fs.closeSync(fs.openSync('./coverage/allSkipped.txt', 'w')); fs.closeSync(fs.openSync('./coverage/allSkipped.txt', 'w'));
} }
return results; return results;

View File

@@ -46,7 +46,6 @@ describe('isAvailable', () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput'); const execSpy = jest.spyOn(Exec, 'getExecOutput');
const undock = new Undock(); const undock = new Undock();
await undock.isAvailable(); await undock.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`undock`, [], { expect(execSpy).toHaveBeenCalledWith(`undock`, [], {
silent: true, silent: true,
ignoreReturnCode: true ignoreReturnCode: true

View File

@@ -16,11 +16,11 @@
ARG NODE_VERSION=20 ARG NODE_VERSION=20
ARG DOCKER_VERSION=28.3 ARG DOCKER_VERSION=28.3
ARG BUILDX_VERSION=0.29.1 ARG BUILDX_VERSION=0.30.1
ARG COMPOSE_VERSION=2.39.1 ARG COMPOSE_VERSION=2.39.1
ARG UNDOCK_VERSION=0.10.0 ARG UNDOCK_VERSION=0.10.0
ARG REGCTL_VERSION=v0.8.2 ARG REGCTL_VERSION=v0.8.2
ARG COSIGN_VERSION=v3.0.2 ARG COSIGN_VERSION=v3.0.3
FROM node:${NODE_VERSION}-alpine AS base FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git RUN apk add --no-cache cpio findutils git
@@ -101,24 +101,3 @@ RUN --mount=type=bind,target=.,rw \
FROM scratch AS test-coverage FROM scratch AS test-coverage
COPY --from=test /tmp/coverage / COPY --from=test /tmp/coverage /
FROM base AS publish
ARG GITHUB_REF
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
--mount=type=secret,id=NODE_AUTH_TOKEN,env=NODE_AUTH_TOKEN <<EOT
set -e
if ! [[ $GITHUB_REF =~ ^refs/tags/v ]]; then
echo "GITHUB_REF is not a tag"
exit 1
fi
yarn install
yarn run build
npm config set //registry.npmjs.org/:_authToken $NODE_AUTH_TOKEN
npm version --no-git-tag-version ${GITHUB_REF#refs/tags/v}
npm publish --access public
# FIXME: Can't publish with yarn berry atm: https://github.com/changesets/changesets/pull/674
#yarn publish --no-git-tag-version --new-version ${GITHUB_REF#refs/tags/v}
EOT

View File

@@ -99,23 +99,6 @@ target "test-coverage" {
secret = ["id=GITHUB_TOKEN,env=GITHUB_TOKEN"] secret = ["id=GITHUB_TOKEN,env=GITHUB_TOKEN"]
} }
# GITHUB_REF is the actual ref that triggers the workflow and used as version
# when a tag is pushed: https://docs.github.com/en/actions/learn-github-actions/environment-variables#default-environment-variables
variable "GITHUB_REF" {
default = ""
}
target "publish" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
args = {
GITHUB_REF = GITHUB_REF
}
target = "publish"
output = ["type=cacheonly"]
secret = ["id=NODE_AUTH_TOKEN,env=NODE_AUTH_TOKEN"]
}
target "license-validate" { target "license-validate" {
inherits = ["_common"] inherits = ["_common"]
dockerfile = "./hack/dockerfiles/license.Dockerfile" dockerfile = "./hack/dockerfiles/license.Dockerfile"

84
eslint.config.js Normal file
View File

@@ -0,0 +1,84 @@
/**
* Copyright 2025 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.
*/
/* eslint-disable @typescript-eslint/no-require-imports */
const {defineConfig, globalIgnores} = require('eslint/config');
const {fixupConfigRules, fixupPluginRules} = require('@eslint/compat');
const typescriptEslint = require('@typescript-eslint/eslint-plugin');
const jestPlugin = require('eslint-plugin-jest');
const prettier = require('eslint-plugin-prettier');
const globals = require('globals');
const tsParser = require('@typescript-eslint/parser');
const js = require('@eslint/js');
const {FlatCompat} = require('@eslint/eslintrc');
// __dirname and __filename exist natively in CommonJS
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
});
module.exports = defineConfig([
globalIgnores(['.yarn/**/*', 'lib/**/*', 'coverage/**/*', 'node_modules/**/*']),
{
extends: fixupConfigRules(
compat.extends(
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:import/errors',
'plugin:import/typescript',
'plugin:import/warnings',
'plugin:jest/recommended',
'plugin:prettier/recommended'
)
),
plugins: {
'@typescript-eslint': fixupPluginRules(typescriptEslint),
jest: fixupPluginRules(jestPlugin),
prettier: fixupPluginRules(prettier)
},
languageOptions: {
globals: {
...globals.node,
...globals.mocha,
...globals.jest
},
parser: tsParser,
ecmaVersion: 2023,
sourceType: 'commonjs'
},
rules: {
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
],
'import/no-unresolved': [
'error',
{
ignore: ['csv-parse/sync', '@octokit/openapi-types']
}
],
'jest/no-disabled-tests': 0
}
}
]);

View File

@@ -26,6 +26,6 @@ module.exports = {
moduleNameMapper: { moduleNameMapper: {
'^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs' '^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs'
}, },
testResultsProcessor: './__tests__/testResultsProcessor.ts', testResultsProcessor: '<rootDir>/__tests__/testResultsProcessor.js',
verbose: false verbose: false
}; };

View File

@@ -14,9 +14,10 @@
* limitations under the License. * limitations under the License.
*/ */
import fs from 'fs'; /* eslint-disable @typescript-eslint/no-require-imports */
import os from 'os'; const fs = require('fs');
import path from 'path'; const os = require('os');
const path = require('path');
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-actions-toolkit-')); const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-actions-toolkit-'));
@@ -28,9 +29,7 @@ process.env = Object.assign({}, process.env, {
GITHUB_RUN_NUMBER: 15, GITHUB_RUN_NUMBER: 15,
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'), RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache') RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
}) as { });
[key: string]: string;
};
module.exports = { module.exports = {
clearMocks: true, clearMocks: true,
@@ -46,6 +45,6 @@ module.exports = {
}, },
collectCoverageFrom: ['src/**/{!(index.ts),}.ts'], collectCoverageFrom: ['src/**/{!(index.ts),}.ts'],
coveragePathIgnorePatterns: ['lib/', 'node_modules/', '__mocks__/', '__tests__/'], coveragePathIgnorePatterns: ['lib/', 'node_modules/', '__mocks__/', '__tests__/'],
testResultsProcessor: './__tests__/testResultsProcessor.ts', testResultsProcessor: '<rootDir>/__tests__/testResultsProcessor.js',
verbose: true verbose: true
}; };

View File

@@ -12,9 +12,9 @@
"prettier:fix": "prettier --write \"./**/*.ts\"", "prettier:fix": "prettier --write \"./**/*.ts\"",
"test": "jest", "test": "jest",
"test:coverage": "jest --coverage", "test:coverage": "jest --coverage",
"test:itg": "jest -c jest.config.itg.ts --runInBand --detectOpenHandles", "test:itg": "jest -c jest.config.itg.js --runInBand",
"test:itg-list": "jest -c jest.config.itg.ts --listTests", "test:itg-list": "jest -c jest.config.itg.js --listTests",
"test:itg-coverage": "jest --coverage -c jest.config.itg.ts --runInBand --detectOpenHandles" "test:itg-coverage": "jest -c jest.config.itg.js --coverage --runInBand"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -45,54 +45,57 @@
"registry": "https://registry.npmjs.org/" "registry": "https://registry.npmjs.org/"
}, },
"dependencies": { "dependencies": {
"@actions/artifact": "^4.0.0", "@actions/artifact": "^5.0.2",
"@actions/attest": "^2.0.0", "@actions/cache": "^5.0.2",
"@actions/cache": "^4.1.0", "@actions/core": "^2.0.2",
"@actions/core": "^1.11.1", "@actions/exec": "^2.0.0",
"@actions/exec": "^1.1.1", "@actions/github": "^7.0.0",
"@actions/github": "^6.0.1", "@actions/http-client": "^3.0.1",
"@actions/http-client": "^2.2.3", "@actions/io": "^2.0.0",
"@actions/io": "^1.1.3", "@actions/tool-cache": "^3.0.0",
"@actions/tool-cache": "^2.0.2", "@azure/storage-blob": "^12.29.1",
"@azure/storage-blob": "^12.15.0",
"@octokit/core": "^5.2.2", "@octokit/core": "^5.2.2",
"@octokit/plugin-rest-endpoint-methods": "^10.4.1", "@octokit/plugin-rest-endpoint-methods": "^10.4.1",
"@sigstore/bundle": "^3.1.0", "@sigstore/bundle": "^4.0.0",
"@sigstore/sign": "^3.1.0", "@sigstore/sign": "^4.1.0",
"@sigstore/tuf": "^4.0.1",
"@sigstore/verify": "^3.1.0",
"async-retry": "^1.3.3", "async-retry": "^1.3.3",
"csv-parse": "^6.1.0", "csv-parse": "^6.1.0",
"gunzip-maybe": "^1.4.2", "gunzip-maybe": "^1.4.2",
"handlebars": "^4.7.8", "handlebars": "^4.7.8",
"he": "^1.2.0", "he": "^1.2.0",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.1",
"jwt-decode": "^4.0.0", "jwt-decode": "^4.0.0",
"semver": "^7.7.3", "semver": "^7.7.3",
"tar-stream": "^3.1.7", "tar-stream": "^3.1.7",
"tmp": "^0.2.5" "tmp": "^0.2.5"
}, },
"devDependencies": { "devDependencies": {
"@sigstore/mock": "^0.10.0", "@eslint/compat": "^2.0.0",
"@sigstore/rekor-types": "^3.0.0", "@eslint/eslintrc": "^3.3.3",
"@types/gunzip-maybe": "^1.4.2", "@eslint/js": "^9.39.2",
"@sigstore/rekor-types": "^4.0.0",
"@types/gunzip-maybe": "^1.4.3",
"@types/he": "^1.2.3", "@types/he": "^1.2.3",
"@types/js-yaml": "^4.0.9", "@types/js-yaml": "^4.0.9",
"@types/node": "^20.19.9", "@types/node": "^20.19.27",
"@types/semver": "^7.7.1", "@types/semver": "^7.7.1",
"@types/tar-stream": "^3.1.4", "@types/tar-stream": "^3.1.4",
"@types/tmp": "^0.2.6", "@types/tmp": "^0.2.6",
"@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/eslint-plugin": "^8.50.0",
"@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/parser": "^8.50.0",
"dotenv": "^17.2.1", "dotenv": "^17.2.3",
"eslint": "^8.57.1", "eslint": "^9.39.2",
"eslint-config-prettier": "^9.1.2", "eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.32.0", "eslint-plugin-import": "^2.32.0",
"eslint-plugin-jest": "^28.14.0", "eslint-plugin-jest": "^29.5.0",
"eslint-plugin-prettier": "^5.5.3", "eslint-plugin-prettier": "^5.5.4",
"jest": "^29.7.0", "jest": "^30.2.0",
"prettier": "^3.6.2", "prettier": "^3.7.4",
"rimraf": "^6.0.1", "rimraf": "^6.1.2",
"ts-jest": "^29.4.1", "ts-jest": "^29.4.6",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"typescript": "^5.9.2" "typescript": "^5.9.3"
} }
} }

View File

@@ -85,7 +85,7 @@ export class BuildKit {
if (!bkversion) { if (!bkversion) {
try { try {
bkversion = await this.getVersionWithinImage(node.name || ''); bkversion = await this.getVersionWithinImage(node.name || '');
} catch (e) { } catch {
core.debug(`BuildKit.versionSatisfies ${node.name}: can't get version`); core.debug(`BuildKit.versionSatisfies ${node.name}: can't get version`);
return false; return false;
} }

View File

@@ -424,4 +424,34 @@ export class Bake {
} }
return false; return false;
} }
public static hasProvenanceAttestation(def: BakeDefinition): boolean {
return Bake.hasAttestationType('provenance', Bake.attestations(def));
}
public static hasSBOMAttestation(def: BakeDefinition): boolean {
return Bake.hasAttestationType('sbom', Bake.attestations(def));
}
public static hasAttestationType(name: string, attestations: Array<AttestEntry>): boolean {
for (const attestation of attestations) {
if (attestation.type == name) {
return true;
}
}
return false;
}
private static attestations(def: BakeDefinition): Array<AttestEntry> {
const attestations = new Array<AttestEntry>();
for (const key in def.target) {
const target = def.target[key];
if (target.attest) {
for (const attest of target.attest) {
attestations.push(Bake.parseAttestEntry(attest));
}
}
}
return attestations;
}
} }

View File

@@ -169,7 +169,7 @@ export class Build {
} }
try { try {
return core.getBooleanInput(name) ? `builder-id=${GitHub.workflowRunURL(true)}` : 'false'; return core.getBooleanInput(name) ? `builder-id=${GitHub.workflowRunURL(true)}` : 'false';
} catch (err) { } catch {
// not a valid boolean, so we assume it's a string // not a valid boolean, so we assume it's a string
return Build.resolveProvenanceAttrs(input); return Build.resolveProvenanceAttrs(input);
} }
@@ -302,7 +302,7 @@ export class Build {
// https://github.com/docker/buildx/blob/8abef5908705e49f7ba88ef8c957e1127b597a2a/util/buildflags/attests.go#L13-L21 // https://github.com/docker/buildx/blob/8abef5908705e49f7ba88ef8c957e1127b597a2a/util/buildflags/attests.go#L13-L21
const v = Util.parseBool(attr); const v = Util.parseBool(attr);
res.push(`disabled=${!v}`); res.push(`disabled=${!v}`);
} catch (err) { } catch {
res.push(attr); res.push(attr);
} }
} }

View File

@@ -148,7 +148,7 @@ export class Buildx {
let url: URL; let url: URL;
try { try {
url = new URL(endpoint); url = new URL(endpoint);
} catch (e) { } catch {
return []; return [];
} }
if (url.protocol != 'tcp:') { if (url.protocol != 'tcp:') {
@@ -280,7 +280,7 @@ export class Buildx {
const fnGitURL = function (inp: string): GitURL | undefined { const fnGitURL = function (inp: string): GitURL | undefined {
try { try {
return Git.parseURL(inp); return Git.parseURL(inp);
} catch (e) { } catch {
// noop // noop
} }
}; };

View File

@@ -64,8 +64,12 @@ export class Cache {
if (!this.ghaNoCache && cache.isFeatureAvailable()) { if (!this.ghaNoCache && cache.isFeatureAvailable()) {
if (skipState) { if (skipState) {
core.debug(`Cache.save caching ${this.ghaCacheKey} to GitHub Actions cache`); try {
await cache.saveCache([this.cacheDir], this.ghaCacheKey); core.debug(`Cache.save caching ${this.ghaCacheKey} to GitHub Actions cache`);
await cache.saveCache([this.cacheDir], this.ghaCacheKey);
} catch (e) {
core.warning(`Failed to save cache: ${e}`);
}
} else { } else {
core.debug(`Cache.save sending ${this.ghaCacheKey} to post state`); core.debug(`Cache.save sending ${this.ghaCacheKey} to post state`);
core.saveState( core.saveState(
@@ -82,26 +86,28 @@ export class Cache {
} }
public async find(): Promise<string> { public async find(): Promise<string> {
let htcPath = tc.find(this.opts.htcName, this.opts.htcVersion, this.platform()); try {
if (htcPath) { let htcPath = tc.find(this.opts.htcName, this.opts.htcVersion, this.platform());
core.info(`Restored from hosted tool cache ${htcPath}`); if (htcPath) {
return this.copyToCache(`${htcPath}/${this.opts.cacheFile}`); core.info(`Restored from hosted tool cache ${htcPath}`);
}
if (!this.ghaNoCache && cache.isFeatureAvailable()) {
core.debug(`GitHub Actions cache feature available`);
if (await cache.restoreCache([this.cacheDir], this.ghaCacheKey)) {
core.info(`Restored ${this.ghaCacheKey} from GitHub Actions cache`);
htcPath = await tc.cacheDir(this.cacheDir, this.opts.htcName, this.opts.htcVersion, this.platform());
core.info(`Cached to hosted tool cache ${htcPath}`);
return this.copyToCache(`${htcPath}/${this.opts.cacheFile}`); return this.copyToCache(`${htcPath}/${this.opts.cacheFile}`);
} }
} else if (this.ghaNoCache) { if (!this.ghaNoCache && cache.isFeatureAvailable()) {
core.info(`GitHub Actions cache disabled`); core.debug(`GitHub Actions cache feature available`);
} else { if (await cache.restoreCache([this.cacheDir], this.ghaCacheKey)) {
core.info(`GitHub Actions cache feature not available`); core.info(`Restored ${this.ghaCacheKey} from GitHub Actions cache`);
htcPath = await tc.cacheDir(this.cacheDir, this.opts.htcName, this.opts.htcVersion, this.platform());
core.info(`Cached to hosted tool cache ${htcPath}`);
return this.copyToCache(`${htcPath}/${this.opts.cacheFile}`);
}
} else if (this.ghaNoCache) {
core.info(`GitHub Actions cache disabled`);
} else {
core.info(`GitHub Actions cache feature not available`);
}
} catch (e) {
core.warning(`Failed to restore cache: ${e}`);
} }
return ''; return '';
} }
@@ -120,13 +126,17 @@ export class Cache {
if (!cacheState.dir || !cacheState.key) { if (!cacheState.dir || !cacheState.key) {
throw new Error(`Invalid cache post state: ${state}`); throw new Error(`Invalid cache post state: ${state}`);
} }
core.info(`Caching ${cacheState.key} to GitHub Actions cache`); try {
await cache.saveCache([cacheState.dir], cacheState.key); core.info(`Caching ${cacheState.key} to GitHub Actions cache`);
await cache.saveCache([cacheState.dir], cacheState.key);
} catch (e) {
core.warning(`Failed to save cache: ${e}`);
}
return cacheState; return cacheState;
} }
private copyToCache(file: string): string { private copyToCache(file: string): string {
core.debug(`Copying ${file} to ${this.cachePath}`); core.info(`Copying ${file} to ${this.cachePath}`);
fs.copyFileSync(file, this.cachePath); fs.copyFileSync(file, this.cachePath);
return this.cachePath; return this.cachePath;
} }

View File

@@ -142,15 +142,12 @@ export class Cosign {
bundlePayload = obj as SerializedBundle; bundlePayload = obj as SerializedBundle;
} }
if (bundlePayload && signatureManifestDigest) { if (bundlePayload && (signatureManifestDigest || signatureManifestFallbackDigest)) {
errors = undefined; // clear errors if we have both payload and manifest digest
break; break;
} }
} }
if (!errors && !bundlePayload) {
throw new Error(`Cannot find signature bundle from cosign command output: ${logs}`);
}
return { return {
bundle: bundlePayload, bundle: bundlePayload,
signatureManifestDigest: signatureManifestDigest || signatureManifestFallbackDigest, signatureManifestDigest: signatureManifestDigest || signatureManifestFallbackDigest,

View File

@@ -19,6 +19,9 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as core from '@actions/core'; import * as core from '@actions/core';
import * as tc from '@actions/tool-cache'; import * as tc from '@actions/tool-cache';
import {bundleFromJSON, SerializedBundle} from '@sigstore/bundle';
import * as tuf from '@sigstore/tuf';
import {toSignedEntity, toTrustMaterial, Verifier} from '@sigstore/verify';
import * as semver from 'semver'; import * as semver from 'semver';
import * as util from 'util'; import * as util from 'util';
@@ -34,6 +37,13 @@ import {DownloadVersion} from '../types/cosign/cosign';
import {GitHubRelease} from '../types/github'; import {GitHubRelease} from '../types/github';
import {dockerfileContent} from './dockerfile'; import {dockerfileContent} from './dockerfile';
export interface DownloadOpts {
version: string;
ghaNoCache?: boolean;
skipState?: boolean;
verifySignature?: boolean;
}
export interface InstallOpts { export interface InstallOpts {
githubToken?: string; githubToken?: string;
buildx?: Buildx; buildx?: Buildx;
@@ -48,8 +58,8 @@ export class Install {
this.buildx = opts?.buildx || new Buildx(); this.buildx = opts?.buildx || new Buildx();
} }
public async download(v: string, ghaNoCache?: boolean, skipState?: boolean): Promise<string> { public async download(opts: DownloadOpts): Promise<string> {
const version: DownloadVersion = await Install.getDownloadVersion(v); const version: DownloadVersion = await Install.getDownloadVersion(opts.version);
core.debug(`Install.download version: ${version.version}`); core.debug(`Install.download version: ${version.version}`);
const release: GitHubRelease = await Install.getRelease(version, this.githubToken); const release: GitHubRelease = await Install.getRelease(version, this.githubToken);
@@ -68,7 +78,7 @@ export class Install {
htcVersion: vspec, htcVersion: vspec,
baseCacheDir: path.join(os.homedir(), '.bin'), baseCacheDir: path.join(os.homedir(), '.bin'),
cacheFile: os.platform() == 'win32' ? 'cosign.exe' : 'cosign', cacheFile: os.platform() == 'win32' ? 'cosign.exe' : 'cosign',
ghaNoCache: ghaNoCache ghaNoCache: opts.ghaNoCache
}); });
const cacheFoundPath = await installCache.find(); const cacheFoundPath = await installCache.find();
@@ -83,7 +93,11 @@ export class Install {
const htcDownloadPath = await tc.downloadTool(downloadURL, undefined, this.githubToken); const htcDownloadPath = await tc.downloadTool(downloadURL, undefined, this.githubToken);
core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`); core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`);
const cacheSavePath = await installCache.save(htcDownloadPath, skipState); if (opts.verifySignature && semver.satisfies(vspec, '>=3.0.1')) {
await this.verifySignature(htcDownloadPath, downloadURL);
}
const cacheSavePath = await installCache.save(htcDownloadPath, opts.skipState);
core.info(`Cached to ${cacheSavePath}`); core.info(`Cached to ${cacheSavePath}`);
return cacheSavePath; return cacheSavePath;
} }
@@ -176,6 +190,35 @@ export class Install {
return await new Buildx({standalone: buildStandalone}).getCommand(args); return await new Buildx({standalone: buildStandalone}).getCommand(args);
} }
private async verifySignature(cosignBinPath: string, downloadURL: string): Promise<void> {
const bundleURL = `${downloadURL}.sigstore.json`;
core.info(`Downloading keyless verification bundle at ${bundleURL}`);
const bundlePath = await tc.downloadTool(bundleURL, undefined, this.githubToken);
core.debug(`Install.verifySignature bundlePath: ${bundlePath}`);
core.info(`Verifying keyless verification bundle signature`);
const parsedBundle = JSON.parse(fs.readFileSync(bundlePath, 'utf-8')) as SerializedBundle;
const bundle = bundleFromJSON(parsedBundle);
core.info(`Fetching Sigstore TUF trusted root metadata`);
const trustedRoot = await tuf.getTrustedRoot();
const trustMaterial = toTrustMaterial(trustedRoot);
try {
core.info(`Verifying cosign binary signature`);
const signedEntity = toSignedEntity(bundle, fs.readFileSync(cosignBinPath));
const verifier = new Verifier(trustMaterial);
const signer = verifier.verify(signedEntity, {
subjectAlternativeName: 'keyless@projectsigstore.iam.gserviceaccount.com',
extensions: {issuer: 'https://accounts.google.com'}
});
core.debug(`Install.verifySignature signer: ${JSON.stringify(signer)}`);
core.info(`Cosign binary signature verified!`);
} catch (err) {
throw new Error(`Failed to verify cosign binary signature: ${err}`);
}
}
private filename(): string { private filename(): string {
let arch: string; let arch: string;
switch (os.arch()) { switch (os.arch()) {

View File

@@ -60,7 +60,7 @@ export class Docker {
silent: true silent: true
}); });
return true; return true;
} catch (e) { } catch {
return false; return false;
} }
} }

View File

@@ -269,22 +269,12 @@ export class Install {
await io.mkdirP(limaDir); await io.mkdirP(limaDir);
const dockerHost = `unix://${limaDir}/docker.sock`; const dockerHost = `unix://${limaDir}/docker.sock`;
// avoid brew to auto update and upgrade unrelated packages.
let envs = Object.assign({}, process.env, {
HOMEBREW_NO_AUTO_UPDATE: '1',
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: '1'
}) as {
[key: string]: string;
};
if (!(await Install.limaInstalled())) { if (!(await Install.limaInstalled())) {
await core.group('Installing lima', async () => { await this.brewInstall('lima');
await Exec.exec('brew', ['install', 'lima'], {env: envs});
});
} }
await core.group('Lima version', async () => { await core.group('Lima version', async () => {
await Exec.exec('lima', ['--version'], {env: envs}); await Exec.exec('lima', ['--version']);
}); });
await core.group('Creating lima config', async () => { await core.group('Creating lima config', async () => {
@@ -313,9 +303,7 @@ export class Install {
}); });
if (!(await Install.qemuInstalled())) { if (!(await Install.qemuInstalled())) {
await core.group('Installing QEMU', async () => { await this.brewInstall('qemu');
await Exec.exec('brew', ['install', 'qemu'], {env: envs});
});
} }
const qemuBin = await Install.qemuBin(); const qemuBin = await Install.qemuBin();
await core.group('QEMU version', async () => { await core.group('QEMU version', async () => {
@@ -324,7 +312,7 @@ export class Install {
// lima might already be started on the runner so env var added in download // lima might already be started on the runner so env var added in download
// method is not expanded to the running process. // method is not expanded to the running process.
envs = Object.assign({}, envs, { const envs = Object.assign({}, process.env, {
PATH: `${this.toolDir}:${process.env.PATH}` PATH: `${this.toolDir}:${process.env.PATH}`
}) as { }) as {
[key: string]: string; [key: string]: string;
@@ -751,4 +739,72 @@ EOF`,
}); });
return <Image>JSON.parse(blob); return <Image>JSON.parse(blob);
} }
private async brewInstall(packageName: string, revision?: string): Promise<void> {
// avoid brew to auto update and upgrade unrelated packages.
const envs = Object.assign({}, process.env, {
HOMEBREW_NO_AUTO_UPDATE: '1',
HOMEBREW_NO_INSTALL_UPGRADE: '1',
HOMEBREW_NO_INSTALL_CLEANUP: '1'
}) as {
[key: string]: string;
};
await core.group(`Installing ${packageName}`, async () => {
if (!revision) {
await Exec.exec('brew', ['install', packageName]);
} else {
const dockerTap = 'docker-actions-toolkit/tap';
const hasDockerTap = await Exec.getExecOutput('brew', ['tap'], {
ignoreReturnCode: true,
silent: true,
env: envs
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr);
}
for (const line of res.stdout.trim().split('\n')) {
if (line.includes(dockerTap)) {
return true;
}
}
return false;
});
if (!hasDockerTap) {
await Exec.exec('brew', ['tap-new', dockerTap], {env: envs});
}
const brewRepoTapPath = await Exec.getExecOutput('brew', ['--repo', dockerTap], {
ignoreReturnCode: true,
silent: true,
env: envs
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr);
}
return res.stdout.trim();
});
const formulaURL = `https://raw.githubusercontent.com/Homebrew/homebrew-core/${revision}/Formula/${packageName.charAt(0)}/${packageName}.rb`;
await tc.downloadTool(formulaURL, path.join(brewRepoTapPath, 'Formula', `${packageName}.rb`));
const hasFormulaInstalled = await Exec.getExecOutput('brew', ['ls', '-1'], {
ignoreReturnCode: true,
silent: true,
env: envs
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr);
}
for (const line of res.stdout.trim().split('\n')) {
if (line.trim() == packageName) {
return true;
}
}
return false;
});
if (hasFormulaInstalled) {
await Exec.exec('brew', ['uninstall', packageName, '--ignore-dependencies'], {env: envs});
}
await Exec.exec('brew', ['install', `${dockerTap}/${packageName}`], {env: envs});
}
});
}
} }

View File

@@ -122,31 +122,44 @@ export class Git {
private static async getDetachedRef(): Promise<string> { private static async getDetachedRef(): Promise<string> {
const res = await Git.exec(['show', '-s', '--pretty=%D']); const res = await Git.exec(['show', '-s', '--pretty=%D']);
core.debug(`detached HEAD ref: ${res}`);
const normalizedRef = res.replace(/^grafted, /, '').trim();
if (normalizedRef === 'HEAD') {
return await Git.inferRefFromHead();
}
// Can be "HEAD, <tagname>" or "grafted, HEAD, <tagname>" // Can be "HEAD, <tagname>" or "grafted, HEAD, <tagname>"
const refMatch = res.match(/^(grafted, )?HEAD, (.*)$/); const refMatch = normalizedRef.match(/^HEAD, (.*)$/);
if (!refMatch || !refMatch[2]) { if (!refMatch || !refMatch[1]) {
throw new Error(`Cannot find detached HEAD ref in "${res}"`); throw new Error(`Cannot find detached HEAD ref in "${res}"`);
} }
const ref = refMatch[2].trim(); const ref = refMatch[1].trim();
// Tag refs are formatted as "tag: <tagname>" // Tag refs are formatted as "tag: <tagname>"
if (ref.startsWith('tag: ')) { if (ref.startsWith('tag: ')) {
return `refs/tags/${ref.split(':')[1].trim()}`; return `refs/tags/${ref.split(':')[1].trim()}`;
} }
// Branch refs are formatted as "<origin>/<branch-name>, <branch-name>" // Pull request merge refs are formatted as "pull/<number>/<state>"
const prMatch = ref.match(/^pull\/\d+\/(head|merge)$/);
if (prMatch) {
return `refs/${ref}`;
}
// Branch refs can be formatted as "<origin>/<branch-name>, <branch-name>"
const branchMatch = ref.match(/^[^/]+\/[^/]+, (.+)$/); const branchMatch = ref.match(/^[^/]+\/[^/]+, (.+)$/);
if (branchMatch) { if (branchMatch) {
return `refs/heads/${branchMatch[1].trim()}`; return `refs/heads/${branchMatch[1].trim()}`;
} }
// Pull request merge refs are formatted as "pull/<number>/<state>" // Branch refs checked out by its latest SHA can be formatted as "<origin>/<branch-name>"
const prMatch = ref.match(/^pull\/\d+\/(head|merge)$/); const shaBranchMatch = ref.match(/^[^/]+\/(.+)$/);
if (prMatch) { if (shaBranchMatch) {
return `refs/${ref}`; return `refs/heads/${shaBranchMatch[1].trim()}`;
} }
throw new Error(`Unsupported detached HEAD ref in "${res}"`); throw new Error(`Unsupported detached HEAD ref in "${res}"`);
@@ -164,6 +177,43 @@ export class Git {
}); });
} }
private static async inferRefFromHead(): Promise<string> {
const localRef = await Git.findContainingRef('refs/heads/');
if (localRef) {
return localRef;
}
const remoteRef = await Git.findContainingRef('refs/remotes/');
if (remoteRef) {
const remoteMatch = remoteRef.match(/^refs\/remotes\/[^/]+\/(.+)$/);
if (remoteMatch) {
return `refs/heads/${remoteMatch[1]}`;
}
return remoteRef;
}
const tagRef = await Git.exec(['tag', '--contains', 'HEAD']);
const [firstTag] = tagRef
.split('\n')
.map(tag => tag.trim())
.filter(tag => tag.length > 0);
if (firstTag) {
return `refs/tags/${firstTag}`;
}
throw new Error(`Cannot infer ref from detached HEAD`);
}
private static async findContainingRef(scope: string): Promise<string | undefined> {
const refs = await Git.exec(['for-each-ref', '--format=%(refname)', '--contains', 'HEAD', '--sort=-committerdate', scope]);
const [first] = refs
.split('\n')
.map(r => r.trim())
.filter(r => r.length > 0);
return first;
}
public static async commitDate(ref: string): Promise<Date> { public static async commitDate(ref: string): Promise<Date> {
return new Date(await Git.exec(['show', '-s', '--format="%ci"', ref])); return new Date(await Git.exec(['show', '-s', '--format="%ci"', ref]));
} }

View File

@@ -32,7 +32,7 @@ import * as github from '@actions/github';
import {GitHub as Octokit} from '@actions/github/lib/utils'; import {GitHub as Octokit} from '@actions/github/lib/utils';
import {Context} from '@actions/github/lib/context'; import {Context} from '@actions/github/lib/context';
import * as httpm from '@actions/http-client'; import * as httpm from '@actions/http-client';
import {TransferProgressEvent} from '@azure/core-http'; import {TransferProgressEvent} from '@azure/core-rest-pipeline';
import {BlobClient, BlobHTTPHeaders} from '@azure/storage-blob'; import {BlobClient, BlobHTTPHeaders} from '@azure/storage-blob';
import {jwtDecode, JwtPayload} from 'jwt-decode'; import {jwtDecode, JwtPayload} from 'jwt-decode';
@@ -58,11 +58,26 @@ export class GitHub {
} }
public async releases(name: string, opts: GitHubContentOpts): Promise<Record<string, GitHubRelease>> { public async releases(name: string, opts: GitHubContentOpts): Promise<Record<string, GitHubRelease>> {
let releases: Record<string, GitHubRelease>;
try {
// try without token first
releases = await this.releasesRaw(name, opts);
} catch (error) {
if (!this.githubToken) {
throw error;
}
// try with token
releases = await this.releasesRaw(name, opts, this.githubToken);
}
return releases;
}
public async releasesRaw(name: string, opts: GitHubContentOpts, token?: string): Promise<Record<string, GitHubRelease>> {
const url = `https://raw.githubusercontent.com/${opts.owner}/${opts.repo}/${opts.ref}/${opts.path}`; const url = `https://raw.githubusercontent.com/${opts.owner}/${opts.repo}/${opts.ref}/${opts.path}`;
const http: httpm.HttpClient = new httpm.HttpClient('docker-actions-toolkit'); const http: httpm.HttpClient = new httpm.HttpClient('docker-actions-toolkit');
// prettier-ignore // prettier-ignore
const httpResp: httpm.HttpClientResponse = await http.get(url, this.githubToken ? { const httpResp: httpm.HttpClientResponse = await http.get(url, token ? {
Authorization: `token ${this.githubToken}` Authorization: `token ${token}`
} : undefined); } : undefined);
const dt = await httpResp.readBody(); const dt = await httpResp.readBody();
const statusCode = httpResp.message.statusCode || 500; const statusCode = httpResp.message.statusCode || 500;

View File

@@ -18,12 +18,9 @@ import {X509Certificate} from 'crypto';
import fs from 'fs'; import fs from 'fs';
import path from 'path'; import path from 'path';
import {Endpoints} from '@actions/attest/lib/endpoints';
import * as core from '@actions/core'; import * as core from '@actions/core';
import {signPayload} from '@actions/attest/lib/sign';
import {bundleFromJSON, bundleToJSON} from '@sigstore/bundle'; import {bundleFromJSON, bundleToJSON} from '@sigstore/bundle';
import {Attestation} from '@actions/attest'; import {Artifact, Bundle, CIContextProvider, DSSEBundleBuilder, FulcioSigner, RekorWitness, TSAWitness, Witness} from '@sigstore/sign';
import {Bundle} from '@sigstore/sign';
import {Cosign} from '../cosign/cosign'; import {Cosign} from '../cosign/cosign';
import {Exec} from '../exec'; import {Exec} from '../exec';
@@ -31,47 +28,22 @@ import {GitHub} from '../github';
import {ImageTools} from '../buildx/imagetools'; import {ImageTools} from '../buildx/imagetools';
import {MEDIATYPE_PAYLOAD as INTOTO_MEDIATYPE_PAYLOAD, Subject} from '../types/intoto/intoto'; import {MEDIATYPE_PAYLOAD as INTOTO_MEDIATYPE_PAYLOAD, Subject} from '../types/intoto/intoto';
import {FULCIO_URL, REKOR_URL, SEARCH_URL, TSASERVER_URL} from '../types/sigstore/sigstore'; import {
Endpoints,
export interface SignAttestationManifestsOpts { FULCIO_URL,
imageName: string; ParsedBundle,
imageDigest: string; REKOR_URL,
noTransparencyLog?: boolean; SEARCH_URL,
} SignAttestationManifestsOpts,
SignAttestationManifestsResult,
export interface SignAttestationManifestsResult extends Attestation { SignProvenanceBlobsOpts,
imageName: string; SignProvenanceBlobsResult,
} TSASERVER_URL,
VerifySignedArtifactsOpts,
export interface VerifySignedManifestsOpts { VerifySignedArtifactsResult,
certificateIdentityRegexp: string; VerifySignedManifestsOpts,
retries?: number; VerifySignedManifestsResult
} } from '../types/sigstore/sigstore';
export interface VerifySignedManifestsResult {
cosignArgs: Array<string>;
signatureManifestDigest: string;
}
export interface SignProvenanceBlobsOpts {
localExportDir: string;
name?: string;
noTransparencyLog?: boolean;
}
export interface SignProvenanceBlobsResult extends Attestation {
bundlePath: string;
subjects: Array<Subject>;
}
export interface VerifySignedArtifactsOpts {
certificateIdentityRegexp: string;
}
export interface VerifySignedArtifactsResult {
bundlePath: string;
cosignArgs: Array<string>;
}
export interface SigstoreOpts { export interface SigstoreOpts {
cosign?: Cosign; cosign?: Cosign;
@@ -101,52 +73,54 @@ export class Sigstore {
core.info(`Using Sigstore signing endpoint: ${endpoints.fulcioURL}`); core.info(`Using Sigstore signing endpoint: ${endpoints.fulcioURL}`);
const noTransparencyLog = Sigstore.noTransparencyLog(opts.noTransparencyLog); const noTransparencyLog = Sigstore.noTransparencyLog(opts.noTransparencyLog);
const attestationDigests = await this.imageTools.attestationDigests(`${opts.imageName}@${opts.imageDigest}`); for (const imageName of opts.imageNames) {
for (const attestationDigest of attestationDigests) { const attestationDigests = await this.imageTools.attestationDigests(`${imageName}@${opts.imageDigest}`);
const attestationRef = `${opts.imageName}@${attestationDigest}`; for (const attestationDigest of attestationDigests) {
await core.group(`Signing attestation manifest ${attestationRef}`, async () => { const attestationRef = `${imageName}@${attestationDigest}`;
// prettier-ignore await core.group(`Signing attestation manifest ${attestationRef}`, async () => {
const cosignArgs = [ // prettier-ignore
'--verbose', const cosignArgs = [
'sign', 'sign',
'--yes', '--yes',
'--oidc-provider', 'github-actions', '--oidc-provider', 'github-actions',
'--registry-referrers-mode', 'oci-1-1', '--registry-referrers-mode', 'oci-1-1',
'--new-bundle-format', '--new-bundle-format',
'--use-signing-config' '--use-signing-config'
]; ];
if (noTransparencyLog) { if (noTransparencyLog) {
cosignArgs.push('--tlog-upload=false'); cosignArgs.push('--tlog-upload=false');
}
core.info(`[command]cosign ${[...cosignArgs, attestationRef].join(' ')}`);
const execRes = await Exec.getExecOutput('cosign', [...cosignArgs, attestationRef], {
ignoreReturnCode: true,
silent: true,
env: Object.assign({}, process.env, {
COSIGN_EXPERIMENTAL: '1'
}) as {
[key: string]: string;
} }
core.info(`[command]cosign ${[...cosignArgs, attestationRef].join(' ')}`);
const execRes = await Exec.getExecOutput('cosign', ['--verbose', ...cosignArgs, attestationRef], {
ignoreReturnCode: true,
silent: true,
env: Object.assign({}, process.env, {
COSIGN_EXPERIMENTAL: '1'
}) as {
[key: string]: string;
}
});
const signResult = Cosign.parseCommandOutput(execRes.stderr.trim());
if (execRes.exitCode != 0) {
if (signResult.errors && signResult.errors.length > 0) {
const errorMessages = signResult.errors.map(e => `- [${e.code}] ${e.message} : ${e.detail}`).join('\n');
throw new Error(`Cosign sign command failed with errors:\n${errorMessages}`);
} else {
// prettier-ignore
throw new Error(`Cosign sign command failed with: ${execRes.stderr.trim().split(/\r?\n/).filter(line => line.length > 0).pop() ?? 'unknown error'}`);
}
}
const parsedBundle = Sigstore.parseBundle(bundleFromJSON(signResult.bundle));
if (parsedBundle.tlogID) {
core.info(`Uploaded to Rekor transparency log: ${SEARCH_URL}?logIndex=${parsedBundle.tlogID}`);
}
core.info(`Signature manifest pushed: https://oci.dag.dev/?referrers=${attestationRef}`);
result[attestationRef] = {
...parsedBundle,
imageName: imageName
};
}); });
const signResult = Cosign.parseCommandOutput(execRes.stderr.trim()); }
if (execRes.exitCode != 0) {
if (signResult.errors && signResult.errors.length > 0) {
const errorMessages = signResult.errors.map(e => `- [${e.code}] ${e.message} : ${e.detail}`).join('\n');
throw new Error(`Cosign sign command failed with errors:\n${errorMessages}`);
} else {
throw new Error(`Cosign sign command failed with exit code ${execRes.exitCode}`);
}
}
const attest = Sigstore.toAttestation(bundleFromJSON(signResult.bundle));
if (attest.tlogID) {
core.info(`Uploaded to Rekor transparency log: ${SEARCH_URL}?logIndex=${attest.tlogID}`);
}
core.info(`Signature manifest pushed: https://oci.dag.dev/?referrers=${attestationRef}`);
result[attestationRef] = {
...attest,
imageName: opts.imageName
};
});
} }
} catch (err) { } catch (err) {
throw new Error(`Signing BuildKit attestation manifests failed: ${(err as Error).message}`); throw new Error(`Signing BuildKit attestation manifests failed: ${(err as Error).message}`);
@@ -154,70 +128,95 @@ export class Sigstore {
return result; return result;
} }
public async verifySignedManifests(opts: VerifySignedManifestsOpts, signed: Record<string, SignAttestationManifestsResult>): Promise<Record<string, VerifySignedManifestsResult>> { public async verifySignedManifests(signedManifestsResult: Record<string, SignAttestationManifestsResult>, opts: VerifySignedManifestsOpts): Promise<Record<string, VerifySignedManifestsResult>> {
const result: Record<string, VerifySignedManifestsResult> = {}; const result: Record<string, VerifySignedManifestsResult> = {};
for (const [attestationRef, signedRes] of Object.entries(signedManifestsResult)) {
await core.group(`Verifying signature of ${attestationRef}`, async () => {
const verifyResult = await this.verifyImageAttestation(attestationRef, {
noTransparencyLog: opts.noTransparencyLog || !signedRes.tlogID,
certificateIdentityRegexp: opts.certificateIdentityRegexp,
retries: opts.retries
});
core.info(`Signature manifest verified: https://oci.dag.dev/?image=${signedRes.imageName}@${verifyResult.signatureManifestDigest}`);
result[attestationRef] = verifyResult;
});
}
return result;
}
public async verifyImageAttestations(image: string, opts: VerifySignedManifestsOpts): Promise<Record<string, VerifySignedManifestsResult>> {
const result: Record<string, VerifySignedManifestsResult> = {};
const attestationDigests = await this.imageTools.attestationDigests(image);
if (attestationDigests.length === 0) {
throw new Error(`No attestation manifests found for ${image}`);
}
const imageName = image.split(':', 1)[0];
for (const attestationDigest of attestationDigests) {
const attestationRef = `${imageName}@${attestationDigest}`;
const verifyResult = await this.verifyImageAttestation(attestationRef, opts);
core.info(`Signature manifest verified: https://oci.dag.dev/?image=${imageName}@${verifyResult.signatureManifestDigest}`);
result[attestationRef] = verifyResult;
}
return result;
}
public async verifyImageAttestation(attestationRef: string, opts: VerifySignedManifestsOpts): Promise<VerifySignedManifestsResult> {
const retries = opts.retries ?? 15; const retries = opts.retries ?? 15;
if (!(await this.cosign.isAvailable())) { if (!(await this.cosign.isAvailable())) {
throw new Error('Cosign is required to verify signed manifests'); throw new Error('Cosign is required to verify signed manifests');
} }
let lastError: Error | undefined; // prettier-ignore
for (const [attestationRef, signedRes] of Object.entries(signed)) { const cosignArgs = [
await core.group(`Verifying signature of ${attestationRef}`, async () => { 'verify',
// prettier-ignore '--experimental-oci11',
const cosignArgs = [ '--new-bundle-format',
'--verbose', '--certificate-oidc-issuer', 'https://token.actions.githubusercontent.com',
'verify', '--certificate-identity-regexp', opts.certificateIdentityRegexp
'--experimental-oci11', ];
'--new-bundle-format', if (opts.noTransparencyLog) {
'--certificate-oidc-issuer', 'https://token.actions.githubusercontent.com', // skip tlog verification but still verify the signed timestamp
'--certificate-identity-regexp', opts.certificateIdentityRegexp cosignArgs.push('--use-signed-timestamps', '--insecure-ignore-tlog');
];
if (!signedRes.tlogID) {
// skip tlog verification but still verify the signed timestamp
cosignArgs.push('--use-signed-timestamps', '--insecure-ignore-tlog');
}
core.info(`[command]cosign ${[...cosignArgs, attestationRef].join(' ')}`);
for (let attempt = 0; attempt < retries; attempt++) {
const execRes = await Exec.getExecOutput('cosign', [...cosignArgs, attestationRef], {
ignoreReturnCode: true,
silent: true,
env: Object.assign({}, process.env, {
COSIGN_EXPERIMENTAL: '1'
}) as {[key: string]: string}
});
const verifyResult = Cosign.parseCommandOutput(execRes.stderr.trim());
if (execRes.exitCode === 0) {
result[attestationRef] = {
cosignArgs: cosignArgs,
signatureManifestDigest: verifyResult.signatureManifestDigest!
};
lastError = undefined;
core.info(`Signature manifest verified: https://oci.dag.dev/?image=${signedRes.imageName}@${verifyResult.signatureManifestDigest}`);
break;
} else {
if (verifyResult.errors && verifyResult.errors.length > 0) {
const errorMessages = verifyResult.errors.map(e => `- [${e.code}] ${e.message} : ${e.detail}`).join('\n');
lastError = new Error(`Cosign verify command failed with errors:\n${errorMessages}`);
if (verifyResult.errors.some(e => e.code === 'MANIFEST_UNKNOWN')) {
core.info(`Cosign verify command failed with MANIFEST_UNKNOWN, retrying attempt ${attempt + 1}/${retries}...\n${errorMessages}`);
await new Promise(res => setTimeout(res, Math.pow(2, attempt) * 100));
} else {
throw lastError;
}
} else {
throw new Error(`Cosign verify command failed: ${execRes.stderr}`);
}
}
}
});
}
if (lastError) {
throw lastError;
} }
return result; let lastError: Error | undefined;
core.info(`[command]cosign ${[...cosignArgs, attestationRef].join(' ')}`);
for (let attempt = 0; attempt < retries; attempt++) {
const execRes = await Exec.getExecOutput('cosign', ['--verbose', ...cosignArgs, attestationRef], {
ignoreReturnCode: true,
silent: true,
env: Object.assign({}, process.env, {
COSIGN_EXPERIMENTAL: '1'
}) as {[key: string]: string}
});
const verifyResult = Cosign.parseCommandOutput(execRes.stderr.trim());
if (execRes.exitCode === 0) {
return {
cosignArgs: cosignArgs,
signatureManifestDigest: verifyResult.signatureManifestDigest!
};
} else {
if (verifyResult.errors && verifyResult.errors.length > 0) {
const errorMessages = verifyResult.errors.map(e => `- [${e.code}] ${e.message} : ${e.detail}`).join('\n');
lastError = new Error(`Cosign verify command failed with errors:\n${errorMessages}`);
if (verifyResult.errors.some(e => e.code === 'MANIFEST_UNKNOWN')) {
core.info(`Cosign verify command failed with MANIFEST_UNKNOWN, retrying attempt ${attempt + 1}/${retries}...\n${errorMessages}`);
await new Promise(res => setTimeout(res, Math.pow(2, attempt) * 100));
} else {
throw lastError;
}
} else {
// prettier-ignore
throw new Error(`Cosign verify command failed with: ${execRes.stderr.trim().split(/\r?\n/).filter(line => line.length > 0).pop() ?? 'unknown error'}`);
}
}
}
throw lastError;
} }
public async signProvenanceBlobs(opts: SignProvenanceBlobsOpts): Promise<Record<string, SignProvenanceBlobsResult>> { public async signProvenanceBlobs(opts: SignProvenanceBlobsOpts): Promise<Record<string, SignProvenanceBlobsResult>> {
@@ -240,28 +239,28 @@ export class Sigstore {
core.warning(`No subjects found in provenance ${p}, skip signing.`); core.warning(`No subjects found in provenance ${p}, skip signing.`);
return; return;
} }
const bundle = await signPayload( const bundle = await Sigstore.signPayload(
{ {
body: blob, data: blob,
type: INTOTO_MEDIATYPE_PAYLOAD type: INTOTO_MEDIATYPE_PAYLOAD
}, },
endpoints endpoints
); );
const attest = Sigstore.toAttestation(bundle); const parsedBundle = Sigstore.parseBundle(bundle);
core.info(`Provenance blob signed for:`); core.info(`Provenance blob signed for:`);
for (const subject of subjects) { for (const subject of subjects) {
const [digestAlg, digestValue] = Object.entries(subject.digest)[0] || []; const [digestAlg, digestValue] = Object.entries(subject.digest)[0] || [];
core.info(` - ${subject.name} (${digestAlg}:${digestValue})`); core.info(` - ${subject.name} (${digestAlg}:${digestValue})`);
} }
if (attest.tlogID) { if (parsedBundle.tlogID) {
core.info(`Attestation signature uploaded to Rekor transparency log: ${SEARCH_URL}?logIndex=${attest.tlogID}`); core.info(`Attestation signature uploaded to Rekor transparency log: ${SEARCH_URL}?logIndex=${parsedBundle.tlogID}`);
} }
core.info(`Writing Sigstore bundle to: ${bundlePath}`); core.info(`Writing Sigstore bundle to: ${bundlePath}`);
fs.writeFileSync(bundlePath, JSON.stringify(attest.bundle, null, 2), { fs.writeFileSync(bundlePath, JSON.stringify(parsedBundle.payload, null, 2), {
encoding: 'utf-8' encoding: 'utf-8'
}); });
result[p] = { result[p] = {
...attest, ...parsedBundle,
bundlePath: bundlePath, bundlePath: bundlePath,
subjects: subjects subjects: subjects
}; };
@@ -273,12 +272,12 @@ export class Sigstore {
return result; return result;
} }
public async verifySignedArtifacts(opts: VerifySignedArtifactsOpts, signed: Record<string, SignProvenanceBlobsResult>): Promise<Record<string, VerifySignedArtifactsResult>> { public async verifySignedArtifacts(signedArtifactsResult: Record<string, SignProvenanceBlobsResult>, opts: VerifySignedArtifactsOpts): Promise<Record<string, VerifySignedArtifactsResult>> {
const result: Record<string, VerifySignedArtifactsResult> = {}; const result: Record<string, VerifySignedArtifactsResult> = {};
if (!(await this.cosign.isAvailable())) { if (!(await this.cosign.isAvailable())) {
throw new Error('Cosign is required to verify signed artifacts'); throw new Error('Cosign is required to verify signed artifacts');
} }
for (const [provenancePath, signedRes] of Object.entries(signed)) { for (const [provenancePath, signedRes] of Object.entries(signedArtifactsResult)) {
const baseDir = path.dirname(provenancePath); const baseDir = path.dirname(provenancePath);
await core.group(`Verifying signature bundle ${signedRes.bundlePath}`, async () => { await core.group(`Verifying signature bundle ${signedRes.bundlePath}`, async () => {
for (const subject of signedRes.subjects) { for (const subject of signedRes.subjects) {
@@ -291,7 +290,7 @@ export class Sigstore {
'--certificate-oidc-issuer', 'https://token.actions.githubusercontent.com', '--certificate-oidc-issuer', 'https://token.actions.githubusercontent.com',
'--certificate-identity-regexp', opts.certificateIdentityRegexp '--certificate-identity-regexp', opts.certificateIdentityRegexp
] ]
if (!signedRes.tlogID) { if (opts.noTransparencyLog || !signedRes.tlogID) {
// if there is no tlog entry, we skip tlog verification but still verify the signed timestamp // if there is no tlog entry, we skip tlog verification but still verify the signed timestamp
cosignArgs.push('--use-signed-timestamps', '--insecure-ignore-tlog'); cosignArgs.push('--use-signed-timestamps', '--insecure-ignore-tlog');
} }
@@ -357,8 +356,41 @@ export class Sigstore {
})); }));
} }
// https://github.com/actions/toolkit/blob/d3ab50471b4ff1d1274dffb90ef9c5d9949b4886/packages/attest/src/attest.ts#L90 private static async signPayload(artifact: Artifact, endpoints: Endpoints, timeout?: number, retries?: number): Promise<Bundle> {
private static toAttestation(bundle: Bundle): Attestation { const witnesses: Witness[] = [];
const signer = new FulcioSigner({
identityProvider: new CIContextProvider('sigstore'),
fulcioBaseURL: endpoints.fulcioURL,
timeout: timeout,
retry: retries
});
if (endpoints.rekorURL) {
witnesses.push(
new RekorWitness({
rekorBaseURL: endpoints.rekorURL,
fetchOnConflict: true,
timeout: timeout,
retry: retries
})
);
}
if (endpoints.tsaServerURL) {
witnesses.push(
new TSAWitness({
tsaBaseURL: endpoints.tsaServerURL,
timeout: timeout,
retry: retries
})
);
}
return new DSSEBundleBuilder({signer, witnesses}).create(artifact);
}
private static parseBundle(bundle: Bundle): ParsedBundle {
let certBytes: Buffer; let certBytes: Buffer;
switch (bundle.verificationMaterial.content.$case) { switch (bundle.verificationMaterial.content.$case) {
case 'x509CertificateChain': case 'x509CertificateChain':
@@ -373,12 +405,12 @@ export class Sigstore {
const signingCert = new X509Certificate(certBytes); const signingCert = new X509Certificate(certBytes);
// Collect transparency log ID if available // collect transparency log ID if available
const tlogEntries = bundle.verificationMaterial.tlogEntries; const tlogEntries = bundle.verificationMaterial.tlogEntries;
const tlogID = tlogEntries.length > 0 ? tlogEntries[0].logIndex : undefined; const tlogID = tlogEntries.length > 0 ? tlogEntries[0].logIndex : undefined;
return { return {
bundle: bundleToJSON(bundle), payload: bundleToJSON(bundle),
certificate: signingCert.toString(), certificate: signingCert.toString(),
tlogID: tlogID tlogID: tlogID
}; };

View File

@@ -69,7 +69,6 @@ export interface ContextInfo {
Name: string; Name: string;
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
Metadata: any; Metadata: any;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
Endpoints: Record<string, EndpointInfo>; Endpoints: Record<string, EndpointInfo>;
TLSMaterial: Record<string, Array<string>>; TLSMaterial: Record<string, Array<string>>;
Storage: StorageInfo; Storage: StorageInfo;

View File

@@ -14,7 +14,65 @@
* limitations under the License. * limitations under the License.
*/ */
import type {SerializedBundle} from '@sigstore/bundle';
import {Subject} from '../intoto/intoto';
export const FULCIO_URL = 'https://fulcio.sigstore.dev'; export const FULCIO_URL = 'https://fulcio.sigstore.dev';
export const REKOR_URL = 'https://rekor.sigstore.dev'; export const REKOR_URL = 'https://rekor.sigstore.dev';
export const TSASERVER_URL = 'https://timestamp.sigstore.dev'; export const TSASERVER_URL = 'https://timestamp.sigstore.dev';
export const SEARCH_URL = 'https://search.sigstore.dev'; export const SEARCH_URL = 'https://search.sigstore.dev';
export interface Endpoints {
fulcioURL: string;
rekorURL?: string;
tsaServerURL?: string;
}
export interface ParsedBundle {
payload: SerializedBundle;
certificate: string;
tlogID?: string;
}
export interface SignAttestationManifestsOpts {
imageNames: Array<string>;
imageDigest: string;
noTransparencyLog?: boolean;
}
export interface SignAttestationManifestsResult extends ParsedBundle {
imageName: string;
}
export interface VerifySignedManifestsOpts {
certificateIdentityRegexp: string;
noTransparencyLog?: boolean;
retries?: number;
}
export interface VerifySignedManifestsResult {
cosignArgs: Array<string>;
signatureManifestDigest: string;
}
export interface SignProvenanceBlobsOpts {
localExportDir: string;
name?: string;
noTransparencyLog?: boolean;
}
export interface SignProvenanceBlobsResult extends ParsedBundle {
bundlePath: string;
subjects: Array<Subject>;
}
export interface VerifySignedArtifactsOpts {
certificateIdentityRegexp: string;
noTransparencyLog?: boolean;
}
export interface VerifySignedArtifactsResult {
bundlePath: string;
cosignArgs: Array<string>;
}

View File

@@ -82,7 +82,7 @@ export class Util {
let url; let url;
try { try {
url = new URL(urlStr); url = new URL(urlStr);
} catch (e) { } catch {
return false; return false;
} }
return url.protocol === 'http:' || url.protocol === 'https:'; return url.protocol === 'http:' || url.protocol === 'https:';
@@ -115,10 +115,10 @@ export class Util {
}; };
} }
public static isDirectory(p) { public static isDirectory(p: string) {
try { try {
return fs.lstatSync(p).isDirectory(); return fs.lstatSync(p).isDirectory();
} catch (_) { } catch {
// noop // noop
} }
return false; return false;

View File

@@ -2,7 +2,8 @@
"compilerOptions": { "compilerOptions": {
"esModuleInterop": true, "esModuleInterop": true,
"target": "es6", "target": "es6",
"module": "commonjs", "module": "node16",
"isolatedModules": true,
"strict": true, "strict": true,
"declaration": true, "declaration": true,
"sourceMap": true, "sourceMap": true,
@@ -18,7 +19,6 @@
"./__mocks__/**/*", "./__mocks__/**/*",
"./__tests__/**/*", "./__tests__/**/*",
"./lib/**/*", "./lib/**/*",
"node_modules", "node_modules"
"jest.config*.ts"
] ]
} }

4482
yarn.lock

File diff suppressed because it is too large Load Diff