Compare commits

...

275 Commits

Author SHA1 Message Date
CrazyMax
6ddef8a463 Merge pull request #620 from docker/dependabot/npm_and_yarn/actions/artifact-2.3.0
Some checks failed
publish / publish (push) Has been cancelled
build(deps): bump @actions/artifact from 2.2.2 to 2.3.0
2025-03-11 00:07:34 +01:00
dependabot[bot]
1de251545a build(deps): bump @actions/artifact from 2.2.2 to 2.3.0
Bumps [@actions/artifact](https://github.com/actions/toolkit/tree/HEAD/packages/artifact) from 2.2.2 to 2.3.0.
- [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-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 22:49:14 +00:00
CrazyMax
af76018577 Merge pull request #619 from crazy-max/update-lima-cfg
docker(install): update lima images
2025-03-10 14:52:40 +01:00
CrazyMax
7c54b0d570 docker(install): update lima images
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-10 12:55:47 +01:00
CrazyMax
977644b1c4 Merge pull request #618 from crazy-max/buildkit-0.20.1
update buildkit to 0.20.1
2025-03-06 13:55:36 +01:00
CrazyMax
d5da34a80b update buildkit to 0.20.1
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-05 17:10:02 +01:00
CrazyMax
de3328fb33 Merge pull request #616 from crazy-max/buildx-0.21.2
dockerfile: update buildx to 0.21.2
2025-03-05 13:27:59 +01:00
CrazyMax
391c776af6 Merge pull request #617 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-03-05 13:27:12 +01:00
crazy-max
8d2c24dd89 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-05 12:07:41 +00:00
CrazyMax
43b8598a0b dockerfile: update buildx to 0.21.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-03 17:36:30 +01:00
CrazyMax
5a96697651 Merge pull request #615 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-03-03 17:35:25 +01:00
crazy-max
02d0feb7df github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-03 16:33:40 +00:00
CrazyMax
b5f9106e08 Merge pull request #613 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-02-27 09:26:11 +01:00
crazy-max
f93cd6712c github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-27 00:28:51 +00:00
CrazyMax
6cd97b3669 Merge pull request #612 from docker/dependabot/npm_and_yarn/actions/cache-4.0.2
Some checks failed
publish / publish (push) Has been cancelled
build(deps): bump @actions/cache from 4.0.1 to 4.0.2
2025-02-26 15:20:03 +01:00
dependabot[bot]
4a13975fd1 build(deps): bump @actions/cache from 4.0.1 to 4.0.2
Bumps [@actions/cache](https://github.com/actions/toolkit/tree/HEAD/packages/cache) from 4.0.1 to 4.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-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 22:22:45 +00:00
CrazyMax
97a949444d Merge pull request #611 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-02-25 10:45:22 +01:00
crazy-max
77e52fe6b0 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-25 00:18:52 +00:00
CrazyMax
60f9b4c28d Merge pull request #610 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-02-24 13:18:10 +01:00
crazy-max
2a091a2c69 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-24 12:07:43 +00:00
CrazyMax
834b79b6b3 Merge pull request #603 from docker/dependabot/npm_and_yarn/actions/artifact-2.2.2
build(deps): bump @actions/artifact from 2.2.1 to 2.2.2
2025-02-22 13:30:01 +01:00
CrazyMax
a83640a03c Merge pull request #609 from docker/bot/compose-releases-json
Update `.github/compose-releases.json`
2025-02-22 13:29:09 +01:00
CrazyMax
ec774f564b Merge pull request #608 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-02-22 13:28:42 +01:00
crazy-max
51a104851d github: update .github/compose-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-22 00:29:39 +00:00
crazy-max
af36b73f0f github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-22 00:17:43 +00:00
CrazyMax
4e27e0c148 Merge pull request #607 from crazy-max/buildx-0.21.1
dockerfile: update buildx to 0.21.1
2025-02-21 15:01:59 +01:00
CrazyMax
17de3961ec dockerfile: update buildx to 0.21.1
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-21 14:31:33 +01:00
CrazyMax
5ec79aa91e Merge pull request #606 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-02-21 14:29:57 +01:00
crazy-max
fd005ff6bd github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-21 13:29:01 +00:00
CrazyMax
44525b4c00 Merge pull request #605 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-02-21 01:30:15 +01:00
crazy-max
c1a823ad97 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-21 00:18:29 +00:00
dependabot[bot]
2a3bfd0f48 build(deps): bump @actions/artifact from 2.2.1 to 2.2.2
Bumps [@actions/artifact](https://github.com/actions/toolkit/tree/HEAD/packages/artifact) from 2.2.1 to 2.2.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-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-20 22:25:21 +00:00
CrazyMax
4ecc47d56a Merge pull request #602 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-02-20 11:00:52 +01:00
crazy-max
9408be1597 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-20 09:57:02 +00:00
CrazyMax
a66547715c Merge pull request #601 from thompson-shaun/bump-buildkit-buildx
update buildkit to v0.20.0 and buildx to v0.21.0
2025-02-20 10:56:33 +01:00
Tõnis Tiigi
d6de3818d5 Merge pull request #600 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-02-19 13:39:26 -08:00
Shaun Thompson
3b8fc6d50c update buildkit to v0.20.0 and buildx to v0.21.0
Signed-off-by: Shaun Thompson <shaun.thompson@docker.com>
2025-02-19 16:23:59 -05:00
thompson-shaun
67d9ba86a9 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-19 21:05:32 +00:00
CrazyMax
ea9281e5c7 Merge pull request #599 from matthiasfehr/binary-secret-files
Some checks failed
publish / publish (push) Has been cancelled
Fix: Remove UTF-8 encoding to prevent mangling of binary secrets
2025-02-19 14:58:38 +01:00
Matthias Fehr
9692462ba3 support binary data when copying secret files
Signed-off-by: Matthias Fehr <matthias@monostream.com>
2025-02-19 14:18:26 +01:00
CrazyMax
278be13d5c Merge pull request #598 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-02-19 13:56:16 +01:00
crazy-max
a50587eea4 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-19 00:28:27 +00:00
CrazyMax
b279e571bd Merge pull request #593 from docker/dependabot/npm_and_yarn/actions/cache-4.0.1
build(deps): bump @actions/cache from 4.0.0 to 4.0.1
2025-02-18 23:48:49 +01:00
CrazyMax
4a3bd8a107 Merge pull request #596 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-02-18 23:31:19 +01:00
CrazyMax
d81b8b7eba Merge pull request #595 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-02-18 23:31:01 +01:00
CrazyMax
7e6c67aea2 Merge pull request #594 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-02-18 23:30:38 +01:00
crazy-max
9a44e6e916 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-18 22:30:27 +00:00
crazy-max
c91976e40d github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-18 00:28:04 +00:00
crazy-max
04d9e88a88 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-18 00:18:16 +00:00
dependabot[bot]
bf532ecbf3 build(deps): bump @actions/cache from 4.0.0 to 4.0.1
Bumps [@actions/cache](https://github.com/actions/toolkit/tree/HEAD/packages/cache) from 4.0.0 to 4.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-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 23:00:36 +00:00
CrazyMax
e9b479a6b6 Merge pull request #592 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-02-14 13:27:10 +01:00
crazy-max
1cacc175a5 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-14 12:07:36 +00:00
CrazyMax
4d25d37a04 Merge pull request #589 from docker/bot/compose-releases-json
Update `.github/compose-releases.json`
2025-02-12 11:25:36 +01:00
crazy-max
814ebfcf9c github: update .github/compose-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-12 09:11:21 +00:00
CrazyMax
cce3bda2c4 Merge pull request #588 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-02-12 10:10:47 +01:00
crazy-max
752172b953 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-12 09:10:23 +00:00
CrazyMax
da806c7a72 Merge pull request #586 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-02-07 13:11:20 +01:00
crazy-max
e7b2ffaa07 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-07 12:10:40 +00:00
CrazyMax
d1d0bdb690 Merge pull request #584 from docker/bot/docker-releases-json
Some checks failed
publish / publish (push) Has been cancelled
Update `.github/docker-releases.json`
2025-02-04 15:51:31 +01:00
CrazyMax
aebb71c0a7 Merge pull request #585 from docker/dependabot/npm_and_yarn/semver-7.7.1
build(deps): bump semver from 7.6.3 to 7.7.1
2025-02-04 15:51:16 +01:00
dependabot[bot]
26d4e15b95 build(deps): bump semver from 7.6.3 to 7.7.1
Bumps [semver](https://github.com/npm/node-semver) from 7.6.3 to 7.7.1.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.6.3...v7.7.1)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 22:53:46 +00:00
crazy-max
d749a37a94 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-03 12:10:47 +00:00
CrazyMax
eb73b82786 Merge pull request #582 from crazy-max/update-readme
readme: add setup-compose-action
2025-01-28 10:18:14 +01:00
CrazyMax
076df0c172 readme: add setup-compose-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-28 09:54:45 +01:00
CrazyMax
43e4bfc11b Merge pull request #581 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-01-27 17:20:24 +01:00
crazy-max
43319f41b9 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-27 16:00:57 +00:00
CrazyMax
d6e7855c71 Merge pull request #580 from crazy-max/compose-base-cache-dir
compose(install): fix base cache dir
2025-01-27 17:00:27 +01:00
CrazyMax
96fbf6ca32 compose(install): fix base cache dir
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-27 14:47:29 +01:00
CrazyMax
39e9b0e5c1 Merge pull request #578 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-01-24 13:22:47 +01:00
crazy-max
0804e7ee73 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-24 12:06:50 +00:00
CrazyMax
568184333d Merge pull request #577 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-01-24 01:48:33 +01:00
crazy-max
5caa3ec458 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-24 00:17:51 +00:00
CrazyMax
3c328a53eb Merge pull request #560 from crazy-max/builder-inspect-file
Some checks failed
publish / publish (push) Has been cancelled
builder: support files in inspect command
2025-01-23 10:53:25 +01:00
CrazyMax
2c62255f2d Merge pull request #572 from crazy-max/update-buildkit-buildx
update buildkit to 0.19.0 and buildx to 0.20.1
2025-01-23 10:52:18 +01:00
CrazyMax
ed7e9a44e0 Merge pull request #576 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-01-23 00:39:26 +01:00
Tonis Tiigi
dd0f91b30b update buildx to v0.20.1
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-01-22 15:25:04 -08:00
tonistiigi
5c369b71ab github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-22 23:16:25 +00:00
Tõnis Tiigi
8ac9d9c3bd Merge pull request #575 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-01-22 15:15:52 -08:00
tonistiigi
c6b95cb147 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-22 23:15:28 +00:00
CrazyMax
4b7b2c4fd1 Merge pull request #574 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2025-01-22 13:09:04 +01:00
crazy-max
ea42e3a061 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-22 12:07:01 +00:00
CrazyMax
0bcd5b25a2 bake: fix missing default target in group's default targets
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-21 14:30:40 +01:00
CrazyMax
4b68aa828a bake: fix attest disabled attribute
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-21 14:25:43 +01:00
CrazyMax
ba8d872626 Merge pull request #573 from crazy-max/test-cache-post
cache: allow to skip state to send cache directly to gha
2025-01-21 12:19:39 +01:00
CrazyMax
2ecc3150d2 cache: allow to skip state to send cache directly to gha
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-21 10:53:55 +01:00
CrazyMax
5bc1041760 Merge pull request #571 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-01-20 20:54:41 +01:00
CrazyMax
ed5ad08108 update buildkit to 0.19.0 and buildx to 0.20.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-20 20:37:32 +01:00
crazy-max
acc213a00a github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-20 19:34:31 +00:00
CrazyMax
e6e18dee25 Merge pull request #570 from crazy-max/compose-cloud
compose: cloud releases support
2025-01-20 16:02:05 +01:00
CrazyMax
d9bd2d45ba test: increase timeout for binary download
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-20 15:40:14 +01:00
CrazyMax
1229986252 compose: cloud releases support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-20 15:38:48 +01:00
CrazyMax
2925ff2bef Merge pull request #569 from docker/bot/compose-lab-releases-json
Update `.github/compose-lab-releases.json`
2025-01-20 15:17:38 +01:00
crazy-max
41bd4c9503 github: update .github/compose-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-20 14:08:38 +00:00
CrazyMax
b93cb9e902 Merge pull request #568 from crazy-max/compose-lab
ci: compose lab releases
2025-01-20 15:08:09 +01:00
CrazyMax
6e5cf7117a ci: compose lab releases
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-20 13:49:22 +01:00
CrazyMax
6b5c60adb0 Merge pull request #558 from crazy-max/ci-virtualenv
Some checks failed
publish / publish (push) Has been cancelled
ci: add ubuntu arm runners
2025-01-20 10:29:47 +01:00
CrazyMax
1b6fc2257f ci(test): add ubuntu arm runner
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-20 01:00:03 +01:00
CrazyMax
dd2160f477 ci(virtual-env): add ubuntu arm runners
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-19 22:29:30 +01:00
CrazyMax
a54d83c644 Merge pull request #566 from crazy-max/test-github-fix
test(github): generate random filename
2025-01-19 22:23:32 +01:00
CrazyMax
3cdc15c881 Merge pull request #565 from crazy-max/buildx-imagetools
buildx: imagetools
2025-01-19 22:23:19 +01:00
CrazyMax
c901021fb1 Merge pull request #564 from crazy-max/compose-install
compose install
2025-01-19 22:23:06 +01:00
CrazyMax
5b8e902c4d buildx: imagetools
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-19 20:04:33 +01:00
CrazyMax
cab9e2952c test(github): generate random filename
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-19 20:01:05 +01:00
CrazyMax
ac9dc8b527 compose install
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-18 19:23:56 +01:00
CrazyMax
9b3822d698 Merge pull request #561 from crazy-max/ci-buildx-edge
ci(test): use buildx edge releases
2025-01-18 12:34:17 +01:00
CrazyMax
84930a3d2d Merge pull request #563 from docker/bot/compose-releases-json
Update `.github/compose-releases.json`
2025-01-18 12:08:19 +01:00
crazy-max
1195b4311b github: update .github/compose-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-18 11:07:22 +00:00
CrazyMax
f8d303b336 Merge pull request #562 from crazy-max/compose-releases-json
ci: compose releases json workflow
2025-01-18 12:06:52 +01:00
CrazyMax
4a31b494f0 ci: compose releases json workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-18 11:40:16 +01:00
CrazyMax
703a1d1973 ci(test): use buildx edge releases
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-18 11:37:20 +01:00
CrazyMax
e75da9cf2f Merge pull request #559 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-01-18 11:29:00 +01:00
CrazyMax
f3bf577877 builder: support files in inspect command
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-18 11:17:02 +01:00
crazy-max
9ed9b1d1aa github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-18 00:19:11 +00:00
CrazyMax
38fd60d94a Merge pull request #556 from docker/dependabot/npm_and_yarn/actions/tool-cache-2.0.2
build(deps): bump @actions/tool-cache from 2.0.1 to 2.0.2
2025-01-17 00:15:32 +01:00
CrazyMax
246ac9634b Merge pull request #523 from docker/dependabot/npm_and_yarn/actions/cache-4.0.0
build(deps): bump @actions/cache from 3.3.0 to 4.0.0
2025-01-16 15:23:15 +01:00
dependabot[bot]
afc5fed49b build(deps): bump @actions/cache from 3.3.0 to 4.0.0
Bumps [@actions/cache](https://github.com/actions/toolkit/tree/HEAD/packages/cache) from 3.3.0 to 4.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/cache@4.0.0/packages/cache)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-16 13:57:13 +00:00
CrazyMax
88b5826b8a Merge pull request #557 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-01-16 09:19:56 +01:00
crazy-max
d49a8c5927 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-16 00:19:58 +00:00
dependabot[bot]
f5f997cc54 build(deps): bump @actions/tool-cache from 2.0.1 to 2.0.2
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 2.0.1 to 2.0.2.
- [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-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 22:10:44 +00:00
CrazyMax
2f6f85d000 Merge pull request #555 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2025-01-15 14:47:52 +01:00
crazy-max
f2b7ab25b0 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-15 13:47:27 +00:00
CrazyMax
f795e92af9 Merge pull request #554 from crazy-max/context-remove-provenanceBuilderID
Some checks failed
publish / publish (push) Has been cancelled
context: remove provenanceBuilderID func
2025-01-15 12:25:00 +01:00
CrazyMax
e46ec802f8 Merge pull request #551 from crazy-max/git-pr-head-ref-optin
context: opt-in pull request head ref
2025-01-15 11:38:38 +01:00
CrazyMax
f2e802cdcd context: remove provenanceBuilderID func
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-15 10:10:17 +01:00
CrazyMax
e02b7d7dab context: opt-in pull request head ref
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-15 10:09:18 +01:00
CrazyMax
9881e80bfd Merge pull request #553 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-01-14 09:48:37 +01:00
crazy-max
a824931115 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-14 00:27:04 +00:00
CrazyMax
cc12dc0f23 Merge pull request #552 from crazy-max/addlicense-install
dockerfile: use go install for addlicense and update to v1.1.1
2025-01-13 15:03:17 +01:00
CrazyMax
13bd9c8b43 dockerfile: update addlicense to v1.1.1
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-13 14:29:17 +01:00
CrazyMax
231937b397 dockerfile: use go install for addlicense
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-13 14:29:02 +01:00
CrazyMax
54bdcf6c08 Merge pull request #549 from docker/dependabot/npm_and_yarn/actions/artifact-2.2.1
Some checks failed
publish / publish (push) Has been cancelled
build(deps): bump @actions/artifact from 2.2.0 to 2.2.1
2025-01-10 09:40:26 +01:00
CrazyMax
b754abce91 Merge pull request #550 from crazy-max/bake-check-git-auth-token
bake: hasGitAuthTokenSecret func
2025-01-10 09:33:58 +01:00
CrazyMax
73473a8d30 bake: hasGitAuthTokenSecret func
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-10 09:14:36 +01:00
dependabot[bot]
1fcf059bc3 build(deps): bump @actions/artifact from 2.2.0 to 2.2.1
Bumps [@actions/artifact](https://github.com/actions/toolkit/tree/HEAD/packages/artifact) from 2.2.0 to 2.2.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-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-09 22:19:48 +00:00
CrazyMax
e36200f754 Merge pull request #546 from crazy-max/bake-v6
update bake-action to v6
2025-01-08 18:53:00 +01:00
CrazyMax
7811a01457 Merge pull request #547 from crazy-max/bake-composable-attests
bake: composable attributes for attestations support
2025-01-08 17:34:17 +01:00
CrazyMax
bfc74cf338 bake: composable attributes for attestations support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 15:28:06 +01:00
CrazyMax
d78e250f06 Merge pull request #514 from crazy-max/bake-composable-attrs
bake: support composable attributes
2025-01-08 14:41:29 +01:00
CrazyMax
9c90456f05 Merge pull request #545 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-01-08 13:21:57 +01:00
CrazyMax
d973aa3819 update bake-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 13:16:35 +01:00
crazy-max
8a08fe2806 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-08 00:28:31 +00:00
CrazyMax
6187bb12a9 Merge pull request #539 from docker/dependabot/npm_and_yarn/actions/artifact-2.2.0
build(deps): bump @actions/artifact from 2.1.11 to 2.2.0
2025-01-06 10:12:31 +01:00
CrazyMax
4198f608fc Merge pull request #543 from docker/bot/undock-releases-json
Update `.github/undock-releases.json`
2025-01-06 09:53:57 +01:00
crazy-max
f3bd84d2d9 github: update .github/undock-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-06 08:53:48 +00:00
CrazyMax
7d8134f7ee Merge pull request #542 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2025-01-06 09:53:16 +01:00
crazy-max
b8e5bf5d47 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-23 12:11:07 +00:00
CrazyMax
fd7471e4b3 Merge pull request #541 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-12-18 15:27:25 +01:00
crazy-max
de32b3cb22 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-18 14:27:15 +00:00
CrazyMax
8e982c7ecb Merge pull request #540 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-12-18 15:26:37 +01:00
crazy-max
7fe0176aa4 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-18 12:07:21 +00:00
dependabot[bot]
ea0e154248 build(deps): bump @actions/artifact from 2.1.11 to 2.2.0
Bumps [@actions/artifact](https://github.com/actions/toolkit/tree/HEAD/packages/artifact) from 2.1.11 to 2.2.0.
- [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-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-17 22:28:54 +00:00
CrazyMax
6dba1dff74 Merge pull request #538 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-12-17 22:34:29 +01:00
tonistiigi
6e604a85da github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-17 18:26:04 +00:00
Tõnis Tiigi
97f8928706 Merge pull request #537 from crazy-max/update-buildx
update buildx to v0.19.3
2024-12-17 10:25:36 -08:00
CrazyMax
a7d1113dcb update buildx to v0.19.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-17 13:37:33 +01:00
CrazyMax
c37ffdb5fc Merge pull request #536 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-12-17 13:36:41 +01:00
crazy-max
621224b486 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-17 12:36:19 +00:00
CrazyMax
3537a9ed79 Merge pull request #535 from tonistiigi/update-buildkit-v0.18.2
update buildkit to v0.18.2
2024-12-17 12:43:04 +01:00
Tonis Tiigi
b67f68d8d3 update buildkit to v0.18.2
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2024-12-16 15:50:40 -08:00
CrazyMax
ea5e6b5583 Merge pull request #534 from crazy-max/util-input-number
Some checks failed
publish / publish (push) Has been cancelled
util: getInputNumber func
2024-12-13 16:26:56 +01:00
CrazyMax
e6e545e60d util: getInputNumber func
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-13 13:04:29 +01:00
CrazyMax
ca8094202e Merge pull request #533 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-12-13 12:19:21 +01:00
crazy-max
18f86e8bbe github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-13 11:16:50 +00:00
CrazyMax
015ed3d61a Merge pull request #532 from crazy-max/buildx-cloud-repokey
Some checks failed
publish / publish (push) Has been cancelled
buildx(install): rename lab to cloud
2024-12-12 14:57:04 +01:00
CrazyMax
e1103fddef buildx(install): rename lab to cloud
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 14:39:17 +01:00
CrazyMax
1d49775be9 Merge pull request #531 from crazy-max/docker-install-local-tcp
docker(install): opt to expose local tcp address
2024-12-12 14:32:14 +01:00
CrazyMax
51e66210fb ci: split docker install by test name
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 14:18:50 +01:00
CrazyMax
cd8a555683 docker(install): opt to expose local tcp address
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 11:14:31 +01:00
CrazyMax
e908dafd1d ci: split docker install for other os
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-11 21:55:15 +01:00
CrazyMax
ba72b5ac36 Merge pull request #530 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-12-11 13:59:51 +01:00
crazy-max
697daea613 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-11 12:59:11 +00:00
CrazyMax
cf3b7825d1 Merge pull request #529 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-12-11 13:58:33 +01:00
crazy-max
c02def4ec1 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-11 00:20:03 +00:00
CrazyMax
f24e36809f Merge pull request #528 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-12-10 09:41:13 +01:00
crazy-max
525e465d20 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-10 00:30:52 +00:00
CrazyMax
21b322a03a Merge pull request #525 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-12-09 10:18:56 +01:00
crazy-max
e30237e575 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-07 10:14:11 +00:00
CrazyMax
4ab23ad060 Merge pull request #527 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-12-07 11:13:38 +01:00
crazy-max
516e8d5ec9 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-07 00:21:40 +00:00
CrazyMax
4126481cc3 Merge pull request #526 from crazy-max/update-readme
readme: add setup-docker-action
2024-12-06 17:16:17 +01:00
CrazyMax
e1274f2024 readme: add setup-docker-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-06 17:07:02 +01:00
CrazyMax
0a8b89fa07 Merge pull request #524 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-12-05 13:36:09 +01:00
crazy-max
0d31942772 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-05 12:11:35 +00:00
CrazyMax
f3ecebd074 Merge pull request #522 from tonistiigi/update-buildkit-v0.18.1
github: update buildkit to v0.18.1
2024-12-04 09:59:33 +01:00
Tonis Tiigi
0d60eaffd1 github: update buildkit to v0.18.1
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2024-12-03 17:50:58 -08:00
CrazyMax
068b0dcb39 bake: support composable attributes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-03 15:07:06 +01:00
CrazyMax
36650ca702 Merge pull request #521 from docker/bot/docker-releases-json
Some checks failed
publish / publish (push) Has been cancelled
Update `.github/docker-releases.json`
2024-12-03 14:58:59 +01:00
crazy-max
b232f18282 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-30 00:29:03 +00:00
CrazyMax
2e6acb85f0 Merge pull request #520 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-11-28 15:26:14 +01:00
crazy-max
a8ef02b62a github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-28 14:25:31 +00:00
CrazyMax
4d3be21dad Merge pull request #519 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-11-28 14:38:59 +01:00
crazy-max
5b4f5428ef github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-28 13:36:53 +00:00
CrazyMax
c368aca6cf Merge pull request #518 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-11-28 14:36:27 +01:00
crazy-max
d05cdc6878 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-28 12:07:31 +00:00
CrazyMax
df61593ae1 Merge pull request #517 from tonistiigi/update-buildx-buildkit-v0.19.1
Update buildx buildkit v0.19.1
2024-11-27 20:58:36 +01:00
Tonis Tiigi
dd0ab4171a update buildkit to v0.18.0
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2024-11-27 11:02:18 -08:00
Tonis Tiigi
b0ac581cb1 update buildx to v0.19.1
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2024-11-27 11:01:53 -08:00
Tõnis Tiigi
5a8b57c95a Merge pull request #516 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-11-27 10:59:08 -08:00
tonistiigi
3deaa610c5 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-27 18:55:07 +00:00
Tõnis Tiigi
b6c56c35d0 Merge pull request #515 from tonistiigi/revert-v0.18.0-pin
Revert "ci: pin buildx latest to v0.18.0"
2024-11-27 10:54:28 -08:00
Tonis Tiigi
aae39d4354 Revert "ci: pin buildx latest to v0.18.0"
This reverts commit 4ea16daf18.

Buildx v0.19.1 has been released.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2024-11-27 10:41:50 -08:00
CrazyMax
670488c531 Merge pull request #513 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-11-27 12:50:40 +01:00
crazy-max
d7243bf353 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-27 11:50:24 +00:00
CrazyMax
63258eae90 Merge pull request #512 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-11-27 12:49:43 +01:00
crazy-max
9f942b9006 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-27 11:49:26 +00:00
CrazyMax
b7d7639e37 Merge pull request #511 from docker/bot/undock-releases-json
Update `.github/undock-releases.json`
2024-11-27 12:48:58 +01:00
CrazyMax
1b47583286 Merge pull request #509 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-11-27 12:48:38 +01:00
crazy-max
52a861f9a6 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-27 11:47:12 +00:00
crazy-max
4ec6da1c34 github: update .github/undock-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-27 11:47:06 +00:00
CrazyMax
fe4847c275 Merge pull request #510 from crazy-max/ci-update-releases-json
ci: update releases-json to 7f83a5a
2024-11-27 12:46:41 +01:00
CrazyMax
4ea16daf18 ci: pin buildx latest to v0.18.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-27 12:13:16 +01:00
CrazyMax
ae68f5e35d ci: update releases-json to 7f83a5a
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-27 12:12:19 +01:00
CrazyMax
48ef9fdac6 Merge pull request #508 from crazy-max/revert-buildx-update
Revert "github: update .github/buildx-releases.json"
2024-11-27 11:16:40 +01:00
CrazyMax
48b9f27a7b Revert "github: update .github/buildx-releases.json"
This reverts commit 0a1859004b.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-27 11:08:51 +01:00
CrazyMax
d51946fd4b Merge pull request #506 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-11-27 09:48:23 +01:00
tonistiigi
0a1859004b github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-27 02:01:47 +00:00
CrazyMax
ecd73afcbd Merge pull request #505 from crazy-max/bake-call
bake: missing call and allow cmd opts
2024-11-26 17:54:12 +01:00
CrazyMax
5cd47162a7 Merge pull request #504 from crazy-max/bake-missing-attrs
bake: missing attributes on group and target types
2024-11-26 17:53:55 +01:00
CrazyMax
dcacfbd8df Merge pull request #502 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-11-26 15:58:14 +01:00
CrazyMax
79b9812052 bake: missing call and allow cmd opts
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-26 15:48:57 +01:00
CrazyMax
ade18ca4a9 bake: missing attributes on group and target types
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-26 15:37:21 +01:00
crazy-max
d9b2332555 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-26 12:08:00 +00:00
CrazyMax
8e475672d0 Merge pull request #496 from crazy-max/ci-split-docker-install-tests
Some checks failed
publish / publish (push) Has been cancelled
ci: split docker install integration tests
2024-11-25 14:03:34 +01:00
CrazyMax
9e42346af2 ci: split docker install integration tests
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-25 13:22:57 +01:00
CrazyMax
c1f346a886 Merge pull request #500 from crazy-max/update-buildkit
ci: update buildkit to 0.17.2
2024-11-25 13:01:41 +01:00
CrazyMax
51fe51827b Merge pull request #501 from crazy-max/docker-install-update-cloud-images
docker(install): update lima images to ubuntu 24.04
2024-11-25 12:49:01 +01:00
CrazyMax
76fc6aa044 docker(install): update lima images to ubuntu 24.04
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-25 11:38:11 +01:00
CrazyMax
d99f9fda4d Merge pull request #488 from crazy-max/test-node-multi
ci: test supported node versions
2024-11-22 18:04:24 +01:00
CrazyMax
2f29958913 ci: update buildkit to 0.17.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-22 11:23:42 +01:00
CrazyMax
24f1be5fbb Merge pull request #499 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-11-22 08:58:27 +01:00
CrazyMax
e2dbc9880e ci: test supported node versions
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-22 08:57:43 +01:00
crazy-max
fd7e21c0b5 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-22 07:57:01 +00:00
CrazyMax
51752522b5 Merge pull request #498 from docker/dependabot/npm_and_yarn/csv-parse-5.6.0
build(deps): bump csv-parse from 5.5.6 to 5.6.0
2024-11-22 08:56:30 +01:00
CrazyMax
881c88b74d Merge pull request #497 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-11-22 08:56:09 +01:00
dependabot[bot]
59d1b48622 build(deps): bump csv-parse from 5.5.6 to 5.6.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.6 to 5.6.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.6.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-21 22:58:32 +00:00
crazy-max
e39e91a6d0 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-20 00:28:49 +00:00
CrazyMax
db6372e84f Merge pull request #491 from docker/dependabot/github_actions/codecov/codecov-action-5
Some checks failed
publish / publish (push) Has been cancelled
build(deps): bump codecov/codecov-action from 4 to 5
2024-11-18 16:42:10 +01:00
CrazyMax
ed273243e8 Merge pull request #495 from docker/dependabot/npm_and_yarn/cross-spawn-7.0.6
build(deps): bump cross-spawn from 7.0.3 to 7.0.6
2024-11-18 16:38:48 +01:00
CrazyMax
749fc87fb2 ci: fix deprecated input for codecov-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-18 16:17:16 +01:00
dependabot[bot]
9f6ff3da7f build(deps): bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 15:16:48 +00:00
CrazyMax
c2a62c4476 Merge pull request #494 from crazy-max/ci-drop-macos-12
ci: remove deprecated macos-12 runner
2024-11-18 16:14:54 +01:00
CrazyMax
8dfe7ecbd9 ci: remove deprecated macos-12 runner
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-18 15:51:00 +01:00
CrazyMax
d19019dc11 Merge pull request #493 from crazy-max/qemu-check-installed
docker(install): check qemu is installed
2024-11-18 15:45:47 +01:00
CrazyMax
1362d80447 docker(install): check qemu is installed
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-18 15:19:43 +01:00
CrazyMax
05607289aa Merge pull request #492 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-11-18 14:02:28 +01:00
crazy-max
91444bd3bd github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-15 00:29:29 +00:00
dependabot[bot]
cc17e76a52 build(deps): bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-14 22:27:55 +00:00
CrazyMax
8672cc70f4 Merge pull request #489 from trim21/get-commit-data
Some checks failed
publish / publish (push) Has been cancelled
feat: add method to get commit date from git
2024-11-13 13:39:55 +01:00
Trim21
31cb9c3bde feat: add method to get commit date from git
Signed-off-by: Trim21 <trim21.me@gmail.com>
2024-11-13 20:11:46 +08:00
CrazyMax
781874f7fa Merge pull request #486 from vvoland/docker-install-rootless2
docker/install: Fix rootless install, make teardown also cleanup the toolDir
2024-11-13 12:04:15 +01:00
Paweł Gronowski
54e0f74a84 docker/install: Stop docker service on Windows
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2024-11-08 18:07:31 +01:00
Paweł Gronowski
15a9f92044 docker/install: Copy all rootless-extras files
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2024-11-08 17:58:08 +01:00
Paweł Gronowski
0b611e6c46 docker/install: Clean up toolDir in teardown
The `toolDir` is added to `PATH` on install, so make sure the binaries
aren't accessible after a teardown.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2024-11-08 17:58:05 +01:00
Paweł Gronowski
4980de30fc test/install: Use separate runDir for each test
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2024-11-08 17:58:03 +01:00
CrazyMax
37b0f81ca2 Merge pull request #485 from vvoland/docker-install-rootless
Some checks failed
publish / publish (push) Has been cancelled
docker/install: Support rootless
2024-11-07 12:04:37 +01:00
Paweł Gronowski
2d2bc848fe docker/install: Support rootless
Add support for running a rootless daemon. Currently only Linux host is
supported.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2024-11-06 18:02:02 +01:00
CrazyMax
8c97b0d9b4 Merge pull request #483 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-11-02 17:36:11 +01:00
crazy-max
9da4a47d60 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-02 11:47:16 +00:00
CrazyMax
80e4f3c485 Merge pull request #484 from docker/dependabot/npm_and_yarn/actions/cache-3.3.0
build(deps): bump @actions/cache from 3.2.4 to 3.3.0
2024-11-02 12:46:50 +01:00
dependabot[bot]
cb33662ebc build(deps): bump @actions/cache from 3.2.4 to 3.3.0
Bumps [@actions/cache](https://github.com/actions/toolkit/tree/HEAD/packages/cache) from 3.2.4 to 3.3.0.
- [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-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-01 22:42:41 +00:00
CrazyMax
1b63de84b1 Merge pull request #482 from tonistiigi/update-buildx-v0.18.0
update buildx to v0.18.0
2024-10-31 08:59:17 +01:00
Tonis Tiigi
577f9b9555 update buildx to v0.18.0
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2024-10-30 15:51:36 -07:00
Tõnis Tiigi
c6389d840e Merge pull request #481 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-10-30 15:50:15 -07:00
tonistiigi
d90b053e7c github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-30 22:49:32 +00:00
CrazyMax
853d5fa804 Merge pull request #480 from vvoland/docker-install-image-latest-fix
Some checks failed
publish / publish (push) Has been cancelled
docker/install: Fix latest image install on lima
2024-10-30 16:22:35 +01:00
Paweł Gronowski
61c10b2d7d docker/install: Fix latest image install on lima
`latest` is not a valid git tag or revision to get the matching systemd
unit files.
Look up the exact source git commit from the
`'org.opencontainers.image.revision` image config label.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2024-10-30 15:45:37 +01:00
CrazyMax
e84b18afd5 Merge pull request #479 from crazy-max/dockerfile-validate
dockerfile validation
2024-10-30 10:34:42 +01:00
CrazyMax
f06ec3b4a1 ci: use list-targets subaction
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-30 09:43:45 +01:00
CrazyMax
991feac6c3 fix dockerfile checks
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-30 09:43:44 +01:00
CrazyMax
a79473b652 dockerfile validation
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-30 09:43:20 +01:00
CrazyMax
6f86e0250d Merge pull request #476 from crazy-max/undock-run
undock: run and extract
2024-10-30 09:14:05 +01:00
CrazyMax
0a09638c5b undock: run
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-30 07:35:55 +01:00
CrazyMax
ea7b423421 Merge pull request #478 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-10-30 06:42:00 +01:00
crazy-max
24115c327a github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-30 00:20:21 +00:00
CrazyMax
735c66bebf undock: check for availability
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-29 14:30:05 +01:00
67 changed files with 10336 additions and 668 deletions

View File

@@ -1,43 +1,944 @@
{
"latest": {
"id": 174998914,
"tag_name": "v0.17.1-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.17.1-desktop.1",
"id": 203829485,
"tag_name": "v0.21.2-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.21.2-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/buildx-v0.17.1-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.17.1-desktop.1/checksums.txt"
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/checksums.txt"
]
},
"v0.21.2-desktop.1": {
"id": 203829485,
"tag_name": "v0.21.2-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.21.2-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/checksums.txt"
]
},
"v0.21.1-desktop.2": {
"id": 202008452,
"tag_name": "v0.21.1-desktop.2",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.21.1-desktop.2",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/buildx-v0.21.1-desktop.2.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.2/checksums.txt"
]
},
"edge": {
"id": 203829485,
"tag_name": "v0.21.2-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.21.2-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/buildx-v0.21.2-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.2-desktop.1/checksums.txt"
]
},
"v0.21.1-desktop.1": {
"id": 201688651,
"tag_name": "v0.21.1-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.21.1-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/buildx-v0.21.1-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.1-desktop.1/checksums.txt"
]
},
"v0.21.0-desktop.1": {
"id": 201471537,
"tag_name": "v0.21.0-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.21.0-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/buildx-v0.21.0-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.21.0-desktop.1/checksums.txt"
]
},
"v0.20.1-desktop.4": {
"id": 200777523,
"tag_name": "v0.20.1-desktop.4",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.20.1-desktop.4",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/buildx-v0.20.1-desktop.4.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.4/checksums.txt"
]
},
"v0.20.1-desktop.3": {
"id": 200777279,
"tag_name": "v0.20.1-desktop.3",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.20.1-desktop.3",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/buildx-v0.20.1-desktop.3.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.3/checksums.txt"
]
},
"v0.20.1-desktop.2": {
"id": 196943697,
"tag_name": "v0.20.1-desktop.2",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.20.1-desktop.2",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/buildx-v0.20.1-desktop.2.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.2/checksums.txt"
]
},
"v0.20.1-desktop.1": {
"id": 196401920,
"tag_name": "v0.20.1-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.20.1-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/buildx-v0.20.1-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.1-desktop.1/checksums.txt"
]
},
"v0.20.0-desktop.1": {
"id": 196051103,
"tag_name": "v0.20.0-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.20.0-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/buildx-v0.20.0-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.20.0-desktop.1/checksums.txt"
]
},
"v0.19.3-desktop.1": {
"id": 191401211,
"tag_name": "v0.19.3-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.19.3-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/buildx-v0.19.3-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.3-desktop.1/checksums.txt"
]
},
"v0.19.2-desktop.4": {
"id": 191209201,
"tag_name": "v0.19.2-desktop.4",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.19.2-desktop.4",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/buildx-v0.19.2-desktop.4.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.4/checksums.txt"
]
},
"v0.19.2-desktop.3": {
"id": 190618703,
"tag_name": "v0.19.2-desktop.3",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.19.2-desktop.3",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/buildx-v0.19.2-desktop.3.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.3/checksums.txt"
]
},
"v0.19.2-desktop.2": {
"id": 190195372,
"tag_name": "v0.19.2-desktop.2",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.19.2-desktop.2",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/buildx-v0.19.2-desktop.2.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.2/checksums.txt"
]
},
"v0.19.2-desktop.1": {
"id": 190017914,
"tag_name": "v0.19.2-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.19.2-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/buildx-v0.19.2-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.2-desktop.1/checksums.txt"
]
},
"v0.19.1-desktop.1": {
"id": 188026345,
"tag_name": "v0.19.1-desktop.1",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.19.1-desktop.1",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.freebsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.freebsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.freebsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.freebsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.freebsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.freebsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.openbsd-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.openbsd-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.openbsd-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.openbsd-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.openbsd-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.openbsd-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/buildx-v0.19.1-desktop.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.19.1-desktop.1/checksums.txt"
]
},
"v0.18.0-desktop.2": {
"id": 183082748,
"tag_name": "v0.18.0-desktop.2",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.18.0-desktop.2",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/buildx-v0.18.0-desktop.2.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.18.0-desktop.2/checksums.txt"
]
},
"v0.17.1-desktop.1": {

File diff suppressed because it is too large Load Diff

281
.github/compose-lab-releases.json vendored Normal file
View File

@@ -0,0 +1,281 @@
{
"latest": {
"id": 157591108,
"tag_name": "v2.27.1-desktop.1",
"html_url": "https://github.com/docker/compose-desktop/releases/tag/v2.27.1-desktop.1",
"assets": [
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/LICENSE",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/checksums.txt",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv6",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv7",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-ppc64le",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-riscv64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-s390x",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-x86_64.exe.sha256"
]
},
"v2.29.1-desktop.2": {
"id": 167816406,
"tag_name": "v2.29.1-desktop.2",
"html_url": "https://github.com/docker/compose-desktop/releases/tag/v2.29.1-desktop.2",
"assets": [
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/LICENSE",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/checksums.txt",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-darwin-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-darwin-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-armv6",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-armv7",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-ppc64le",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-riscv64",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-s390x",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.29.1-desktop.2/docker-compose-windows-x86_64.exe.sha256"
]
},
"v2.27.1-desktop.1": {
"id": 157591108,
"tag_name": "v2.27.1-desktop.1",
"html_url": "https://github.com/docker/compose-desktop/releases/tag/v2.27.1-desktop.1",
"assets": [
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/LICENSE",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/checksums.txt",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv6",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv7",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-ppc64le",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-riscv64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-s390x",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-x86_64.exe.sha256"
]
},
"v2.27.0-desktop.2": {
"id": 155529789,
"tag_name": "v2.27.0-desktop.2",
"html_url": "https://github.com/docker/compose-desktop/releases/tag/v2.27.0-desktop.2",
"assets": [
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/LICENSE",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/checksums.txt",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-darwin-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-darwin-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-armv6",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-armv7",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-ppc64le",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-riscv64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-s390x",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.27.0-desktop.2/docker-compose-windows-x86_64.exe.sha256"
]
},
"v2.23.3-desktop.2": {
"id": 132265362,
"tag_name": "v2.23.3-desktop.2",
"html_url": "https://github.com/docker/compose-desktop/releases/tag/v2.23.3-desktop.2",
"assets": [
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/LICENSE",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/checksums.txt",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-darwin-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-darwin-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-armv6",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-armv7",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-ppc64le",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-riscv64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-s390x",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.2/docker-compose-windows-x86_64.exe.sha256"
]
},
"edge": {
"id": 157591108,
"tag_name": "v2.27.1-desktop.1",
"html_url": "https://github.com/docker/compose-desktop/releases/tag/v2.27.1-desktop.1",
"assets": [
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/LICENSE",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/checksums.txt",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv6",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv7",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-ppc64le",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-riscv64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-s390x",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.27.1-desktop.1/docker-compose-windows-x86_64.exe.sha256"
]
},
"v2.23.3-desktop.1": {
"id": 131533252,
"tag_name": "v2.23.3-desktop.1",
"html_url": "https://github.com/docker/compose-desktop/releases/tag/v2.23.3-desktop.1",
"assets": [
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/LICENSE",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/checksums.txt",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-darwin-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-darwin-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-armv6",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-armv7",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-ppc64le",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-riscv64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-s390x",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.23.3-desktop.1/docker-compose-windows-x86_64.exe.sha256"
]
},
"v2.22.0-desktop.2": {
"id": 123498315,
"tag_name": "v2.22.0-desktop.2",
"html_url": "https://github.com/docker/compose-desktop/releases/tag/v2.22.0-desktop.2",
"assets": [
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/LICENSE",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/checksums.txt",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-darwin-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-darwin-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-armv6",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-armv7",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-ppc64le",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-riscv64",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-s390x",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.22.0-desktop.2/docker-compose-windows-x86_64.exe.sha256"
]
},
"v2.21.0-desktop.1": {
"id": 121171816,
"tag_name": "v2.21.0-desktop.1",
"html_url": "https://github.com/docker/compose-desktop/releases/tag/v2.21.0-desktop.1",
"assets": [
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/LICENSE",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/checksums.txt",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-darwin-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-darwin-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-darwin-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-darwin-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-aarch64",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-aarch64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-armv6",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-armv6.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-armv7",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-armv7.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-ppc64le",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-ppc64le.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-riscv64",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-riscv64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-s390x",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-s390x.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-x86_64",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-linux-x86_64.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-windows-aarch64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-windows-aarch64.exe.sha256",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-windows-x86_64.exe",
"https://github.com/docker/compose-desktop/releases/download/v2.21.0-desktop.1/docker-compose-windows-x86_64.exe.sha256"
]
}
}

4856
.github/compose-releases.json vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,122 @@
{
"latest": {
"id": 176167883,
"tag_name": "v27.3.1",
"html_url": "https://github.com/moby/moby/releases/tag/v27.3.1",
"id": 202550735,
"tag_name": "v28.0.1",
"html_url": "https://github.com/moby/moby/releases/tag/v28.0.1",
"assets": []
},
"v28.0.1": {
"id": 202550735,
"tag_name": "v28.0.1",
"html_url": "https://github.com/moby/moby/releases/tag/v28.0.1",
"assets": []
},
"v28.0.0": {
"id": 201152110,
"tag_name": "v28.0.0",
"html_url": "https://github.com/moby/moby/releases/tag/v28.0.0",
"assets": []
},
"edge": {
"id": 202550735,
"tag_name": "v28.0.1",
"html_url": "https://github.com/moby/moby/releases/tag/v28.0.1",
"assets": []
},
"v28.0.0-rc.3": {
"id": 201046359,
"tag_name": "v28.0.0-rc.3",
"html_url": "https://github.com/moby/moby/releases/tag/v28.0.0-rc.3",
"assets": []
},
"v28.0.0-rc.2": {
"id": 200732563,
"tag_name": "v28.0.0-rc.2",
"html_url": "https://github.com/moby/moby/releases/tag/v28.0.0-rc.2",
"assets": []
},
"v28.0.0-rc.1": {
"id": 198950838,
"tag_name": "v28.0.0-rc.1",
"html_url": "https://github.com/moby/moby/releases/tag/v28.0.0-rc.1",
"assets": []
},
"v25.0.8": {
"id": 198023936,
"tag_name": "v25.0.8",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.8",
"assets": []
},
"v27.5.1": {
"id": 196137348,
"tag_name": "v27.5.1",
"html_url": "https://github.com/moby/moby/releases/tag/v27.5.1",
"assets": []
},
"v27.5.0": {
"id": 194138446,
"tag_name": "v27.5.0",
"html_url": "https://github.com/moby/moby/releases/tag/v27.5.0",
"assets": []
},
"v27.5.0-rc.2": {
"id": 193567140,
"tag_name": "v27.5.0-rc.2",
"html_url": "https://github.com/moby/moby/releases/tag/v27.5.0-rc.2",
"assets": []
},
"v27.5.0-rc.1": {
"id": 192090825,
"tag_name": "v27.5.0-rc.1",
"html_url": "https://github.com/moby/moby/releases/tag/v27.5.0-rc.1",
"assets": []
},
"v27.4.1": {
"id": 190678909,
"tag_name": "v27.4.1",
"html_url": "https://github.com/moby/moby/releases/tag/v27.4.1",
"assets": []
},
"v27.4.0": {
"id": 189756585,
"tag_name": "v27.4.0",
"html_url": "https://github.com/moby/moby/releases/tag/v27.4.0",
"assets": []
},
"v25.0.7": {
"id": 189262441,
"tag_name": "v25.0.7",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.7",
"assets": []
},
"v23.0.16": {
"id": 189261618,
"tag_name": "v23.0.16",
"html_url": "https://github.com/moby/moby/releases/tag/v23.0.16",
"assets": []
},
"v27.4.0-rc.4": {
"id": 189120203,
"tag_name": "v27.4.0-rc.4",
"html_url": "https://github.com/moby/moby/releases/tag/v27.4.0-rc.4",
"assets": []
},
"v27.4.0-rc.3": {
"id": 188263557,
"tag_name": "v27.4.0-rc.3",
"html_url": "https://github.com/moby/moby/releases/tag/v27.4.0-rc.3",
"assets": []
},
"v27.4.0-rc.2": {
"id": 186229632,
"tag_name": "v27.4.0-rc.2",
"html_url": "https://github.com/moby/moby/releases/tag/v27.4.0-rc.2",
"assets": []
},
"v27.4.0-rc.1": {
"id": 185528936,
"tag_name": "v27.4.0-rc.1",
"html_url": "https://github.com/moby/moby/releases/tag/v27.4.0-rc.1",
"assets": []
},
"v23.0.15": {

View File

@@ -1,46 +1,90 @@
{
"latest": {
"id": 162880608,
"tag_name": "v0.8.0",
"html_url": "https://github.com/crazy-max/undock/releases/tag/v0.8.0",
"id": 192171889,
"tag_name": "v0.9.0",
"html_url": "https://github.com/crazy-max/undock/releases/tag/v0.9.0",
"assets": [
"https://github.com/crazy-max/undock/releases/download/v0.8.0/checksums.txt",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_darwin_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_darwin_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_darwin_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_darwin_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_darwin_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_darwin_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_armv5.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_armv5.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_armv5.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_armv6.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_armv6.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_armv6.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_armv7.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_armv7.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_armv7.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_ppc64le.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_ppc64le.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_ppc64le.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_riscv64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_riscv64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_riscv64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_s390x.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_s390x.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_s390x.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_windows_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_windows_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_windows_amd64.zip",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_windows_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_windows_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_windows_arm64.zip"
"https://github.com/crazy-max/undock/releases/download/v0.9.0/checksums.txt",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv5.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv5.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv5.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv6.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv6.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv6.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv7.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv7.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv7.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_ppc64le.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_ppc64le.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_ppc64le.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_riscv64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_riscv64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_riscv64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_s390x.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_s390x.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_s390x.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_amd64.zip",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_arm64.zip"
]
},
"v0.9.0": {
"id": 192171889,
"tag_name": "v0.9.0",
"html_url": "https://github.com/crazy-max/undock/releases/tag/v0.9.0",
"assets": [
"https://github.com/crazy-max/undock/releases/download/v0.9.0/checksums.txt",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv5.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv5.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv5.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv6.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv6.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv6.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv7.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv7.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv7.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_ppc64le.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_ppc64le.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_ppc64le.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_riscv64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_riscv64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_riscv64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_s390x.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_s390x.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_s390x.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_amd64.zip",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_arm64.zip"
]
},
"v0.8.0": {
@@ -108,6 +152,50 @@
"https://github.com/crazy-max/undock/releases/download/v0.7.0/undock_0.7.0_windows_arm64.zip"
]
},
"edge": {
"id": 192171889,
"tag_name": "v0.9.0",
"html_url": "https://github.com/crazy-max/undock/releases/tag/v0.9.0",
"assets": [
"https://github.com/crazy-max/undock/releases/download/v0.9.0/checksums.txt",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_darwin_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_amd64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_arm64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv5.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv5.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv5.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv6.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv6.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv6.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv7.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv7.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_armv7.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_ppc64le.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_ppc64le.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_ppc64le.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_riscv64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_riscv64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_riscv64.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_s390x.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_s390x.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_linux_s390x.tar.gz",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_amd64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_amd64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_amd64.zip",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_arm64.provenance.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_arm64.sbom.json",
"https://github.com/crazy-max/undock/releases/download/v0.9.0/undock_0.9.0_windows_arm64.zip"
]
},
"v0.7.0-rc.1": {
"id": 134495651,
"tag_name": "v0.7.0-rc.1",

View File

@@ -15,12 +15,17 @@ on:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node_version:
- 20
- 18
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Build
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
targets: build
env:
NODE_VERSION: ${{ matrix.node_version }}

View File

@@ -17,7 +17,7 @@ on:
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@fa6141aedf23596fb8bdcceab9cce8dadaa31bd9
uses: crazy-max/.github/.github/workflows/releases-json.yml@7f83a5a887650a38e4d0e05d5262309cfaa31459
with:
repository: docker/buildx-desktop
artifact_name: buildx-lab-releases-json

View File

@@ -17,7 +17,7 @@ on:
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@fa6141aedf23596fb8bdcceab9cce8dadaa31bd9
uses: crazy-max/.github/.github/workflows/releases-json.yml@7f83a5a887650a38e4d0e05d5262309cfaa31459
with:
repository: docker/buildx
artifact_name: buildx-releases-json

View File

@@ -0,0 +1,58 @@
name: compose-lab-releases-json
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
schedule:
- cron: '0 */12 * * *'
push:
branches:
- 'main'
pull_request:
paths:
- '.github/workflows/compose-lab-releases-json.yml'
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@7f83a5a887650a38e4d0e05d5262309cfaa31459
with:
repository: docker/compose-desktop
artifact_name: compose-lab-releases-json
filename: compose-lab-releases.json
secrets: inherit
open-pr:
runs-on: ubuntu-22.04
if: github.event_name != 'pull_request'
needs:
- generate
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Download
uses: actions/download-artifact@v4
with:
name: compose-lab-releases-json
path: .github
-
name: Commit changes
run: |
git add -A .
-
name: Create PR
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
with:
base: main
branch: bot/compose-lab-releases-json
commit-message: "github: update .github/compose-lab-releases.json"
signoff: true
delete-branch: true
title: "Update `.github/compose-lab-releases.json`"
body: |
Update `.github/compose-lab-releases.json` to keep in sync with [https://github.com/docker/compose-desktop](https://github.com/docker/compose-desktop).
draft: false

View File

@@ -0,0 +1,58 @@
name: compose-releases-json
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
schedule:
- cron: '0 */12 * * *'
push:
branches:
- 'main'
pull_request:
paths:
- '.github/workflows/compose-releases-json.yml'
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@7f83a5a887650a38e4d0e05d5262309cfaa31459
with:
repository: docker/compose
artifact_name: compose-releases-json
filename: compose-releases.json
secrets: inherit
open-pr:
runs-on: ubuntu-22.04
if: github.event_name != 'pull_request'
needs:
- generate
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Download
uses: actions/download-artifact@v4
with:
name: compose-releases-json
path: .github
-
name: Commit changes
run: |
git add -A .
-
name: Create PR
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
with:
base: main
branch: bot/compose-releases-json
commit-message: "github: update .github/compose-releases.json"
signoff: true
delete-branch: true
title: "Update `.github/compose-releases.json`"
body: |
Update `.github/compose-releases.json` to keep in sync with [https://github.com/docker/compose](https://github.com/docker/compose).
draft: false

View File

@@ -17,7 +17,7 @@ on:
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@fa6141aedf23596fb8bdcceab9cce8dadaa31bd9
uses: crazy-max/.github/.github/workflows/releases-json.yml@7f83a5a887650a38e4d0e05d5262309cfaa31459
with:
repository: moby/moby
artifact_name: docker-releases-json

View File

@@ -13,15 +13,12 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Publish
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
targets: publish
env:

View File

@@ -15,23 +15,30 @@ on:
env:
NODE_VERSION: "20"
BUILDX_VERSION: "v0.17.1"
BUILDKIT_IMAGE: "moby/buildkit:v0.16.0"
BUILDX_VERSION: "edge"
BUILDKIT_IMAGE: "moby/buildkit:v0.20.1"
jobs:
test:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- ubuntu-22.04-arm
node_version:
- 20
- 18
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Test
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
targets: test-coverage
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_VERSION: ${{ matrix.node_version }}
-
name: Check coverage
run: |
@@ -43,17 +50,17 @@ jobs:
shell: bash
-
name: Upload coverage
uses: codecov/codecov-action@v4
if: env.RUN_CODECOV == 'true'
uses: codecov/codecov-action@v5
if: env.RUN_CODECOV == 'true' && matrix.node_version == env.NODE_VERSION
with:
file: ./coverage/clover.xml
files: ./coverage/clover.xml
flags: unit
token: ${{ secrets.CODECOV_TOKEN }}
prepare-itg:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.tests.outputs.matrix }}
includes: ${{ steps.set.outputs.includes }}
steps:
-
name: Checkout
@@ -73,14 +80,49 @@ jobs:
name: Install
run: yarn install
-
name: Create matrix
id: tests
run: |
declare -a tests
for test in $(yarn run test:itg-list); do
tests+=("${test#$(pwd)/__tests__/}")
done
echo "matrix=$(echo ${tests[@]} | jq -cR 'split(" ")')" >>${GITHUB_OUTPUT}
name: Create includes
id: set
uses: actions/github-script@v7
with:
script: |
let tests = [];
await core.group(`Get tests`, async () => {
const res = await exec.getExecOutput('yarn', ['run', 'test:itg-list'], {
silent: true,
ignoreReturnCode: true
});
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr);
}
for (const test of res.stdout.trim().split('\n')) {
tests.push(test.replace(/^.*__tests__\//, ''));
}
core.info(`tests: ${JSON.stringify(tests)}`);
});
await core.group(`Set includes`, async () => {
let includes = [];
for (const os of ['ubuntu-latest', 'ubuntu-22.04-arm', 'macos-13', 'windows-latest']) {
for (const test of tests) {
if (test === 'docker/install.test.itg.ts') {
includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'image', docker_install_version: '27.3.1' });
includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'image', docker_install_version: 'master' });
includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'image', docker_install_version: 'latest' });
includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'archive', docker_install_version: 'v26.1.4' });
includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'archive', docker_install_version: 'latest' });
if (os === 'ubuntu-latest') {
includes.push({ os: os, test: test, test_name: 'rootless', docker_install_type: 'image', docker_install_version: 'latest' });
includes.push({ os: os, test: test, test_name: 'rootless', docker_install_type: 'archive', docker_install_version: 'latest' });
}
includes.push({ os: os, test: test, test_name: 'tcp', docker_install_type: 'image', docker_install_version: 'latest' });
includes.push({ os: os, test: test, test_name: 'tcp', docker_install_type: 'archive', docker_install_version: 'latest' });
} else {
includes.push({ os: os, test: test });
}
}
}
core.info(`includes: ${JSON.stringify(includes)}`);
core.setOutput('includes', JSON.stringify(includes));
});
-
name: Show matrix
run: |
@@ -93,13 +135,7 @@ jobs:
strategy:
fail-fast: false
matrix:
test: ${{ fromJson(needs.prepare-itg.outputs.matrix) }}
os:
- ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- macos-12
- windows-latest
include: ${{ fromJson(needs.prepare-itg.outputs.includes) }}
steps:
-
name: Checkout
@@ -146,12 +182,22 @@ jobs:
run: yarn install
-
name: Test
run: |
yarn test:itg-coverage --runTestsByPath __tests__/${{ matrix.test }} --coverageDirectory=./coverage
uses: actions/github-script@v7
with:
script: |
const testName = `${{ matrix.test_name }}`;
let args = ['test:itg-coverage'];
if (testName) {
args.push(`--testNamePattern=^${testName} `);
}
args.push(`--runTestsByPath`, `__tests__/${{ matrix.test }}`, `--coverageDirectory=./coverage`);
await exec.exec('yarn', args);
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CTN_BUILDER_NAME: ${{ steps.builder.outputs.name }}
TEST_FOR_SUMMARY: ${{ secrets.TEST_FOR_SUMMARY }}
DOCKER_INSTALL_TYPE: ${{ matrix.docker_install_type }}
DOCKER_INSTALL_VERSION: ${{ matrix.docker_install_version }}
-
name: Check coverage
run: |
@@ -163,9 +209,9 @@ jobs:
shell: bash
-
name: Upload coverage
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
if: env.RUN_CODECOV == 'true'
with:
file: ./coverage/clover.xml
files: ./coverage/clover.xml
flags: itg
token: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -17,7 +17,7 @@ on:
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@fa6141aedf23596fb8bdcceab9cce8dadaa31bd9
uses: crazy-max/.github/.github/workflows/releases-json.yml@7f83a5a887650a38e4d0e05d5262309cfaa31459
with:
repository: crazy-max/undock
artifact_name: undock-releases-json

View File

@@ -17,16 +17,17 @@ jobs:
prepare:
runs-on: ubuntu-20.04
outputs:
targets: ${{ steps.targets.outputs.matrix }}
targets: ${{ steps.generate.outputs.targets }}
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Matrix
id: targets
run: |
echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
name: List targets
id: generate
uses: docker/bake-action/subaction/list-targets@v6
with:
target: validate
validate:
runs-on: ubuntu-latest
@@ -37,11 +38,8 @@ jobs:
matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }}
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Validate
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
targets: ${{ matrix.target }}

View File

@@ -24,6 +24,8 @@ jobs:
- ubuntu-24.04
- ubuntu-22.04
- ubuntu-20.04
- ubuntu-24.04-arm
- ubuntu-22.04-arm
steps:
-
name: File system

View File

@@ -25,6 +25,8 @@ a library by most of our GitHub Actions:
* [docker/login-action](https://github.com/docker/login-action)
* [docker/metadata-action](https://github.com/docker/metadata-action)
* [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action)
* [docker/setup-compose-action](https://github.com/docker/setup-compose-action)
* [docker/setup-docker-action](https://github.com/docker/setup-docker-action)
* [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action)
This toolkit provides some utilities and common logic when developing GitHub

View File

@@ -22,7 +22,9 @@
"linux/amd64"
],
"output": [
"type=docker"
{
"type": "docker"
}
]
}
}

View File

@@ -22,7 +22,9 @@
"GO_VERSION": "1.20"
},
"output": [
"type=cacheonly"
{
"type": "cacheonly"
}
]
},
"validate-docs": {
@@ -36,7 +38,9 @@
},
"target": "validate",
"output": [
"type=cacheonly"
{
"type": "cacheonly"
}
]
},
"validate-vendor": {
@@ -48,7 +52,9 @@
},
"target": "validate",
"output": [
"type=cacheonly"
{
"type": "cacheonly"
}
]
}
}

View File

@@ -0,0 +1,68 @@
{
"group": {
"default": {
"targets": [
"default"
]
}
},
"target": {
"default": {
"context": ".",
"dockerfile": "Dockerfile",
"attest": [
{
"mode": "max",
"type": "provenance"
},
{
"disabled": true,
"type": "sbom"
}
],
"cache-from": [
{
"scope": "build",
"type": "gha"
},
{
"ref": "user/repo:cache",
"type": "registry"
}
],
"cache-to": [
{
"mode": "max",
"scope": "build",
"type": "gha"
},
{
"type": "inline"
}
],
"output": [
{
"dest": "./release-out",
"type": "local"
},
{
"ref": "user/app",
"type": "registry"
}
],
"secret": [
{
"env": "GITHUB_TOKEN",
"id": "GITHUB_TOKEN"
},
{
"id": "aws",
"src": "__tests__/.fixtures/secret.txt"
},
{
"id": "GITHUB_REPOSITORY"
}
]
}
}
}

View File

@@ -0,0 +1,37 @@
// Copyright 2024 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.
target "default" {
attest = [
"type=provenance,mode=max",
"type=sbom,disabled=true",
]
cache-from = [
"type=gha,scope=build",
"user/repo:cache",
]
cache-to = [
"type=gha,scope=build,mode=max",
"type=inline"
]
output = [
"./release-out",
"type=registry,ref=user/app"
]
secret = [
"id=GITHUB_TOKEN,env=GITHUB_TOKEN",
"id=aws,src=__tests__/.fixtures/secret.txt",
"id=GITHUB_REPOSITORY"
]
}

View File

@@ -29,7 +29,10 @@
"windows/arm64"
],
"output": [
"./bin/build"
{
"dest": "./bin/build",
"type": "local"
}
]
}
}

View File

@@ -0,0 +1,74 @@
{
"created": "2024-12-16T23:44:38.698098711Z",
"architecture": "amd64",
"os": "linux",
"config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"BUILDKIT_SETUP_CGROUPV2_ROOT=1"
],
"Entrypoint": [
"buildkitd"
],
"Volumes": {
"/var/lib/buildkit": {}
},
"WorkingDir": "/",
"ArgsEscaped": true
},
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:75654b8eeebd3beae97271a102f57cdeb794cc91e442648544963a7e951e9558",
"sha256:6a1b167dc4f30367cc713f6d48710dff20eb913bfaf14d7df23cfbe8a235319c",
"sha256:37453f29fa93eccde9d8ffa21c0b92c41a981c727ad6c32acee11caf4f5e42a8",
"sha256:cc4513cba548800cba786895e269f78eff73e7685e80b0447070f8c116652eea"
]
},
"history": [
{
"created": "2024-09-06T12:05:36Z",
"created_by": "ADD alpine-minirootfs-3.20.3-x86_64.tar.gz / # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-09-06T12:05:36Z",
"created_by": "CMD [\"/bin/sh\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:35:52.845698088Z",
"created_by": "RUN /bin/sh -c apk add --no-cache fuse3 git openssh pigz xz iptables ip6tables \u0026\u0026 ln -s fusermount3 /usr/bin/fusermount # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:35:49.452745107Z",
"created_by": "COPY examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:38.698098711Z",
"created_by": "VOLUME [/var/lib/buildkit]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:38.698098711Z",
"created_by": "COPY / /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:38.698098711Z",
"created_by": "ENV BUILDKIT_SETUP_CGROUPV2_ROOT=1",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:38.698098711Z",
"created_by": "ENTRYPOINT [\"buildkitd\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
}
]
}

View File

@@ -0,0 +1,447 @@
{
"linux/amd64": {
"created": "2024-12-16T23:44:38.698098711Z",
"architecture": "amd64",
"os": "linux",
"config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"BUILDKIT_SETUP_CGROUPV2_ROOT=1"
],
"Entrypoint": [
"buildkitd"
],
"Volumes": {
"/var/lib/buildkit": {}
},
"WorkingDir": "/",
"ArgsEscaped": true
},
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:75654b8eeebd3beae97271a102f57cdeb794cc91e442648544963a7e951e9558",
"sha256:6a1b167dc4f30367cc713f6d48710dff20eb913bfaf14d7df23cfbe8a235319c",
"sha256:37453f29fa93eccde9d8ffa21c0b92c41a981c727ad6c32acee11caf4f5e42a8",
"sha256:cc4513cba548800cba786895e269f78eff73e7685e80b0447070f8c116652eea"
]
},
"history": [
{
"created": "2024-09-06T12:05:36Z",
"created_by": "ADD alpine-minirootfs-3.20.3-x86_64.tar.gz / # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-09-06T12:05:36Z",
"created_by": "CMD [\"/bin/sh\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:35:52.845698088Z",
"created_by": "RUN /bin/sh -c apk add --no-cache fuse3 git openssh pigz xz iptables ip6tables \u0026\u0026 ln -s fusermount3 /usr/bin/fusermount # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:35:49.452745107Z",
"created_by": "COPY examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:38.698098711Z",
"created_by": "VOLUME [/var/lib/buildkit]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:38.698098711Z",
"created_by": "COPY / /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:38.698098711Z",
"created_by": "ENV BUILDKIT_SETUP_CGROUPV2_ROOT=1",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:38.698098711Z",
"created_by": "ENTRYPOINT [\"buildkitd\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
}
]
},
"linux/arm/v7": {
"created": "2024-12-16T23:44:35.805758197Z",
"architecture": "arm",
"os": "linux",
"variant": "v7",
"config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"BUILDKIT_SETUP_CGROUPV2_ROOT=1"
],
"Entrypoint": [
"buildkitd"
],
"Volumes": {
"/var/lib/buildkit": {}
},
"WorkingDir": "/",
"ArgsEscaped": true
},
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:0cee9b6e126689480f812b337d8926e8b051e2c1e40b3e36701ea2554f367b9d",
"sha256:4cfff05f912cc67c6ff688b2f53f84e6d74fe415725a228115a296634d919fd3",
"sha256:37453f29fa93eccde9d8ffa21c0b92c41a981c727ad6c32acee11caf4f5e42a8",
"sha256:e0962dfb9d203ce37963e41ec72119610633651f760570d20b0217db3632b5d5"
]
},
"history": [
{
"created": "2024-09-06T12:05:36Z",
"created_by": "ADD alpine-minirootfs-3.20.3-armv7.tar.gz / # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-09-06T12:05:36Z",
"created_by": "CMD [\"/bin/sh\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:36:02.690991835Z",
"created_by": "RUN /bin/sh -c apk add --no-cache fuse3 git openssh pigz xz iptables ip6tables \u0026\u0026 ln -s fusermount3 /usr/bin/fusermount # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:35:49.452745107Z",
"created_by": "COPY examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:35.805758197Z",
"created_by": "VOLUME [/var/lib/buildkit]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:35.805758197Z",
"created_by": "COPY / /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:35.805758197Z",
"created_by": "ENV BUILDKIT_SETUP_CGROUPV2_ROOT=1",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:35.805758197Z",
"created_by": "ENTRYPOINT [\"buildkitd\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
}
]
},
"linux/arm64": {
"created": "2024-12-16T23:44:45.848423966Z",
"architecture": "arm64",
"os": "linux",
"config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"BUILDKIT_SETUP_CGROUPV2_ROOT=1"
],
"Entrypoint": [
"buildkitd"
],
"Volumes": {
"/var/lib/buildkit": {}
},
"WorkingDir": "/",
"ArgsEscaped": true
},
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:651d9022c23486dfbd396c13db293af6845731cbd098a5f5606db4bc9f5573e8",
"sha256:9c138da7f7ea7cc8190f71ce15f125e2eb79fd360f4cc2d34513dad016cb1096",
"sha256:37453f29fa93eccde9d8ffa21c0b92c41a981c727ad6c32acee11caf4f5e42a8",
"sha256:9422ca7e65701d8eba4a5a31e325443dcbc753c2edef64e431c96702c94d2672"
]
},
"history": [
{
"created": "2024-09-06T12:05:36Z",
"created_by": "ADD alpine-minirootfs-3.20.3-aarch64.tar.gz / # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-09-06T12:05:36Z",
"created_by": "CMD [\"/bin/sh\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:36:03.586014466Z",
"created_by": "RUN /bin/sh -c apk add --no-cache fuse3 git openssh pigz xz iptables ip6tables \u0026\u0026 ln -s fusermount3 /usr/bin/fusermount # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:35:49.452745107Z",
"created_by": "COPY examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:45.848423966Z",
"created_by": "VOLUME [/var/lib/buildkit]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:45.848423966Z",
"created_by": "COPY / /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:45.848423966Z",
"created_by": "ENV BUILDKIT_SETUP_CGROUPV2_ROOT=1",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:45.848423966Z",
"created_by": "ENTRYPOINT [\"buildkitd\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
}
]
},
"linux/ppc64le": {
"created": "2024-12-16T23:44:45.864267959Z",
"architecture": "ppc64le",
"os": "linux",
"config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"BUILDKIT_SETUP_CGROUPV2_ROOT=1"
],
"Entrypoint": [
"buildkitd"
],
"Volumes": {
"/var/lib/buildkit": {}
},
"WorkingDir": "/",
"ArgsEscaped": true
},
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:fc80c1f6e8bee4861c27b2cee0f8edf887bd4d88d20063ba179f0caa93088770",
"sha256:e9fbfe005c7e2cd7d4f3159f07f6fbe82dad25c7e868a1ee2dd6503830d468c4",
"sha256:37453f29fa93eccde9d8ffa21c0b92c41a981c727ad6c32acee11caf4f5e42a8",
"sha256:86e0c30fb5e087f5cd324e082a0529c6326af1025f1a030fc1d2ac2979dec81c"
]
},
"history": [
{
"created": "2024-09-06T12:05:36Z",
"created_by": "ADD alpine-minirootfs-3.20.3-ppc64le.tar.gz / # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-09-06T12:05:36Z",
"created_by": "CMD [\"/bin/sh\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:36:03.82451378Z",
"created_by": "RUN /bin/sh -c apk add --no-cache fuse3 git openssh pigz xz iptables ip6tables \u0026\u0026 ln -s fusermount3 /usr/bin/fusermount # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:35:49.452745107Z",
"created_by": "COPY examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:45.864267959Z",
"created_by": "VOLUME [/var/lib/buildkit]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:45.864267959Z",
"created_by": "COPY / /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:45.864267959Z",
"created_by": "ENV BUILDKIT_SETUP_CGROUPV2_ROOT=1",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:45.864267959Z",
"created_by": "ENTRYPOINT [\"buildkitd\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
}
]
},
"linux/riscv64": {
"created": "2024-12-16T23:44:51.369236518Z",
"architecture": "riscv64",
"os": "linux",
"config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"BUILDKIT_SETUP_CGROUPV2_ROOT=1"
],
"Entrypoint": [
"buildkitd"
],
"Volumes": {
"/var/lib/buildkit": {}
},
"WorkingDir": "/",
"ArgsEscaped": true
},
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:f9a3c4be4be59ad69b98da83e848450a28193c63ecdb40736f854308873152f9",
"sha256:231aa6f6a7db1c4ac8dc807a8bdd250f92be3ffac79ef9fec89ca8ac2f78e688",
"sha256:37453f29fa93eccde9d8ffa21c0b92c41a981c727ad6c32acee11caf4f5e42a8",
"sha256:555c2f18bbe5d71e09387bdf745023055a8e5a6667905143c09a689e65f5ceff"
]
},
"history": [
{
"created": "2024-09-06T12:05:36Z",
"created_by": "ADD alpine-minirootfs-3.20.3-riscv64.tar.gz / # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-09-06T12:05:36Z",
"created_by": "CMD [\"/bin/sh\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:36:02.869897238Z",
"created_by": "RUN /bin/sh -c apk add --no-cache fuse3 git openssh pigz xz iptables ip6tables \u0026\u0026 ln -s fusermount3 /usr/bin/fusermount # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:35:49.452745107Z",
"created_by": "COPY examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:51.369236518Z",
"created_by": "VOLUME [/var/lib/buildkit]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:51.369236518Z",
"created_by": "COPY / /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:51.369236518Z",
"created_by": "ENV BUILDKIT_SETUP_CGROUPV2_ROOT=1",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:51.369236518Z",
"created_by": "ENTRYPOINT [\"buildkitd\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
}
]
},
"linux/s390x": {
"created": "2024-12-16T23:44:38.777675109Z",
"architecture": "s390x",
"os": "linux",
"config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"BUILDKIT_SETUP_CGROUPV2_ROOT=1"
],
"Entrypoint": [
"buildkitd"
],
"Volumes": {
"/var/lib/buildkit": {}
},
"WorkingDir": "/",
"ArgsEscaped": true
},
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:a772154591ea8d876b24f25db93db4753a9f05c6500413a5ff966d581957655e",
"sha256:920529bf8be4087e77ec129bbcd9f3c4a179ede2f35cac38c6f8517fc9e41b9b",
"sha256:37453f29fa93eccde9d8ffa21c0b92c41a981c727ad6c32acee11caf4f5e42a8",
"sha256:2b99eb6f0070abe514fde85b61fa4993f1edfb32365b2a246841521f24fc38c0"
]
},
"history": [
{
"created": "2024-09-06T12:05:36Z",
"created_by": "ADD alpine-minirootfs-3.20.3-s390x.tar.gz / # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-09-06T12:05:36Z",
"created_by": "CMD [\"/bin/sh\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:36:04.705568496Z",
"created_by": "RUN /bin/sh -c apk add --no-cache fuse3 git openssh pigz xz iptables ip6tables \u0026\u0026 ln -s fusermount3 /usr/bin/fusermount # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:35:49.452745107Z",
"created_by": "COPY examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:38.777675109Z",
"created_by": "VOLUME [/var/lib/buildkit]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:38.777675109Z",
"created_by": "COPY / /usr/bin/ # buildkit",
"comment": "buildkit.dockerfile.v0"
},
{
"created": "2024-12-16T23:44:38.777675109Z",
"created_by": "ENV BUILDKIT_SETUP_CGROUPV2_ROOT=1",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
},
{
"created": "2024-12-16T23:44:38.777675109Z",
"created_by": "ENTRYPOINT [\"buildkitd\"]",
"comment": "buildkit.dockerfile.v0",
"empty_layer": true
}
]
}
}

View File

@@ -37,3 +37,15 @@ GC Policy rule#2:
GC Policy rule#3:
All: true
Keep Bytes: 94.06GiB
File#buildkitd.toml:
> debug = true
> insecure-entitlements = ["network.host", "security.insecure"]
> trace = true
>
> [log]
> format = "text"
>
File#foo.txt:
> foo = bar
> baz = qux
>

View File

@@ -94,7 +94,14 @@ describe('getDefinition', () => {
['*.output=type=docker', '*.platform=linux/amd64'],
undefined,
path.join(fixturesDir, 'bake-01-overrides.json')
]
],
[
[path.join(fixturesDir, 'bake-03.hcl')],
[],
[],
undefined,
path.join(fixturesDir, 'bake-03-default.json')
],
])('given %p', async (files: string[], targets: string[], overrides: string[], execOptions: ExecOptions | undefined, out: string) => {
const bake = new Bake();
const expectedDef = <BakeDefinition>JSON.parse(fs.readFileSync(out, {encoding: 'utf-8'}).trim())
@@ -103,7 +110,7 @@ describe('getDefinition', () => {
targets: targets,
overrides: overrides
}, execOptions)).toEqual(expectedDef);
});
}, 30 * 60 * 1000);
});
describe('hasLocalExporter', () => {
@@ -114,7 +121,9 @@ describe('hasLocalExporter', () => {
"target": {
"build": {
"output": [
"type=docker"
{
"type": "docker"
}
]
},
}
@@ -136,7 +145,10 @@ describe('hasLocalExporter', () => {
"target": {
"local": {
"output": [
"type=local,dest=./release-out"
{
"type": "local",
"dest": "./release-out"
}
]
},
}
@@ -148,19 +160,10 @@ describe('hasLocalExporter', () => {
"target": {
"tar": {
"output": [
"type=tar,dest=/tmp/image.tar"
]
},
}
} as unknown as BakeDefinition,
false
],
[
{
"target": {
"tar": {
"output": [
'"type=tar","dest=/tmp/image.tar"',
{
"type": "tar",
"dest": "/tmp/image.tar"
}
]
},
}
@@ -172,19 +175,10 @@ describe('hasLocalExporter', () => {
"target": {
"local": {
"output": [
'" type= local" , dest=./release-out',
]
},
}
} as unknown as BakeDefinition,
true
],
[
{
"target": {
"local": {
"output": [
".",
{
"type": "local",
"dest": "."
}
]
},
}
@@ -204,7 +198,10 @@ describe('hasTarExporter', () => {
"target": {
"reg": {
"output": [
"type=registry,ref=user/app"
{
"type": "registry",
"ref": "user/app"
}
]
},
}
@@ -216,7 +213,9 @@ describe('hasTarExporter', () => {
"target": {
"build": {
"output": [
"type=docker"
{
"type": "docker"
}
]
},
}
@@ -228,7 +227,10 @@ describe('hasTarExporter', () => {
"target": {
"local": {
"output": [
"type=local,dest=./release-out"
{
"type": "local",
"dest": "./release-out"
}
]
},
}
@@ -240,7 +242,10 @@ describe('hasTarExporter', () => {
"target": {
"tar": {
"output": [
"type=tar,dest=/tmp/image.tar"
{
"type": "tar",
"dest": "/tmp/image.tar"
}
]
},
}
@@ -252,20 +257,13 @@ describe('hasTarExporter', () => {
"target": {
"multi": {
"output": [
"type=docker",
"type=tar,dest=/tmp/image.tar"
]
},
}
} as unknown as BakeDefinition,
true
],
[
{
"target": {
"tar": {
"output": [
'"type=tar","dest=/tmp/image.tar"',
{
"type": "docker"
},
{
"type": "tar",
"dest": "/tmp/image.tar"
}
]
},
}
@@ -277,19 +275,10 @@ describe('hasTarExporter', () => {
"target": {
"local": {
"output": [
'" type= local" , dest=./release-out',
]
},
}
} as unknown as BakeDefinition,
false
],
[
{
"target": {
"local": {
"output": [
".",
{
"type": "local",
"dest": "."
}
]
},
}
@@ -309,7 +298,10 @@ describe('hasDockerExporter', () => {
"target": {
"reg": {
"output": [
"type=registry,ref=user/app"
{
"type": "registry",
"ref": "user/app"
}
]
},
}
@@ -322,7 +314,9 @@ describe('hasDockerExporter', () => {
"target": {
"build": {
"output": [
"type=docker"
{
"type": "docker"
}
]
},
}
@@ -335,8 +329,13 @@ describe('hasDockerExporter', () => {
"target": {
"multi": {
"output": [
"type=docker",
"type=tar,dest=/tmp/image.tar"
{
"type": "docker"
},
{
"type": "tar",
"dest": "/tmp/image.tar"
}
]
},
}
@@ -349,20 +348,10 @@ describe('hasDockerExporter', () => {
"target": {
"local": {
"output": [
'" type= local" , dest=./release-out'
]
},
}
} as unknown as BakeDefinition,
false,
undefined
],
[
{
"target": {
"local": {
"output": [
"type=local,dest=./release-out"
{
"type": "local",
"dest": "./release-out"
}
]
},
}
@@ -375,7 +364,10 @@ describe('hasDockerExporter', () => {
"target": {
"tar": {
"output": [
"type=tar,dest=/tmp/image.tar"
{
"type": "tar",
"dest": "/tmp/image.tar"
}
]
},
}
@@ -388,8 +380,13 @@ describe('hasDockerExporter', () => {
"target": {
"multi": {
"output": [
"type=docker",
"type=tar,dest=/tmp/image.tar"
{
"type": "docker"
},
{
"type": "tar",
"dest": "/tmp/image.tar"
}
]
},
}
@@ -397,51 +394,14 @@ describe('hasDockerExporter', () => {
true,
undefined
],
[
{
"target": {
"tar": {
"output": [
'"type=tar","dest=/tmp/image.tar"'
]
},
}
} as unknown as BakeDefinition,
false,
undefined
],
[
{
"target": {
"tar": {
"output": [
'"type=tar","dest=/tmp/image.tar"'
]
},
}
} as unknown as BakeDefinition,
false,
undefined
],
[
{
"target": {
"local": {
"output": [
'" type= local" , dest=./release-out'
]
},
}
} as unknown as BakeDefinition,
false,
undefined
],
[
{
"target": {
"build": {
"output": [
"type=docker"
{
"type": "docker"
}
]
},
}
@@ -454,7 +414,9 @@ describe('hasDockerExporter', () => {
"target": {
"build": {
"output": [
"type=docker"
{
"type": "docker"
}
]
},
}
@@ -467,7 +429,10 @@ describe('hasDockerExporter', () => {
"target": {
"build": {
"output": [
"."
{
"type": "local",
"dest": "."
}
]
},
}
@@ -479,3 +444,44 @@ describe('hasDockerExporter', () => {
expect(Bake.hasDockerExporter(def, load)).toEqual(expected);
});
});
describe('hasGitAuthTokenSecret', () => {
// prettier-ignore
test.each([
[
{
"target": {
"reg": {
"secret": [
{
"id": "A_SECRET",
"env": "A_SECRET"
}
]
},
}
} as unknown as BakeDefinition,
false
],
[
{
"target": {
"reg": {
"secret": [
{
"id": "A_SECRET",
"env": "A_SECRET"
},
{
"id": "GIT_AUTH_TOKEN"
}
]
},
}
} as unknown as BakeDefinition,
true
],
])('given %o returns %p', async (def: BakeDefinition, expected: boolean) => {
expect(Bake.hasGitAuthTokenSecret(def)).toEqual(expected);
});
});

View File

@@ -449,7 +449,19 @@ describe('parseInspect', () => {
"all": true,
"keepBytes": "94.06GiB",
}
]
],
"files": {
"buildkitd.toml": `debug = true
insecure-entitlements = ["network.host", "security.insecure"]
trace = true
[log]
format = "text"
`,
"foo.txt": `foo = bar
baz = qux
`,
}
}
]
}

View File

@@ -0,0 +1,39 @@
/**
* 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.
*/
import {describe, expect, it} from '@jest/globals';
import * as fs from 'fs';
import * as path from 'path';
import {ImageTools} from '../../src/buildx/imagetools';
import {Image} from '../../src/types/oci/config';
const fixturesDir = path.join(__dirname, '..', '.fixtures');
const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip;
maybe('inspectImage', () => {
it('inspect single platform', async () => {
const image = await new ImageTools().inspectImage('moby/buildkit:latest@sha256:5769c54b98840147b74128f38fb0b0a049e24b11a75bd81664131edd2854593f');
const expectedImage = <Image>JSON.parse(fs.readFileSync(path.join(fixturesDir, 'imagetools-01.json'), {encoding: 'utf-8'}).trim());
expect(image).toEqual(expectedImage);
});
it('inspect multi platform', async () => {
const image = await new ImageTools().inspectImage('moby/buildkit:latest@sha256:86c0ad9d1137c186e9d455912167df20e530bdf7f7c19de802e892bb8ca16552');
const expectedImage = <Record<string, Image>>JSON.parse(fs.readFileSync(path.join(fixturesDir, 'imagetools-02.json'), {encoding: 'utf-8'}).trim());
expect(image).toEqual(expectedImage);
});
});

View File

@@ -57,22 +57,26 @@ describe('download', () => {
['v0.9.0'],
['v0.10.5'],
])(
'acquires %p of buildx with cache', async (version) => {
const install = new Install({standalone: false});
const toolPath = await install.download(version);
expect(fs.existsSync(toolPath)).toBe(true);
});
'acquires %p of buildx with cache', async (version) => {
const install = new Install({standalone: false});
const toolPath = await install.download(version);
expect(fs.existsSync(toolPath)).toBe(true);
},
100000
);
// prettier-ignore
test.each([
['v0.11.2'],
['v0.12.0'],
])(
'acquires %p of buildx without cache', async (version) => {
const install = new Install({standalone: false});
const toolPath = await install.download(version, true);
expect(fs.existsSync(toolPath)).toBe(true);
});
'acquires %p of buildx without cache', async (version) => {
const install = new Install({standalone: false});
const toolPath = await install.download(version, true);
expect(fs.existsSync(toolPath)).toBe(true);
},
100000
);
// TODO: add tests for arm
// prettier-ignore
@@ -86,7 +90,7 @@ describe('download', () => {
['linux', 'ppc64'],
['linux', 's390x'],
])(
'acquires buildx for %s/%s', async (os, arch) => {
'acquires buildx for %s/%s', async (os, arch) => {
jest.spyOn(osm, 'platform').mockImplementation(() => os as NodeJS.Platform);
jest.spyOn(osm, 'arch').mockImplementation(() => arch);
const install = new Install();
@@ -134,22 +138,30 @@ describe('getDownloadVersion', () => {
expect(version.releasesURL).toEqual('https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-releases.json');
});
it('returns lab latest download version', async () => {
const version = await Install.getDownloadVersion('lab:latest');
expect(version.key).toEqual('lab');
it('returns cloud latest download version', async () => {
const version = await Install.getDownloadVersion('cloud:latest');
expect(version.key).toEqual('cloud');
expect(version.version).toEqual('latest');
expect(version.downloadURL).toEqual('https://github.com/docker/buildx-desktop/releases/download/v%s/%s');
expect(version.releasesURL).toEqual('https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-lab-releases.json');
});
it('returns lab v0.11.2-desktop.2 download version', async () => {
const version = await Install.getDownloadVersion('lab:v0.11.2-desktop.2');
expect(version.key).toEqual('lab');
it('returns cloud v0.11.2-desktop.2 download version', async () => {
const version = await Install.getDownloadVersion('cloud:v0.11.2-desktop.2');
expect(version.key).toEqual('cloud');
expect(version.version).toEqual('v0.11.2-desktop.2');
expect(version.downloadURL).toEqual('https://github.com/docker/buildx-desktop/releases/download/v%s/%s');
expect(version.releasesURL).toEqual('https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-lab-releases.json');
});
it('returns cloud for lab version', async () => {
const version = await Install.getDownloadVersion('lab:latest');
expect(version.key).toEqual('cloud');
expect(version.version).toEqual('latest');
expect(version.downloadURL).toEqual('https://github.com/docker/buildx-desktop/releases/download/v%s/%s');
expect(version.releasesURL).toEqual('https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-lab-releases.json');
});
it('unknown repo', async () => {
await expect(Install.getDownloadVersion('foo:bar')).rejects.toThrow(new Error('Cannot find buildx version for foo:bar'));
});
@@ -172,8 +184,8 @@ describe('getRelease', () => {
expect(release?.html_url).toEqual('https://github.com/docker/buildx/releases/tag/v0.10.1');
});
it('returns v0.11.2-desktop.2 lab GitHub release', async () => {
const version = await Install.getDownloadVersion('lab:v0.11.2-desktop.2');
it('returns v0.11.2-desktop.2 cloud GitHub release', async () => {
const version = await Install.getDownloadVersion('cloud:v0.11.2-desktop.2');
const release = await Install.getRelease(version);
expect(release).not.toBeNull();
expect(release?.id).toEqual(118213369);

View File

@@ -20,13 +20,27 @@ import os from 'os';
import path from 'path';
import {Cache} from '../src/cache';
import {Util} from '../src/util';
const fixturesDir = path.join(__dirname, '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'cache-itg-'));
describe('cache', () => {
it('github-repo', async () => {
const r = (Math.random() + 1).toString(36).substring(7);
it('caches github-repo', async () => {
const r = Util.generateRandomString();
const htcName = `cache-test-github-repo-${r}`;
const c = new Cache({
htcName: htcName,
htcVersion: `v1.0.0+${r}`,
baseCacheDir: path.join(tmpDir, '.cache-test'),
cacheFile: 'github-repo.json'
});
expect(await c.save(path.join(fixturesDir, 'github-repo.json'), true)).not.toEqual('');
expect(await c.find()).not.toEqual('');
});
it('caches github-repo with post state', async () => {
const r = Util.generateRandomString();
const htcName = `cache-test-github-repo-${r}`;
const c = new Cache({
htcName: htcName,
@@ -35,6 +49,7 @@ describe('cache', () => {
cacheFile: 'github-repo.json'
});
expect(await c.save(path.join(fixturesDir, 'github-repo.json'))).not.toEqual('');
expect(await Cache.post()).not.toBeNull();
expect(await c.find()).not.toEqual('');
});
});

View File

@@ -0,0 +1,109 @@
/**
* 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.
*/
import {describe, expect, it, jest, test, afterEach} from '@jest/globals';
import fs from 'fs';
import os from 'os';
import path from 'path';
import * as rimraf from 'rimraf';
import * as semver from 'semver';
import {Context} from '../../src/context';
import {Exec} from '../../src/exec';
import {Compose} from '../../src/compose/compose';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'compose-compose-'));
const tmpName = path.join(tmpDir, '.tmpname-jest');
jest.spyOn(Context, 'tmpDir').mockImplementation((): string => {
fs.mkdirSync(tmpDir, {recursive: true});
return tmpDir;
});
jest.spyOn(Context, 'tmpName').mockImplementation((): string => {
return tmpName;
});
afterEach(() => {
rimraf.sync(tmpDir);
});
describe('isAvailable', () => {
it('docker cli', async () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput');
const compose = new Compose({
standalone: false
});
await compose.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`docker`, ['compose'], {
silent: true,
ignoreReturnCode: true
});
});
it('standalone', async () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput');
const compose = new Compose({
standalone: true
});
await compose.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`compose`, [], {
silent: true,
ignoreReturnCode: true
});
});
});
describe('printVersion', () => {
it('docker cli', async () => {
const execSpy = jest.spyOn(Exec, 'exec');
const compose = new Compose({
standalone: false
});
await compose.printVersion();
expect(execSpy).toHaveBeenCalledWith(`docker`, ['compose', 'version'], {
failOnStdErr: false
});
});
it('standalone', async () => {
const execSpy = jest.spyOn(Exec, 'exec');
const compose = new Compose({
standalone: true
});
await compose.printVersion();
expect(execSpy).toHaveBeenCalledWith(`compose`, ['version'], {
failOnStdErr: false
});
});
});
describe('version', () => {
it('valid', async () => {
const compose = new Compose();
expect(semver.valid(await compose.version())).not.toBeUndefined();
});
});
describe('parseVersion', () => {
// prettier-ignore
test.each([
['Docker Compose version v2.31.0', '2.31.0'],
])('given %p', async (stdout, expected) => {
expect(Compose.parseVersion(stdout)).toEqual(expected);
});
});

View File

@@ -0,0 +1,42 @@
/**
* 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.
*/
import {describe, expect, test} from '@jest/globals';
import * as fs from 'fs';
import {Install} from '../../src/compose/install';
const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip;
maybe('download', () => {
// prettier-ignore
test.each(['latest'])(
'install compose %s', async (version) => {
await expect((async () => {
const install = new Install({
standalone: true
});
const toolPath = await install.download(version);
if (!fs.existsSync(toolPath)) {
throw new Error('toolPath does not exist');
}
const binPath = await install.installStandalone(toolPath);
if (!fs.existsSync(binPath)) {
throw new Error('binPath does not exist');
}
})()).resolves.not.toThrow();
}, 60000);
});

View File

@@ -0,0 +1,165 @@
/**
* 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.
*/
import {describe, expect, it, jest, test, afterEach} from '@jest/globals';
import fs from 'fs';
import os from 'os';
import path from 'path';
import * as rimraf from 'rimraf';
import osm = require('os');
import {Install} from '../../src/compose/install';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'compose-install-'));
afterEach(function () {
rimraf.sync(tmpDir);
});
describe('download', () => {
// prettier-ignore
test.each([
['v2.31.0', false],
['v2.32.4', true],
['latest', true]
])(
'acquires %p of compose (standalone: %p)', async (version, standalone) => {
const install = new Install({standalone: standalone});
const toolPath = await install.download(version);
expect(fs.existsSync(toolPath)).toBe(true);
let composeBin: string;
if (standalone) {
composeBin = await install.installStandalone(toolPath, tmpDir);
} else {
composeBin = await install.installPlugin(toolPath, tmpDir);
}
expect(fs.existsSync(composeBin)).toBe(true);
},
100000
);
// prettier-ignore
test.each([
// following versions are already cached to htc from previous test cases
['v2.31.0'],
['v2.32.4'],
])(
'acquires %p of compose with cache', async (version) => {
const install = new Install({standalone: false});
const toolPath = await install.download(version);
expect(fs.existsSync(toolPath)).toBe(true);
},
100000
);
// prettier-ignore
test.each([
['v2.27.1'],
['v2.28.0'],
])(
'acquires %p of compose without cache', async (version) => {
const install = new Install({standalone: false});
const toolPath = await install.download(version, true);
expect(fs.existsSync(toolPath)).toBe(true);
},
100000
);
// TODO: add tests for arm
// prettier-ignore
test.each([
['win32', 'x64'],
['win32', 'arm64'],
['darwin', 'x64'],
['darwin', 'arm64'],
['linux', 'x64'],
['linux', 'arm64'],
['linux', 'ppc64'],
['linux', 's390x'],
])(
'acquires compose for %s/%s', async (os, arch) => {
jest.spyOn(osm, 'platform').mockImplementation(() => os as NodeJS.Platform);
jest.spyOn(osm, 'arch').mockImplementation(() => arch);
const install = new Install();
const composeBin = await install.download('latest');
expect(fs.existsSync(composeBin)).toBe(true);
},
100000
);
});
describe('getDownloadVersion', () => {
it('returns official latest download version', async () => {
const version = await Install.getDownloadVersion('latest');
expect(version.key).toEqual('official');
expect(version.version).toEqual('latest');
expect(version.downloadURL).toEqual('https://github.com/docker/compose/releases/download/v%s/%s');
expect(version.releasesURL).toEqual('https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/compose-releases.json');
});
it('returns official v2.24.3 download version', async () => {
const version = await Install.getDownloadVersion('v2.24.3');
expect(version.key).toEqual('official');
expect(version.version).toEqual('v2.24.3');
expect(version.downloadURL).toEqual('https://github.com/docker/compose/releases/download/v%s/%s');
expect(version.releasesURL).toEqual('https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/compose-releases.json');
});
it('returns cloud latest download version', async () => {
const version = await Install.getDownloadVersion('cloud:latest');
expect(version.key).toEqual('cloud');
expect(version.version).toEqual('latest');
expect(version.downloadURL).toEqual('https://github.com/docker/compose-desktop/releases/download/v%s/%s');
expect(version.releasesURL).toEqual('https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/compose-lab-releases.json');
});
it('returns cloud v2.27.1-desktop.1 download version', async () => {
const version = await Install.getDownloadVersion('cloud:v2.27.1-desktop.1');
expect(version.key).toEqual('cloud');
expect(version.version).toEqual('v2.27.1-desktop.1');
expect(version.downloadURL).toEqual('https://github.com/docker/compose-desktop/releases/download/v%s/%s');
expect(version.releasesURL).toEqual('https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/compose-lab-releases.json');
});
it('unknown repo', async () => {
await expect(Install.getDownloadVersion('foo:bar')).rejects.toThrow(new Error('Cannot find compose version for foo:bar'));
});
});
describe('getRelease', () => {
it('returns latest official GitHub release', async () => {
const version = await Install.getDownloadVersion('latest');
const release = await Install.getRelease(version);
expect(release).not.toBeNull();
expect(release?.tag_name).not.toEqual('');
});
it('returns v2.24.3 official GitHub release', async () => {
const version = await Install.getDownloadVersion('v2.24.3');
const release = await Install.getRelease(version);
expect(release).not.toBeNull();
expect(release?.id).toEqual(138380726);
expect(release?.tag_name).toEqual('v2.24.3');
expect(release?.html_url).toEqual('https://github.com/docker/compose/releases/tag/v2.24.3');
});
it('returns v2.27.1-desktop.1 cloud GitHub release', async () => {
const version = await Install.getDownloadVersion('cloud:v2.27.1-desktop.1');
const release = await Install.getRelease(version);
expect(release).not.toBeNull();
expect(release?.id).toEqual(157591108);
expect(release?.tag_name).toEqual('v2.27.1-desktop.1');
expect(release?.html_url).toEqual('https://github.com/docker/compose-desktop/releases/tag/v2.27.1-desktop.1');
});
it('unknown release', async () => {
const version = await Install.getDownloadVersion('foo');
await expect(Install.getRelease(version)).rejects.toThrow(new Error('Cannot find Compose release foo in https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/compose-releases.json'));
});
});

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
import {describe, expect, jest, it, afterEach} from '@jest/globals';
import {describe, expect, jest, it, afterEach, beforeEach, test} from '@jest/globals';
import fs from 'fs';
import os from 'os';
import path from 'path';
@@ -44,6 +44,34 @@ describe('gitRef', () => {
});
});
describe('parseGitRef', () => {
const originalEnv = process.env;
beforeEach(() => {
jest.resetModules();
process.env = {
...originalEnv,
DOCKER_GIT_CONTEXT_PR_HEAD_REF: ''
};
});
afterEach(() => {
process.env = originalEnv;
});
// prettier-ignore
test.each([
['refs/heads/master', '860c1904a1ce19322e91ac35af1ab07466440c37', false, '860c1904a1ce19322e91ac35af1ab07466440c37'],
['master', '860c1904a1ce19322e91ac35af1ab07466440c37', false, '860c1904a1ce19322e91ac35af1ab07466440c37'],
['refs/pull/15/merge', '860c1904a1ce19322e91ac35af1ab07466440c37', false, 'refs/pull/15/merge'],
['refs/heads/master', '', false, 'refs/heads/master'],
['master', '', false, 'master'],
['refs/tags/v1.0.0', '', false, 'refs/tags/v1.0.0'],
['refs/pull/15/merge', '', false, 'refs/pull/15/merge'],
['refs/pull/15/merge', '', true, 'refs/pull/15/head'],
])('given %p and %p, should return %p', async (ref: string, sha: string, prHeadRef: boolean, expected: string) => {
process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF = prHeadRef ? 'true' : '';
expect(Context.parseGitRef(ref, sha)).toEqual(expected);
});
});
describe('gitContext', () => {
it('returns refs/heads/master', async () => {
expect(Context.gitContext()).toEqual('https://github.com/docker/actions-toolkit.git#refs/heads/master');

View File

@@ -14,63 +14,152 @@
* limitations under the License.
*/
import {jest, describe, expect, test, beforeEach, afterEach} from '@jest/globals';
import {describe, test, expect} from '@jest/globals';
import fs from 'fs';
import os from 'os';
import path from 'path';
import {Install, InstallSourceArchive, InstallSourceImage} from '../../src/docker/install';
import {Install, InstallSource, InstallSourceArchive, InstallSourceImage} from '../../src/docker/install';
import {Docker} from '../../src/docker/docker';
import {Exec} from '../../src/exec';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'docker-install-itg-'));
const tmpDir = () => fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'docker-install-itg-'));
describe('install', () => {
const originalEnv = process.env;
beforeEach(() => {
jest.resetModules();
process.env = {
...originalEnv,
LIMA_START_ARGS: '--cpus 4 --memory 8',
LIMA_IMAGES: `x86_64:https://cloud.debian.org/images/cloud/bookworm/20231013-1532/debian-12-genericcloud-amd64-20231013-1532.qcow2@sha512:6b55e88b027c14da1b55c85a25a9f7069d4560a8fdb2d948c986a585db469728a06d2c528303e34bb62d8b2984def38fd9ddfc00965846ff6e05b01d6e883bfe
aarch64:https://cloud.debian.org/images/cloud/bookworm/20231013-1532/debian-12-genericcloud-arm64-20231013-1532.qcow2`
};
});
afterEach(() => {
process.env = originalEnv;
});
describe('root', () => {
// prettier-ignore
test.each([
{type: 'image', tag: '27.3.1'} as InstallSourceImage,
{type: 'image', tag: 'master'} as InstallSourceImage,
{type: 'archive', version: 'v26.1.4', channel: 'stable'} as InstallSourceArchive,
{type: 'archive', version: 'latest', channel: 'stable'} as InstallSourceArchive,
])(
test.each(getSources(true))(
'install docker %s', async (source) => {
if (process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) {
// Remove containerd first on ubuntu runners to make sure it takes
// ones packaged with docker
await Exec.exec('sudo', ['apt-get', 'remove', '-y', 'containerd.io'], {
env: Object.assign({}, process.env, {
DEBIAN_FRONTEND: 'noninteractive'
}) as {
[key: string]: string;
}
});
}
await ensureNoSystemContainerd();
const install = new Install({
source: source,
runDir: tmpDir,
runDir: tmpDir(),
contextName: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`
});
await expect((async () => {
await install.download();
await install.install();
await Docker.printVersion();
await Docker.printInfo();
})().finally(async () => {
await install.tearDown();
})).resolves.not.toThrow();
await expect(tryInstall(install)).resolves.not.toThrow();
}, 30 * 60 * 1000);
});
describe('rootless', () => {
// prettier-ignore
test.each(getSources(false))(
'install %s', async (source) => {
// Skip on non linux
if (os.platform() !== 'linux') {
return;
}
await ensureNoSystemContainerd();
const install = new Install({
source: source,
runDir: tmpDir(),
contextName: 'foo',
daemonConfig: `{"debug":true}`,
rootless: true
});
await expect(
tryInstall(install, async () => {
const out = await Docker.getExecOutput(['info', '-f', '{{json .SecurityOptions}}']);
expect(out.exitCode).toBe(0);
expect(out.stderr.trim()).toBe('');
expect(out.stdout.trim()).toContain('rootless');
})
).resolves.not.toThrow();
},
30 * 60 * 1000
);
});
describe('tcp', () => {
// prettier-ignore
test.each(getSources(false))(
'install %s', async (source) => {
await ensureNoSystemContainerd();
const install = new Install({
source: source,
runDir: tmpDir(),
contextName: 'foo',
daemonConfig: `{"debug":true}`,
localTCPPort: 2378
});
await expect(
tryInstall(install, async () => {
const out = await Docker.getExecOutput(['info'], {
env: Object.assign({}, process.env, {
DOCKER_HOST: 'tcp://localhost:2378',
DOCKER_CONTENT_TRUST: 'false'
}) as {
[key: string]: string;
}
});
expect(out.exitCode).toBe(0);
})
).resolves.not.toThrow();
},
30 * 60 * 1000
);
});
async function tryInstall(install: Install, extraCheck?: () => Promise<void>): Promise<void> {
try {
await install.download();
await install.install();
await Docker.printVersion();
await Docker.printInfo();
if (extraCheck) {
await extraCheck();
}
} catch (error) {
console.error(error);
throw error;
} finally {
await install.tearDown();
}
}
async function ensureNoSystemContainerd() {
if (process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) {
// Remove containerd first on ubuntu runners to make sure it takes
// ones packaged with docker
await Exec.exec('sudo', ['apt-get', 'remove', '-y', 'containerd.io'], {
env: Object.assign({}, process.env, {
DEBIAN_FRONTEND: 'noninteractive'
}) as {
[key: string]: string;
}
});
}
}
function getSources(root: boolean): Array<InstallSource> {
const dockerInstallType = process.env.DOCKER_INSTALL_TYPE;
const dockerInstallVersion = process.env.DOCKER_INSTALL_VERSION;
if (dockerInstallType && dockerInstallVersion) {
if (dockerInstallType === 'archive') {
// prettier-ignore
return [
{ type: dockerInstallType, version: dockerInstallVersion, channel: 'stable'} as InstallSourceArchive
];
} else {
// prettier-ignore
return [
{ type: dockerInstallType, tag: dockerInstallVersion} as InstallSourceImage
];
}
}
if (root) {
// prettier-ignore
return [
{type: 'image', tag: '27.3.1'} as InstallSourceImage,
{type: 'image', tag: 'master'} as InstallSourceImage,
{type: 'image', tag: 'latest'} as InstallSourceImage,
{type: 'archive', version: 'v26.1.4', channel: 'stable'} as InstallSourceArchive,
{type: 'archive', version: 'latest', channel: 'stable'} as InstallSourceArchive
];
} else {
// prettier-ignore
return [
{type: 'image', tag: 'latest'} as InstallSourceImage,
{type: 'archive', version: 'latest', channel: 'stable'} as InstallSourceArchive
];
}
}

View File

@@ -60,6 +60,7 @@ describe('download', () => {
])(
'acquires %p of docker (%s)', async (source, platformOS) => {
jest.spyOn(osm, 'platform').mockImplementation(() => platformOS as NodeJS.Platform);
jest.spyOn(osm, 'arch').mockImplementation(() => 'x64');
const install = new Install({
source: source,
runDir: tmpDir,

View File

@@ -279,3 +279,10 @@ describe('tag', () => {
});
});
});
describe('getCommitDate', () => {
it('head', async () => {
const date = await Git.commitDate('HEAD');
await expect(date).toBeInstanceOf(Date);
});
});

View File

@@ -25,6 +25,7 @@ import {Build} from '../src/buildx/build';
import {Exec} from '../src/exec';
import {GitHub} from '../src/github';
import {History} from '../src/buildx/history';
import {Util} from '../src/util';
const fixturesDir = path.join(__dirname, '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'github-itg-'));
@@ -33,8 +34,10 @@ const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'tr
maybe('uploadArtifact', () => {
it('uploads an artifact', async () => {
const filename = path.join(tmpDir, `github-repo-${Util.generateRandomString()}.json`);
fs.copyFileSync(path.join(fixturesDir, `github-repo.json`), filename);
const res = await GitHub.uploadArtifact({
filename: path.join(fixturesDir, 'github-repo.json'),
filename: filename,
mimeType: 'application/json',
retentionDays: 1
});

View File

@@ -0,0 +1,84 @@
/**
* Copyright 2024 actions-toolkit authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import fs from 'fs';
import os from 'os';
import path from 'path';
import {describe, expect, it, jest, test} from '@jest/globals';
import * as semver from 'semver';
import {Exec} from '../../src/exec';
import {Undock} from '../../src/undock/undock';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'undock-undock-'));
describe('run', () => {
it('extracts moby/moby-bin:26.1.5', async () => {
const undock = new Undock();
await expect(
(async () => {
// prettier-ignore
await undock.run({
source: 'moby/moby-bin:26.1.5',
dist: tmpDir,
all: true
});
})()
).resolves.not.toThrow();
}, 100000);
});
describe('isAvailable', () => {
it('checks undock is available', async () => {
const execSpy = jest.spyOn(Exec, 'getExecOutput');
const undock = new Undock();
await undock.isAvailable();
// eslint-disable-next-line jest/no-standalone-expect
expect(execSpy).toHaveBeenCalledWith(`undock`, [], {
silent: true,
ignoreReturnCode: true
});
});
});
describe('printVersion', () => {
it('prints undock version', async () => {
const execSpy = jest.spyOn(Exec, 'exec');
const undock = new Undock();
await undock.printVersion();
expect(execSpy).toHaveBeenCalledWith(`undock`, ['--version'], {
failOnStdErr: false
});
});
});
describe('version', () => {
it('valid', async () => {
const undock = new Undock();
expect(semver.valid(await undock.version())).not.toBeUndefined();
});
});
describe('versionSatisfies', () => {
test.each([
['v0.4.1', '>=0.3.2', true],
['v0.8.0', '>0.6.0', true],
['v0.8.0', '<0.3.0', false]
])('given %p', async (version, range, expected) => {
const undock = new Undock();
expect(await undock.versionSatisfies(range, version)).toBe(expected);
});
});

View File

@@ -201,6 +201,31 @@ ccccccccc`,
});
});
describe('getInputNumber', () => {
it('should return a number when input is a valid number string', () => {
setInput('foo', '42');
const result = Util.getInputNumber('foo');
expect(result).toBe(42);
});
it('should return undefined when input is an empty string', () => {
setInput('foo', '');
const result = Util.getInputNumber('foo');
expect(result).toBeUndefined();
});
it('should return undefined when input is not provided', () => {
const result = Util.getInputNumber('foo');
expect(result).toBeUndefined();
});
it('should return NaN when input is not a valid number', () => {
setInput('foo', 'invalid');
const result = Util.getInputNumber('foo');
expect(result).toBeNaN();
});
});
describe('asyncForEach', () => {
it('executes async tasks sequentially', async () => {
const testValues = [1, 2, 3, 4, 5];

View File

@@ -16,7 +16,9 @@
ARG NODE_VERSION=20
ARG DOCKER_VERSION=27.2.1
ARG BUILDX_VERSION=0.17.1
ARG BUILDX_VERSION=0.21.2
ARG COMPOSE_VERSION=2.32.4
ARG UNDOCK_VERSION=0.8.0
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git
@@ -73,8 +75,10 @@ RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/node_modules \
yarn run lint
FROM docker:${DOCKER_VERSION} as docker
FROM docker/buildx-bin:${BUILDX_VERSION} as buildx
FROM docker:${DOCKER_VERSION} AS docker
FROM docker/buildx-bin:${BUILDX_VERSION} AS buildx
FROM docker/compose-bin:v${COMPOSE_VERSION} AS compose
FROM crazymax/undock:${UNDOCK_VERSION} AS undock
FROM deps AS test
RUN --mount=type=bind,target=.,rw \
@@ -83,6 +87,9 @@ RUN --mount=type=bind,target=.,rw \
--mount=type=bind,from=docker,source=/usr/local/bin/docker,target=/usr/bin/docker \
--mount=type=bind,from=buildx,source=/buildx,target=/usr/libexec/docker/cli-plugins/docker-buildx \
--mount=type=bind,from=buildx,source=/buildx,target=/usr/bin/buildx \
--mount=type=bind,from=compose,source=/docker-compose,target=/usr/libexec/docker/cli-plugins/docker-compose \
--mount=type=bind,from=compose,source=/docker-compose,target=/usr/bin/compose \
--mount=type=bind,from=undock,source=/usr/local/bin/undock,target=/usr/bin/undock \
--mount=type=secret,id=GITHUB_TOKEN \
GITHUB_TOKEN=$(cat /run/secrets/GITHUB_TOKEN) yarn run test:coverage --coverageDirectory=/tmp/coverage

View File

@@ -12,6 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
variable "NODE_VERSION" {
default = null
}
group "default" {
targets = ["build"]
}
@@ -21,40 +25,66 @@ group "pre-checkin" {
}
group "validate" {
targets = ["lint", "vendor-validate", "license-validate"]
targets = ["lint", "vendor-validate", "dockerfile-validate", "license-validate"]
}
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
NODE_VERSION = NODE_VERSION
}
}
target "build" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-update"
output = ["."]
}
target "format" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "format-update"
output = ["."]
}
target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "lint"
output = ["type=cacheonly"]
}
target "vendor" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]
}
target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]
}
target "dockerfile-validate" {
matrix = {
dockerfile = [
"dev.Dockerfile",
"./hack/dockerfiles/license.Dockerfile"
]
}
inherits = ["_common"]
name = "dockerfile-validate-${md5(dockerfile)}"
dockerfile = dockerfile
call = "check"
}
target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test"
output = ["type=cacheonly"]
@@ -62,6 +92,7 @@ target "test" {
}
target "test-coverage" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test-coverage"
output = ["./coverage"]
@@ -75,6 +106,7 @@ variable "GITHUB_REF" {
}
target "publish" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
args = {
GITHUB_REF = GITHUB_REF
@@ -85,12 +117,14 @@ target "publish" {
}
target "license-validate" {
inherits = ["_common"]
dockerfile = "./hack/dockerfiles/license.Dockerfile"
target = "validate"
output = ["type=cacheonly"]
}
target "license-update" {
inherits = ["_common"]
dockerfile = "./hack/dockerfiles/license.Dockerfile"
target = "update"
output = ["."]

View File

@@ -14,23 +14,44 @@
# See the License for the specific language governing permissions and
# limitations under the License.
ARG ADDLICENSE_VERSION="v1.1.1"
ARG ALPINE_VERSION="3.21"
ARG GO_VERSION="1.23"
ARG XX_VERSION="1.6.1"
ARG LICENSE_HOLDER="actions-toolkit authors"
ARG LICENSE_TYPE="apache"
ARG LICENSE_FILES=".*\(Dockerfile\|Makefile\|\.js\|\.ts\|\.hcl\|\.sh|\.ps1\)"
ARG ADDLICENSE_VERSION="v1.0.0"
FROM ghcr.io/google/addlicense:${ADDLICENSE_VERSION} AS addlicense
FROM --platform=$BUILDPLATFORM tonistiigi/xx:${XX_VERSION} AS xx
FROM alpine:3.17 AS base
WORKDIR /src
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine${ALPINE_VERSION} AS base
RUN apk add --no-cache cpio findutils git
ENV CGO_ENABLED=0
WORKDIR /src
COPY --link --from=xx / /
FROM base AS addlicense
ARG ADDLICENSE_VERSION
ARG TARGETPLATFORM
RUN --mount=target=/root/.cache,type=cache \
--mount=type=cache,target=/go/pkg/mod <<EOT
set -ex
xx-go install "github.com/google/addlicense@${ADDLICENSE_VERSION}"
mkdir /out
if ! xx-info is-cross; then
mv /go/bin/addlicense /out
else
mv /go/bin/*/addlicense* /out
fi
EOT
FROM base AS set
ARG LICENSE_HOLDER
ARG LICENSE_TYPE
ARG LICENSE_FILES
RUN --mount=type=bind,target=.,rw \
--mount=from=addlicense,source=/app/addlicense,target=/usr/bin/addlicense \
--mount=from=addlicense,source=/out/addlicense,target=/usr/bin/addlicense \
find . -regex "${LICENSE_FILES}" -not -path "./.yarn/*" -not -path "./node_modules/*" | xargs addlicense -c "$LICENSE_HOLDER" -l "$LICENSE_TYPE" && \
mkdir /out && \
find . -regex "${LICENSE_FILES}" -not -path "./.yarn/*" -not -path "./node_modules/*" | cpio -pdm /out
@@ -43,5 +64,5 @@ ARG LICENSE_HOLDER
ARG LICENSE_TYPE
ARG LICENSE_FILES
RUN --mount=type=bind,target=. \
--mount=from=addlicense,source=/app/addlicense,target=/usr/bin/addlicense \
--mount=from=addlicense,source=/out/addlicense,target=/usr/bin/addlicense \
find . -regex "${LICENSE_FILES}" -not -path "./.yarn/*" -not -path "./node_modules/*" | xargs addlicense -check -c "$LICENSE_HOLDER" -l "$LICENSE_TYPE"

View File

@@ -45,25 +45,25 @@
"registry": "https://registry.npmjs.org/"
},
"dependencies": {
"@actions/artifact": "^2.1.11",
"@actions/cache": "^3.2.4",
"@actions/artifact": "^2.3.0",
"@actions/cache": "^4.0.2",
"@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1",
"@actions/github": "^6.0.0",
"@actions/http-client": "^2.2.3",
"@actions/io": "^1.1.3",
"@actions/tool-cache": "^2.0.1",
"@actions/tool-cache": "^2.0.2",
"@azure/storage-blob": "^12.15.0",
"@octokit/core": "^5.1.0",
"@octokit/plugin-rest-endpoint-methods": "^10.4.0",
"async-retry": "^1.3.3",
"csv-parse": "^5.5.6",
"csv-parse": "^5.6.0",
"gunzip-maybe": "^1.4.2",
"handlebars": "^4.7.8",
"he": "^1.2.0",
"js-yaml": "^4.1.0",
"jwt-decode": "^4.0.0",
"semver": "^7.6.3",
"semver": "^7.7.1",
"tar-stream": "^3.1.7",
"tmp": "^0.2.3"
},

View File

@@ -16,15 +16,15 @@
import fs from 'fs';
import path from 'path';
import {parse} from 'csv-parse/sync';
import {Build} from './build';
import {Buildx} from './buildx';
import {Context} from '../context';
import {Exec} from '../exec';
import {Util} from '../util';
import {ExecOptions} from '@actions/exec';
import {BakeDefinition} from '../types/buildx/bake';
import {AttestEntry, BakeDefinition, CacheEntry, ExportEntry, SecretEntry, SSHEntry} from '../types/buildx/bake';
import {BuildMetadata} from '../types/buildx/build';
import {VertexWarning} from '../types/buildkit/client';
@@ -33,6 +33,8 @@ export interface BakeOpts {
}
export interface BakeCmdOpts {
allow?: Array<string>;
call?: string;
files?: Array<string>;
load?: boolean;
noCache?: boolean;
@@ -142,6 +144,14 @@ export class Bake {
args.push('--set', override);
}
}
if (cmdOpts.allow) {
for (const allow of cmdOpts.allow) {
args.push('--allow', allow);
}
}
if (cmdOpts.call) {
args.push('--call', cmdOpts.call);
}
if (cmdOpts.load) {
args.push('--load');
}
@@ -168,29 +178,250 @@ export class Bake {
}
public static parseDefinition(dt: string): BakeDefinition {
return <BakeDefinition>JSON.parse(dt);
const definition = <BakeDefinition>JSON.parse(dt);
// convert to composable attributes: https://github.com/docker/buildx/pull/2758
for (const name in definition.target) {
const target = definition.target[name];
if (target['attest'] && Array.isArray(target['attest'])) {
target['attest'] = target['attest'].map((item: string | AttestEntry): AttestEntry => {
return Bake.parseAttestEntry(item);
});
}
if (target['cache-from'] && Array.isArray(target['cache-from'])) {
target['cache-from'] = target['cache-from'].map((item: string | CacheEntry): CacheEntry => {
return Bake.parseCacheEntry(item);
});
}
if (target['cache-to'] && Array.isArray(target['cache-to'])) {
target['cache-to'] = target['cache-to'].map((item: string | CacheEntry): CacheEntry => {
return Bake.parseCacheEntry(item);
});
}
if (target['output'] && Array.isArray(target['output'])) {
target['output'] = target['output'].map((item: string | ExportEntry): ExportEntry => {
return Bake.parseExportEntry(item);
});
}
if (target['secret'] && Array.isArray(target['secret'])) {
target['secret'] = target['secret'].map((item: string | SecretEntry): SecretEntry => {
return Bake.parseSecretEntry(item);
});
}
if (target['ssh'] && Array.isArray(target['ssh'])) {
target['ssh'] = target['ssh'].map((item: string | SSHEntry): SSHEntry => {
return Bake.parseSSHEntry(item);
});
}
}
return definition;
}
private static parseAttestEntry(item: AttestEntry | string): AttestEntry {
if (typeof item !== 'string') {
return item;
}
const attestEntry: AttestEntry = {type: ''};
const fields = parse(item, {
relaxColumnCount: true,
skipEmptyLines: true
})[0];
for (const field of fields) {
const [key, value] = field
.toString()
.split(/(?<=^[^=]+?)=/)
.map((item: string) => item.trim());
switch (key) {
case 'type':
attestEntry.type = value;
break;
case 'disabled':
attestEntry.disabled = Util.parseBool(value);
break;
default:
attestEntry[key] = value;
}
}
return attestEntry;
}
private static parseCacheEntry(item: CacheEntry | string): CacheEntry {
if (typeof item !== 'string') {
return item;
}
const cacheEntry: CacheEntry = {type: ''};
const fields = parse(item, {
relaxColumnCount: true,
skipEmptyLines: true
})[0];
if (fields.length === 1 && !fields[0].includes('=')) {
cacheEntry.type = 'registry';
cacheEntry.ref = fields[0];
return cacheEntry;
}
for (const field of fields) {
const [key, value] = field
.toString()
.split(/(?<=^[^=]+?)=/)
.map((item: string) => item.trim());
switch (key) {
case 'type':
cacheEntry.type = value;
break;
default:
cacheEntry[key] = value;
}
}
return cacheEntry;
}
private static parseExportEntry(item: ExportEntry | string): ExportEntry {
if (typeof item !== 'string') {
return item;
}
const exportEntry: ExportEntry = {type: ''};
const fields = parse(item, {
relaxColumnCount: true,
skipEmptyLines: true
})[0];
if (fields.length === 1 && fields[0] === item && !item.startsWith('type=')) {
if (item !== '-') {
exportEntry.type = 'local';
exportEntry.dest = item;
return exportEntry;
}
exportEntry.type = 'tar';
exportEntry.dest = item;
return exportEntry;
}
for (const field of fields) {
const [key, value] = field
.toString()
.split(/(?<=^[^=]+?)=/)
.map((item: string) => item.trim());
switch (key) {
case 'type':
exportEntry.type = value;
break;
default:
exportEntry[key] = value;
}
}
return exportEntry;
}
private static parseSecretEntry(item: SecretEntry | string): SecretEntry {
if (typeof item !== 'string') {
return item;
}
const secretEntry: SecretEntry = {};
const fields = parse(item, {
relaxColumnCount: true,
skipEmptyLines: true
})[0];
let typ = '';
for (const field of fields) {
const [key, value] = field
.toString()
.split(/(?<=^[^=]+?)=/)
.map((item: string) => item.trim());
switch (key) {
case 'type':
typ = value;
break;
case 'id':
secretEntry.id = value;
break;
case 'source':
case 'src':
secretEntry.src = value;
break;
case 'env':
secretEntry.env = value;
break;
}
}
if (typ === 'env' && !secretEntry.env) {
secretEntry.env = secretEntry.src;
secretEntry.src = undefined;
}
return secretEntry;
}
private static parseSSHEntry(item: SSHEntry | string): SSHEntry {
if (typeof item !== 'string') {
return item;
}
const sshEntry: SSHEntry = {};
const [key, value] = item.split('=', 2);
sshEntry.id = key;
if (value) {
sshEntry.paths = value.split(',');
}
return sshEntry;
}
public static hasLocalExporter(def: BakeDefinition): boolean {
return Build.hasExporterType('local', Bake.exporters(def));
return Bake.hasExporterType('local', Bake.exporters(def));
}
public static hasTarExporter(def: BakeDefinition): boolean {
return Build.hasExporterType('tar', Bake.exporters(def));
return Bake.hasExporterType('tar', Bake.exporters(def));
}
public static hasDockerExporter(def: BakeDefinition, load?: boolean): boolean {
return load || Build.hasExporterType('docker', Bake.exporters(def));
return load || Bake.hasExporterType('docker', Bake.exporters(def));
}
private static exporters(def: BakeDefinition): Array<string> {
const exporters = new Array<string>();
public static hasExporterType(name: string, exporters: Array<ExportEntry>): boolean {
for (const exporter of exporters) {
if (exporter.type == name) {
return true;
}
}
return false;
}
private static exporters(def: BakeDefinition): Array<ExportEntry> {
const exporters = new Array<ExportEntry>();
for (const key in def.target) {
const target = def.target[key];
if (target.output) {
exporters.push(...target.output);
for (const output of target.output) {
exporters.push(Bake.parseExportEntry(output));
}
}
}
return exporters;
}
public static hasGitAuthTokenSecret(def: BakeDefinition): boolean {
for (const key in def.target) {
const target = def.target[key];
if (target.secret) {
for (const secret of target.secret) {
if (Bake.parseSecretEntry(secret).id === 'GIT_AUTH_TOKEN') {
return true;
}
}
}
}
return false;
}
}

View File

@@ -139,16 +139,16 @@ export class Build {
}
public static resolveSecret(kvp: string, file: boolean): [string, string] {
const [key, _value] = Build.parseSecretKvp(kvp);
let value = _value;
const [key, value] = Build.parseSecretKvp(kvp);
const secretFile = Context.tmpName({tmpdir: Context.tmpDir()});
if (file) {
if (!fs.existsSync(value)) {
throw new Error(`secret file ${value} not found`);
}
value = fs.readFileSync(value, {encoding: 'utf-8'});
fs.copyFileSync(value, secretFile);
} else {
fs.writeFileSync(secretFile, value);
}
const secretFile = Context.tmpName({tmpdir: Context.tmpDir()});
fs.writeFileSync(secretFile, value);
return [key, secretFile];
}

View File

@@ -89,6 +89,7 @@ export class Builder {
let parsingType: string | undefined;
let currentNode: NodeInfo = {};
let currentGCPolicy: GCPolicy | undefined;
let currentFile: string | undefined;
for (const line of data.trim().split(`\n`)) {
const [key, ...rest] = line.split(':');
const lkey = key.toLowerCase();
@@ -178,6 +179,12 @@ export class Builder {
currentGCPolicy = undefined;
}
break;
case lkey.startsWith('file#'):
parsingType = 'file';
currentFile = key.split('#')[1];
currentNode.files = currentNode.files || {};
currentNode.files[currentFile] = '';
break;
default: {
switch (parsingType || '') {
case 'features': {
@@ -215,6 +222,15 @@ export class Builder {
}
break;
}
case 'file': {
if (currentFile && currentNode.files) {
if (currentNode.files[currentFile].length > 0) {
currentNode.files[currentFile] += '\n';
}
currentNode.files[currentFile] += line.replace(/^\s>\s?/, '');
}
break;
}
}
}
}

61
src/buildx/imagetools.ts Normal file
View File

@@ -0,0 +1,61 @@
/**
* 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.
*/
import {Buildx} from './buildx';
import {Exec} from '../exec';
import {Image} from '../types/oci/config';
export interface ImageToolsOpts {
buildx?: Buildx;
}
export class ImageTools {
private readonly buildx: Buildx;
constructor(opts?: ImageToolsOpts) {
this.buildx = opts?.buildx || new Buildx();
}
public async getCommand(args: Array<string>) {
return await this.buildx.getCommand(['imagetools', ...args]);
}
public async getInspectCommand(args: Array<string>) {
return await this.getCommand(['inspect', ...args]);
}
public async inspectImage(name: string): Promise<Record<string, Image> | Image> {
const cmd = await this.getInspectCommand([name, '--format', '{{json .Image}}']);
return await Exec.getExecOutput(cmd.command, cmd.args, {
ignoreReturnCode: true,
silent: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.trim());
}
const parsedOutput = JSON.parse(res.stdout);
if (typeof parsedOutput === 'object' && !Array.isArray(parsedOutput) && parsedOutput !== null) {
if (Object.prototype.hasOwnProperty.call(parsedOutput, 'config')) {
return <Image>parsedOutput;
} else {
return <Record<string, Image>>parsedOutput;
}
}
throw new Error('Unexpected output format');
});
}
}

View File

@@ -276,6 +276,9 @@ export class Install {
version = repoKey;
repoKey = 'official';
}
if (repoKey === 'lab') {
repoKey = 'cloud';
}
switch (repoKey) {
case 'official': {
return {
@@ -285,7 +288,7 @@ export class Install {
releasesURL: 'https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-releases.json'
};
}
case 'lab': {
case 'cloud': {
return {
key: repoKey,
version: version,

View File

@@ -55,7 +55,7 @@ export class Cache {
}
}
public async save(file: string): Promise<string> {
public async save(file: string, skipState?: boolean): Promise<string> {
core.debug(`Cache.save ${file}`);
const cachePath = this.copyToCache(file);
@@ -63,14 +63,19 @@ export class Cache {
core.debug(`Cache.save cached to hosted tool cache ${htcPath}`);
if (!this.ghaNoCache && cache.isFeatureAvailable()) {
core.debug(`Cache.save sending ${this.ghaCacheKey} to post state`);
core.saveState(
Cache.POST_CACHE_KEY,
JSON.stringify({
dir: this.cacheDir,
key: this.ghaCacheKey
} as CachePostState)
);
if (skipState) {
core.debug(`Cache.save caching ${this.ghaCacheKey} to GitHub Actions cache`);
await cache.saveCache([this.cacheDir], this.ghaCacheKey);
} else {
core.debug(`Cache.save sending ${this.ghaCacheKey} to post state`);
core.saveState(
Cache.POST_CACHE_KEY,
JSON.stringify({
dir: this.cacheDir,
key: this.ghaCacheKey
} as CachePostState)
);
}
}
return cachePath;

106
src/compose/compose.ts Normal file
View File

@@ -0,0 +1,106 @@
/**
* 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.
*/
import * as core from '@actions/core';
import {Docker} from '../docker/docker';
import {Exec} from '../exec';
export interface ComposeOpts {
standalone?: boolean;
}
export class Compose {
private _version: string;
private _versionOnce: boolean;
private readonly _standalone: boolean | undefined;
constructor(opts?: ComposeOpts) {
this._standalone = opts?.standalone;
this._version = '';
this._versionOnce = false;
}
public async isStandalone(): Promise<boolean> {
const standalone = this._standalone ?? !(await Docker.isAvailable());
core.debug(`Compose.isStandalone: ${standalone}`);
return standalone;
}
public async getCommand(args: Array<string>) {
const standalone = await this.isStandalone();
return {
command: standalone ? 'compose' : 'docker',
args: standalone ? args : ['compose', ...args]
};
}
public async isAvailable(): Promise<boolean> {
const cmd = await this.getCommand([]);
const ok: boolean = await Exec.getExecOutput(cmd.command, cmd.args, {
ignoreReturnCode: true,
silent: true
})
.then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.debug(`Compose.isAvailable cmd err: ${res.stderr.trim()}`);
return false;
}
return res.exitCode == 0;
})
.catch(error => {
core.debug(`Compose.isAvailable error: ${error}`);
return false;
});
core.debug(`Compose.isAvailable: ${ok}`);
return ok;
}
public async version(): Promise<string> {
if (this._versionOnce) {
return this._version;
}
this._versionOnce = true;
const cmd = await this.getCommand(['version']);
this._version = await Exec.getExecOutput(cmd.command, cmd.args, {
ignoreReturnCode: true,
silent: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.trim());
}
return Compose.parseVersion(res.stdout.trim());
});
return this._version;
}
public async printVersion() {
const cmd = await this.getCommand(['version']);
await Exec.exec(cmd.command, cmd.args, {
failOnStdErr: false
});
}
public static parseVersion(stdout: string): string {
const matches = /\sv?([0-9a-f]{7}|[0-9.]+)/.exec(stdout);
if (!matches) {
throw new Error(`Cannot parse compose version`);
}
return matches[1];
}
}

217
src/compose/install.ts Normal file
View File

@@ -0,0 +1,217 @@
/**
* 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.
*/
import fs from 'fs';
import os from 'os';
import path from 'path';
import * as core from '@actions/core';
import * as httpm from '@actions/http-client';
import * as tc from '@actions/tool-cache';
import * as semver from 'semver';
import * as util from 'util';
import {Cache} from '../cache';
import {Context} from '../context';
import {DownloadVersion} from '../types/compose/compose';
import {GitHubRelease} from '../types/github';
import {Docker} from '../docker/docker';
export interface InstallOpts {
standalone?: boolean;
}
export class Install {
private readonly _standalone: boolean | undefined;
constructor(opts?: InstallOpts) {
this._standalone = opts?.standalone;
}
/*
* Download compose binary from GitHub release
* @param v: version semver version or latest
* @param ghaNoCache: disable binary caching in GitHub Actions cache backend
* @returns path to the compose binary
*/
public async download(v: string, ghaNoCache?: boolean): Promise<string> {
const version: DownloadVersion = await Install.getDownloadVersion(v);
core.debug(`Install.download version: ${version.version}`);
const release: GitHubRelease = await Install.getRelease(version);
core.debug(`Install.download release tag name: ${release.tag_name}`);
const vspec = await this.vspec(release.tag_name);
core.debug(`Install.download vspec: ${vspec}`);
const c = semver.clean(vspec) || '';
if (!semver.valid(c)) {
throw new Error(`Invalid Compose version "${vspec}".`);
}
const installCache = new Cache({
htcName: version.key != 'official' ? `compose-dl-bin-${version.key}` : 'compose-dl-bin',
htcVersion: vspec,
baseCacheDir: path.join(os.homedir(), '.bin', 'docker-compose'),
cacheFile: os.platform() == 'win32' ? 'docker-compose.exe' : 'docker-compose',
ghaNoCache: ghaNoCache
});
const cacheFoundPath = await installCache.find();
if (cacheFoundPath) {
core.info(`Compose binary found in ${cacheFoundPath}`);
return cacheFoundPath;
}
const downloadURL = util.format(version.downloadURL, vspec, this.filename());
core.info(`Downloading ${downloadURL}`);
const htcDownloadPath = await tc.downloadTool(downloadURL);
core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`);
const cacheSavePath = await installCache.save(htcDownloadPath);
core.info(`Cached to ${cacheSavePath}`);
return cacheSavePath;
}
public async installStandalone(binPath: string, dest?: string): Promise<string> {
core.info('Standalone mode');
dest = dest || Context.tmpDir();
const binDir = path.join(dest, 'compose-bin-standalone');
if (!fs.existsSync(binDir)) {
fs.mkdirSync(binDir, {recursive: true});
}
const binName: string = os.platform() == 'win32' ? 'compose.exe' : 'compose';
const composePath: string = path.join(binDir, binName);
fs.copyFileSync(binPath, composePath);
core.info('Fixing perms');
fs.chmodSync(composePath, '0755');
core.addPath(binDir);
core.info('Added Compose to PATH');
core.info(`Binary path: ${composePath}`);
return composePath;
}
public async installPlugin(binPath: string, dest?: string): Promise<string> {
core.info('Docker plugin mode');
dest = dest || Docker.configDir;
const pluginsDir: string = path.join(dest, 'cli-plugins');
if (!fs.existsSync(pluginsDir)) {
fs.mkdirSync(pluginsDir, {recursive: true});
}
const binName: string = os.platform() == 'win32' ? 'docker-compose.exe' : 'docker-compose';
const pluginPath: string = path.join(pluginsDir, binName);
fs.copyFileSync(binPath, pluginPath);
core.info('Fixing perms');
fs.chmodSync(pluginPath, '0755');
core.info(`Plugin path: ${pluginPath}`);
return pluginPath;
}
private async isStandalone(): Promise<boolean> {
const standalone = this._standalone ?? !(await Docker.isAvailable());
core.debug(`Install.isStandalone: ${standalone}`);
return standalone;
}
private filename(): string {
let arch: string;
switch (os.arch()) {
case 'x64': {
arch = 'x86_64';
break;
}
case 'ppc64': {
arch = 'ppc64le';
break;
}
case 'arm': {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const arm_version = (process.config.variables as any).arm_version;
arch = arm_version ? 'armv' + arm_version : 'arm';
break;
}
case 'arm64': {
arch = 'aarch64';
break;
}
default: {
arch = os.arch();
break;
}
}
const platform: string = os.platform() == 'win32' ? 'windows' : os.platform();
const ext: string = os.platform() == 'win32' ? '.exe' : '';
return util.format('docker-compose-%s-%s%s', platform, arch, ext);
}
private async vspec(version: string): Promise<string> {
const v = version.replace(/^v+|v+$/g, '');
core.info(`Use ${v} version spec cache key for ${version}`);
return v;
}
public static async getDownloadVersion(v: string): Promise<DownloadVersion> {
let [repoKey, version] = v.split(':');
if (!version) {
version = repoKey;
repoKey = 'official';
}
switch (repoKey) {
case 'official': {
return {
key: repoKey,
version: version,
downloadURL: 'https://github.com/docker/compose/releases/download/v%s/%s',
releasesURL: 'https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/compose-releases.json'
};
}
case 'cloud': {
return {
key: repoKey,
version: version,
downloadURL: 'https://github.com/docker/compose-desktop/releases/download/v%s/%s',
releasesURL: 'https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/compose-lab-releases.json'
};
}
default: {
throw new Error(`Cannot find compose version for ${v}`);
}
}
}
public static async getRelease(version: DownloadVersion): Promise<GitHubRelease> {
const http: httpm.HttpClient = new httpm.HttpClient('docker-actions-toolkit');
const resp: httpm.HttpClientResponse = await http.get(version.releasesURL);
const body = await resp.readBody();
const statusCode = resp.message.statusCode || 500;
if (statusCode >= 400) {
throw new Error(`Failed to get Compose releases from ${version.releasesURL} with status code ${statusCode}: ${body}`);
}
const releases = <Record<string, GitHubRelease>>JSON.parse(body);
if (!releases[version.version]) {
throw new Error(`Cannot find Compose release ${version.version} in ${version.releasesURL}`);
}
return releases[version.version];
}
}

View File

@@ -39,23 +39,23 @@ export class Context {
}
public static gitRef(): string {
let gitRef = github.context.ref;
if (github.context.sha && gitRef && !gitRef.startsWith('refs/')) {
gitRef = `refs/heads/${github.context.ref}`;
return Context.parseGitRef(github.context.ref, github.context.sha);
}
public static parseGitRef(ref: string, sha: string): string {
const setPullRequestHeadRef: boolean = !!(process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF && process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF === 'true');
if (sha && ref && !ref.startsWith('refs/')) {
ref = `refs/heads/${ref}`;
}
if (github.context.sha && !gitRef.startsWith(`refs/pull/`)) {
gitRef = github.context.sha;
} else if (gitRef.startsWith(`refs/pull/`)) {
gitRef = gitRef.replace(/\/merge$/g, '/head');
if (sha && !ref.startsWith(`refs/pull/`)) {
ref = sha;
} else if (ref.startsWith(`refs/pull/`) && setPullRequestHeadRef) {
ref = ref.replace(/\/merge$/g, '/head');
}
return gitRef;
return ref;
}
public static gitContext(): string {
return `${GitHub.serverURL}/${github.context.repo.owner}/${github.context.repo.repo}.git#${Context.gitRef()}`;
}
public static provenanceBuilderID(): string {
return `${GitHub.serverURL}/${github.context.repo.owner}/${github.context.repo.repo}/actions/runs/${github.context.runId}`;
}
}

View File

@@ -51,7 +51,10 @@ param(
[string]$RunDir,
[Parameter(Mandatory = $true)]
[string]$DockerHost,
[string]$DockerHostSocket,
[Parameter(Mandatory = $false)]
[string]$DockerHostTCP,
[Parameter(Mandatory = $false)]
[string]$DaemonConfig)
@@ -82,7 +85,7 @@ if (Get-Service docker -ErrorAction SilentlyContinue) {
$env:Path = "$ToolDir;" + [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
Write-Host "Path: $env:Path"
$env:DOCKER_HOST = $DockerHost
$env:DOCKER_HOST = $DockerHostSocket
Write-Host "DOCKER_HOST: $env:DOCKER_HOST"
if ($DaemonConfig) {
@@ -91,16 +94,21 @@ if ($DaemonConfig) {
$DaemonConfig | Out-File -FilePath "$env:ProgramData\\Docker\\config\\daemon.json"
}
$arguments = @(
"--host=$DockerHostSocket",
"--data-root=$RunDir\\\\moby-root",
"--exec-root=$RunDir\\\\moby-exec",
"--pidfile=$RunDir\\\\docker.pid",
"--register-service"
)
if ($DockerHostTCP) {
$arguments += "--host=$DockerHostTCP"
}
Write-Host "Creating service"
New-Item -ItemType Directory "$RunDir\\moby-root" -ErrorAction SilentlyContinue | Out-Null
New-Item -ItemType Directory "$RunDir\\moby-exec" -ErrorAction SilentlyContinue | Out-Null
Start-Process -Wait -NoNewWindow "$ToolDir\\dockerd" \`
-ArgumentList \`
"--host=$DockerHost", \`
"--data-root=$RunDir\\moby-root", \`
"--exec-root=$RunDir\\moby-exec", \`
"--pidfile=$RunDir\\docker.pid", \`
"--register-service"
Start-Process -Wait -NoNewWindow "$ToolDir\\dockerd" -ArgumentList $arguments
Write-Host "Starting service"
Start-Service -Name docker
Write-Host "Service started successfully!"
@@ -132,6 +140,8 @@ Get-WinEvent -ea SilentlyContinue \`
`;
export const limaYamlData = `
# Source: https://github.com/lima-vm/lima/blob/master/templates/docker-rootful.yaml
# VM type: "qemu" or "vz" (on macOS 13 and later).
# The vmType can be specified only on creating the instance.
# The vmType of existing instances cannot be changed.
@@ -152,12 +162,25 @@ images:
arch: "{{arch}}"
digest: "{{digest}}"
{{/each}}
- location: "https://cloud-images.ubuntu.com/releases/22.04/release-20231026/ubuntu-22.04-server-cloudimg-amd64.img"
- location: "https://cloud-images.ubuntu.com/releases/24.04/release-20250228/ubuntu-24.04-server-cloudimg-amd64.img"
arch: "x86_64"
digest: "sha256:054db2d88c454bb0ad8dfd8883955e3946b57d2b0bf0d023f3ade3c93cdd14e5"
- location: "https://cloud-images.ubuntu.com/releases/22.04/release-20231026/ubuntu-22.04-server-cloudimg-arm64.img"
digest: "sha256:a3aea891c930ee0c762077b963834f5e083eb8102574f1e4dfc9e6e4c1c73ac0"
kernel:
location: "https://cloud-images.ubuntu.com/releases/24.04/release-20250228/unpacked/ubuntu-24.04-server-cloudimg-amd64-vmlinuz-generic"
digest: "sha256:2d9f30959f01675fd28aa1c2fe8934728e46766d04ecfad2d206823696a3f830"
cmdline: "root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyAMA0 no_timer_check"
initrd:
location: "https://cloud-images.ubuntu.com/releases/24.04/release-20250228/unpacked/ubuntu-24.04-server-cloudimg-amd64-initrd-generic"
digest: "sha256:231352d027aeebf0bb7dca281dfebae894c86e789c7377788d3c2c149471caa3"
- location: "https://cloud-images.ubuntu.com/releases/24.04/release-20250228/ubuntu-24.04-server-cloudimg-arm64.img"
arch: "aarch64"
digest: "sha256:278a0e8475008673d9d3da10ae66a7b1a3dda059746b83d749eca386a5670bd4"
# Fallback to the latest release image.
# Hint: run \`limactl prune\` to invalidate the cache
- location: "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img"
arch: "x86_64"
- location: "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img"
arch: "aarch64"
digest: "sha256:eafa7742ce5ff109222ea313d31ea366d587b4e89b900b11d8285ae775dfe8c3"
# CPUs
# Builtin default: min(4, host CPU cores)
@@ -223,6 +246,11 @@ provision:
export DEBIAN_FRONTEND=noninteractive
if [ "{{srcType}}" == "archive" ]; then
curl -fsSL https://get.docker.com | sh -s -- --channel {{srcArchiveChannel}} --version {{srcArchiveVersion}}
sed -i 's|^ExecStart=.*|ExecStart=/usr/bin/dockerd -H fd://{{#if localTCPPort}} -H tcp://0.0.0.0:2375{{/if}} --containerd=/run/containerd/containerd.sock|' /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl restart docker
systemctl status docker.socket || true
systemctl status docker.service || true
elif [ "{{srcType}}" == "image" ]; then
arch=$(uname -m)
case $arch in
@@ -237,14 +265,12 @@ provision:
HOME=/tmp undock moby/moby-bin:{{srcImageTag}} /usr/local/bin
wget https://raw.githubusercontent.com/moby/moby/{{srcImageTag}}/contrib/init/systemd/docker.service \
https://raw.githubusercontent.com/moby/moby/v{{srcImageTag}}/contrib/init/systemd/docker.service \
-O /etc/systemd/system/docker.service || true
wget https://raw.githubusercontent.com/moby/moby/{{srcImageTag}}/contrib/init/systemd/docker.socket \
https://raw.githubusercontent.com/moby/moby/v{{srcImageTag}}/contrib/init/systemd/docker.socket \
-O /etc/systemd/system/docker.socket || true
wget https://raw.githubusercontent.com/moby/moby/{{gitCommit}}/contrib/init/systemd/docker.service \
-O /etc/systemd/system/docker.service
wget https://raw.githubusercontent.com/moby/moby/{{gitCommit}}/contrib/init/systemd/docker.socket \
-O /etc/systemd/system/docker.socket
sed -i 's|^ExecStart=.*|ExecStart=/usr/local/bin/dockerd -H fd://|' /etc/systemd/system/docker.service
sed -i 's|^ExecStart=.*|ExecStart=/usr/local/bin/dockerd -H fd://{{#if localTCPPort}} -H tcp://0.0.0.0:2375{{/if}}|' /etc/systemd/system/docker.service
sed -i 's|containerd.service||' /etc/systemd/system/docker.service
if ! getent group docker; then
groupadd --system docker
@@ -279,6 +305,10 @@ hostResolver:
portForwards:
- guestSocket: "/var/run/docker.sock"
hostSocket: "{{dockerSock}}"
{{#if localTCPPort}}
- guestPort: 2375
hostPort: {{localTCPPort}}
{{/if}}
audio:
# EXPERIMENTAL

View File

@@ -21,7 +21,6 @@ import os from 'os';
import path from 'path';
import retry from 'async-retry';
import * as handlebars from 'handlebars';
import * as util from 'util';
import * as core from '@actions/core';
import * as httpm from '@actions/http-client';
import * as io from '@actions/io';
@@ -34,6 +33,7 @@ import {Util} from '../util';
import {limaYamlData, dockerServiceLogsPs1, setupDockerWinPs1} from './assets';
import {GitHubRelease} from '../types/github';
import {HubRepository} from '../hubRepository';
import {Image} from '../types/oci/config';
export interface InstallSourceImage {
type: 'image';
@@ -55,6 +55,8 @@ export interface InstallOpts {
runDir: string;
contextName?: string;
daemonConfig?: string;
rootless?: boolean;
localTCPPort?: number;
}
interface LimaImage {
@@ -68,9 +70,14 @@ export class Install {
private readonly source: InstallSource;
private readonly contextName: string;
private readonly daemonConfig?: string;
private readonly rootless: boolean;
private readonly localTCPPort?: number;
private _version: string | undefined;
private _toolDir: string | undefined;
private gitCommit: string | undefined;
private readonly limaInstanceName = 'docker-actions-toolkit';
constructor(opts: InstallOpts) {
@@ -82,31 +89,33 @@ export class Install {
};
this.contextName = opts.contextName || 'setup-docker-action';
this.daemonConfig = opts.daemonConfig;
this.rootless = opts.rootless || false;
this.localTCPPort = opts.localTCPPort;
}
get toolDir(): string {
return this._toolDir || Context.tmpDir();
}
async downloadStaticArchive(src: InstallSourceArchive): Promise<string> {
async downloadStaticArchive(component: 'docker' | 'docker-rootless-extras', src: InstallSourceArchive): Promise<string> {
const release: GitHubRelease = await Install.getRelease(src.version);
this._version = release.tag_name.replace(/^v+|v+$/g, '');
core.debug(`docker.Install.download version: ${this._version}`);
const downloadURL = this.downloadURL(this._version, src.channel);
const downloadURL = this.downloadURL(component, this._version, src.channel);
core.info(`Downloading ${downloadURL}`);
const downloadPath = await tc.downloadTool(downloadURL);
core.debug(`docker.Install.download downloadPath: ${downloadPath}`);
let extractFolder: string;
let extractFolder;
if (os.platform() == 'win32') {
extractFolder = await tc.extractZip(downloadPath);
extractFolder = await tc.extractZip(downloadPath, extractFolder);
} else {
extractFolder = await tc.extractTar(downloadPath);
extractFolder = await tc.extractTar(downloadPath, extractFolder);
}
if (Util.isDirectory(path.join(extractFolder, 'docker'))) {
extractFolder = path.join(extractFolder, 'docker');
if (Util.isDirectory(path.join(extractFolder, component))) {
extractFolder = path.join(extractFolder, component);
}
core.debug(`docker.Install.download extractFolder: ${extractFolder}`);
return extractFolder;
@@ -127,12 +136,28 @@ export class Install {
const cli = await HubRepository.build('dockereng/cli-bin');
extractFolder = await cli.extractImage(tag);
const moby = await HubRepository.build('moby/moby-bin');
if (['win32', 'linux'].includes(platform)) {
core.info(`Downloading dockerd from moby/moby-bin:${tag}`);
const moby = await HubRepository.build('moby/moby-bin');
await moby.extractImage(tag, extractFolder);
} else if (platform == 'darwin') {
// On macOS, the docker daemon binary will be downloaded inside the lima VM
// On macOS, the docker daemon binary will be downloaded inside the lima VM.
// However, we will get the exact git revision from the image config
// to get the matching systemd unit files.
core.info(`Getting git revision from moby/moby-bin:${tag}`);
// There's no macOS image for moby/moby-bin - a linux daemon is run inside lima.
const manifest = await moby.getPlatformManifest(tag, 'linux');
const config = await moby.getJSONBlob<Image>(manifest.config.digest);
core.debug(`Config ${JSON.stringify(config.config)}`);
this.gitCommit = config.config?.Labels?.['org.opencontainers.image.revision'];
if (!this.gitCommit) {
core.warning(`No git revision can be determined from the image. Will use master.`);
this.gitCommit = 'master';
}
core.info(`Git revision is ${this.gitCommit}`);
} else {
core.warning(`dockerd not supported on ${platform}, only the Docker cli will be available`);
}
@@ -145,7 +170,16 @@ export class Install {
this._version = version;
core.info(`Downloading Docker ${version} from ${this.source.channel} at download.docker.com`);
extractFolder = await this.downloadStaticArchive(this.source);
extractFolder = await this.downloadStaticArchive('docker', this.source);
if (this.rootless) {
core.info(`Downloading Docker rootless extras ${version} from ${this.source.channel} at download.docker.com`);
const extrasFolder = await this.downloadStaticArchive('docker-rootless-extras', this.source);
fs.readdirSync(extrasFolder).forEach(file => {
const src = path.join(extrasFolder, file);
const dest = path.join(extractFolder, file);
fs.copyFileSync(src, dest);
});
}
break;
}
}
@@ -176,7 +210,13 @@ export class Install {
if (!this.runDir) {
throw new Error('runDir must be set');
}
switch (os.platform()) {
const platform = os.platform();
if (this.rootless && platform != 'linux') {
// TODO: Support on macOS (via lima)
throw new Error(`rootless is only supported on linux`);
}
switch (platform) {
case 'darwin': {
return await this.installDarwin();
}
@@ -193,6 +233,9 @@ export class Install {
}
private async installDarwin(): Promise<string> {
if (this.source.type == 'image' && !this.gitCommit) {
throw new Error('gitCommit must be set. Run download first.');
}
const src = this.source;
const limaDir = path.join(os.homedir(), '.lima', this.limaInstanceName);
await io.mkdirP(limaDir);
@@ -229,6 +272,8 @@ export class Install {
customImages: Install.limaCustomImages(),
daemonConfig: limaDaemonConfig,
dockerSock: `${limaDir}/docker.sock`,
localTCPPort: this.localTCPPort,
gitCommit: this.gitCommit,
srcType: src.type,
srcArchiveVersion: this._version, // Use the resolved version (e.g. latest -> 27.4.0)
srcArchiveChannel: srcArchive.channel,
@@ -239,9 +284,14 @@ export class Install {
core.info(limaCfg);
});
const qemuArch = await Install.qemuArch();
if (!(await Install.qemuInstalled())) {
await core.group('Installing QEMU', async () => {
await Exec.exec('brew', ['install', 'qemu'], {env: envs});
});
}
const qemuBin = await Install.qemuBin();
await core.group('QEMU version', async () => {
await Exec.exec(`qemu-system-${qemuArch} --version`);
await Exec.exec(qemuBin, ['--version']);
});
// lima might already be started on the runner so env var added in download
@@ -316,21 +366,36 @@ export class Install {
}
const envs = Object.assign({}, process.env, {
PATH: `${this.toolDir}:${process.env.PATH}`
PATH: `${this.toolDir}:${process.env.PATH}`,
XDG_RUNTIME_DIR: (this.rootless && this.runDir) || undefined
}) as {
[key: string]: string;
};
await core.group('Start Docker daemon', async () => {
const bashPath: string = await io.which('bash', true);
const cmd = `${this.toolDir}/dockerd --host="${dockerHost}" --config-file="${daemonConfigPath}" --exec-root="${this.runDir}/execroot" --data-root="${this.runDir}/data" --pidfile="${this.runDir}/docker.pid" --userland-proxy=false`;
let dockerPath = `${this.toolDir}/dockerd`;
if (this.rootless) {
dockerPath = `${this.toolDir}/dockerd-rootless.sh`;
if (fs.existsSync('/proc/sys/kernel/apparmor_restrict_unprivileged_userns')) {
await Exec.exec('sudo', ['sh', '-c', 'echo 0 > /proc/sys/kernel/apparmor_restrict_unprivileged_userns']);
}
}
let cmd = `${dockerPath} --host="${dockerHost}" --config-file="${daemonConfigPath}" --exec-root="${this.runDir}/execroot" --data-root="${this.runDir}/data" --pidfile="${this.runDir}/docker.pid"`;
if (this.localTCPPort) {
cmd += ` --host="tcp://127.0.0.1:${this.localTCPPort}"`;
}
core.info(`[command] ${cmd}`); // https://github.com/actions/toolkit/blob/3d652d3133965f63309e4b2e1c8852cdbdcb3833/packages/exec/src/toolrunner.ts#L47
let sudo = 'sudo';
if (this.rootless) {
sudo += ' -u \\#1001';
}
const proc = await child_process.spawn(
// We can't use Exec.exec here because we need to detach the process to
// avoid killing it when the action finishes running. Even if detached,
// we also need to run dockerd in a subshell and unref the process so
// GitHub Action doesn't wait for it to finish.
`sudo env "PATH=$PATH" ${bashPath} << EOF
`${sudo} env "PATH=$PATH" ${bashPath} << EOF
( ${cmd} 2>&1 | tee "${this.runDir}/dockerd.log" ) &
EOF`,
[],
@@ -380,7 +445,7 @@ EOF`,
}
private async installWindows(): Promise<string> {
const dockerHost = 'npipe:////./pipe/setup_docker_action';
const dockerHostSocket = 'npipe:////./pipe/setup_docker_action';
let daemonConfig = undefined;
const daemonConfigPath = path.join(this.runDir, 'daemon.json');
@@ -402,24 +467,29 @@ EOF`,
});
}
const params = {
ToolDir: this.toolDir,
RunDir: this.runDir,
DockerHostSocket: dockerHostSocket,
DaemonConfig: daemonConfigStr
};
if (this.localTCPPort) {
params['DockerHostTCP'] = `tcp://127.0.0.1:${this.localTCPPort}`;
}
await core.group('Install Docker daemon service', async () => {
const setupCmd = await Util.powershellCommand(setupDockerWinPs1(), {
ToolDir: this.toolDir,
RunDir: this.runDir,
DockerHost: dockerHost,
DaemonConfig: daemonConfigStr
});
const setupCmd = await Util.powershellCommand(setupDockerWinPs1(), params);
await Exec.exec(setupCmd.command, setupCmd.args);
const logCmd = await Util.powershellCommand(dockerServiceLogsPs1());
await Exec.exec(logCmd.command, logCmd.args);
});
await core.group('Create Docker context', async () => {
await Docker.exec(['context', 'create', this.contextName, '--docker', `host=${dockerHost}`]);
await Docker.exec(['context', 'create', this.contextName, '--docker', `host=${dockerHostSocket}`]);
await Docker.exec(['context', 'use', this.contextName]);
});
return dockerHost;
return dockerHostSocket;
}
public async tearDown(): Promise<void> {
@@ -443,6 +513,13 @@ EOF`,
throw new Error(`Unsupported platform: ${os.platform()}`);
}
}
await core.group(`Cleaning up toolDir`, async () => {
if (!this._toolDir) {
return;
}
fs.rmSync(this._toolDir, {recursive: true, force: true});
});
}
private async tearDownDarwin(): Promise<void> {
@@ -492,13 +569,16 @@ EOF`,
await core.group('Removing Docker context', async () => {
await Docker.exec(['context', 'rm', '-f', this.contextName]);
});
await core.group('Stopping Docker daemon service', async () => {
await Exec.exec('powershell', ['-Command', `Stop-Service -Name docker -Force`]);
});
}
private downloadURL(version: string, channel: string): string {
private downloadURL(component: 'docker' | 'docker-rootless-extras', version: string, channel: string): string {
const platformOS = Install.platformOS();
const platformArch = Install.platformArch();
const ext = platformOS === 'win' ? '.zip' : '.tgz';
return util.format('https://download.docker.com/%s/static/%s/%s/docker-%s%s', platformOS, channel, platformArch, version, ext);
return `https://download.docker.com/${platformOS}/static/${channel}/${platformArch}/${component}-${version}${ext}`;
}
private static platformOS(): string {
@@ -554,29 +634,42 @@ EOF`,
return await io
.which('lima', true)
.then(res => {
core.debug(`docker.Install.limaAvailable ok: ${res}`);
core.debug(`docker.Install.limaInstalled ok: ${res}`);
return true;
})
.catch(error => {
core.debug(`docker.Install.limaAvailable error: ${error}`);
core.debug(`docker.Install.limaInstalled error: ${error}`);
return false;
});
}
private static async qemuArch(): Promise<string> {
private static async qemuBin(): Promise<string> {
switch (os.arch()) {
case 'x64': {
return 'x86_64';
return `qemu-system-x86_64`;
}
case 'arm64': {
return 'aarch64';
return `qemu-system-aarch64`;
}
default: {
return os.arch();
return `qemu-system-${os.arch()}`;
}
}
}
private static async qemuInstalled(): Promise<boolean> {
return await io
.which(await Install.qemuBin(), true)
.then(res => {
core.debug(`docker.Install.qemuInstalled ok: ${res}`);
return true;
})
.catch(error => {
core.debug(`docker.Install.qemuInstalled error: ${error}`);
return false;
});
}
public static async getRelease(version: string): Promise<GitHubRelease> {
const url = `https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/docker-releases.json`;
const http: httpm.HttpClient = new httpm.HttpClient('docker-actions-toolkit');

View File

@@ -163,4 +163,8 @@ export class Git {
return res.stdout.trim();
});
}
public static async commitDate(ref: string): Promise<Date> {
return new Date(await Git.exec(['show', '-s', '--format="%ci"', ref]));
}
}

View File

@@ -21,8 +21,8 @@ import * as core from '@actions/core';
import {Manifest} from './types/oci/manifest';
import * as tc from '@actions/tool-cache';
import fs from 'fs';
import {MEDIATYPE_IMAGE_INDEX_V1, MEDIATYPE_IMAGE_MANIFEST_V1} from './types/oci/mediatype';
import {MEDIATYPE_IMAGE_MANIFEST_V2, MEDIATYPE_IMAGE_MANIFEST_LIST_V2} from './types/docker/mediatype';
import {MEDIATYPE_IMAGE_CONFIG_V1, MEDIATYPE_IMAGE_INDEX_V1, MEDIATYPE_IMAGE_MANIFEST_V1} from './types/oci/mediatype';
import {MEDIATYPE_IMAGE_CONFIG_V1 as DOCKER_MEDIATYPE_IMAGE_CONFIG_V1, MEDIATYPE_IMAGE_MANIFEST_LIST_V2, MEDIATYPE_IMAGE_MANIFEST_V2} from './types/docker/mediatype';
import {DockerHub} from './dockerhub';
export class HubRepository {
@@ -40,15 +40,20 @@ export class HubRepository {
return new HubRepository(repository, token);
}
public async getPlatformManifest(tagOrDigest: string, os?: string): Promise<Manifest> {
const index = await this.getManifest<Index>(tagOrDigest);
if (index.mediaType != MEDIATYPE_IMAGE_INDEX_V1 && index.mediaType != MEDIATYPE_IMAGE_MANIFEST_LIST_V2) {
core.error(`Unsupported image media type: ${index.mediaType}`);
throw new Error(`Unsupported image media type: ${index.mediaType}`);
}
const digest = HubRepository.getPlatformManifestDigest(index, os);
return await this.getManifest<Manifest>(digest);
}
// Unpacks the image layers and returns the path to the extracted image.
// Only OCI indexes/manifest list are supported for now.
public async extractImage(tag: string, destDir?: string): Promise<string> {
const index = await this.getManifest<Index>(tag);
if (index.mediaType != MEDIATYPE_IMAGE_INDEX_V1 && index.mediaType != MEDIATYPE_IMAGE_MANIFEST_LIST_V2) {
throw new Error(`Unsupported image media type: ${index.mediaType}`);
}
const digest = HubRepository.getPlatformManifestDigest(index);
const manifest = await this.getManifest<Manifest>(digest);
const manifest = await this.getPlatformManifest(tag);
const paths = manifest.layers.map(async layer => {
const url = this.blobUrl(layer.digest);
@@ -99,25 +104,35 @@ export class HubRepository {
}
public async getManifest<T>(tagOrDigest: string): Promise<T> {
const url = `https://registry-1.docker.io/v2/${this.repo}/manifests/${tagOrDigest}`;
return await this.registryGet<T>(tagOrDigest, 'manifests', [MEDIATYPE_IMAGE_INDEX_V1, MEDIATYPE_IMAGE_MANIFEST_LIST_V2, MEDIATYPE_IMAGE_MANIFEST_V1, MEDIATYPE_IMAGE_MANIFEST_V2]);
}
public async getJSONBlob<T>(tagOrDigest: string): Promise<T> {
return await this.registryGet<T>(tagOrDigest, 'blobs', [MEDIATYPE_IMAGE_CONFIG_V1, DOCKER_MEDIATYPE_IMAGE_CONFIG_V1]);
}
private async registryGet<T>(tagOrDigest: string, endpoint: 'manifests' | 'blobs', accept: Array<string>): Promise<T> {
const url = `https://registry-1.docker.io/v2/${this.repo}/${endpoint}/${tagOrDigest}`;
const headers = {
Authorization: `Bearer ${this.token}`,
Accept: [MEDIATYPE_IMAGE_INDEX_V1, MEDIATYPE_IMAGE_MANIFEST_LIST_V2, MEDIATYPE_IMAGE_MANIFEST_V1, MEDIATYPE_IMAGE_MANIFEST_V2].join(', ')
Accept: accept.join(', ')
};
const resp = await HubRepository.http.get(url, headers);
const body = await resp.readBody();
const statusCode = resp.message.statusCode || 500;
if (statusCode != 200) {
core.error(`registryGet(${this.repo}:${tagOrDigest}) failed: ${statusCode} ${body}`);
throw DockerHub.parseError(resp, body);
}
return <T>JSON.parse(body);
}
private static getPlatformManifestDigest(index: Index): string {
private static getPlatformManifestDigest(index: Index, osOverride?: string): string {
// This doesn't handle all possible platforms normalizations, but it's good enough for now.
let pos: string = os.platform();
let pos: string = osOverride || os.platform();
if (pos == 'win32') {
pos = 'windows';
}
@@ -150,8 +165,10 @@ export class HubRepository {
return true;
});
if (!manifest) {
core.error(`Cannot find manifest for ${pos}/${arch}/${variant}`);
throw new Error(`Cannot find manifest for ${pos}/${arch}/${variant}`);
}
return manifest.digest;
}
}

View File

@@ -20,6 +20,9 @@ import {Bake as BuildxBake} from './buildx/bake';
import {Install as BuildxInstall} from './buildx/install';
import {Builder} from './buildx/builder';
import {BuildKit} from './buildkit/buildkit';
import {Compose} from './compose/compose';
import {Install as ComposeInstall} from './compose/install';
import {Undock} from './undock/undock';
import {GitHub} from './github';
export interface ToolkitOpts {
@@ -38,6 +41,9 @@ export class Toolkit {
public buildxInstall: BuildxInstall;
public builder: Builder;
public buildkit: BuildKit;
public compose: Compose;
public composeInstall: ComposeInstall;
public undock: Undock;
constructor(opts: ToolkitOpts = {}) {
this.github = new GitHub({token: opts.githubToken});
@@ -47,5 +53,8 @@ export class Toolkit {
this.buildxInstall = new BuildxInstall();
this.builder = new Builder({buildx: this.buildx});
this.buildkit = new BuildKit({buildx: this.buildx});
this.compose = new Compose();
this.composeInstall = new ComposeInstall();
this.undock = new Undock();
}
}

View File

@@ -20,28 +20,59 @@ export interface BakeDefinition {
}
export interface Group {
description?: string;
targets: Array<string>;
}
export interface Target {
description?: string;
args?: Record<string, string>;
attest?: Array<string>;
'cache-from'?: Array<string>;
'cache-to'?: Array<string>;
attest?: Array<AttestEntry> | Array<string>;
'cache-from'?: Array<CacheEntry> | Array<string>;
'cache-to'?: Array<CacheEntry> | Array<string>;
call?: string;
context: string;
contexts?: Record<string, string>;
dockerfile: string;
'dockerfile-inline'?: string;
entitlements?: Array<string>;
labels?: Record<string, string>;
'no-cache'?: boolean;
'no-cache-filter'?: Array<string>;
output?: Array<string>;
output?: Array<ExportEntry> | Array<string>;
platforms?: Array<string>;
pull?: boolean;
secret?: Array<string>;
secret?: Array<SecretEntry> | Array<string>;
'shm-size'?: string;
ssh?: Array<string>;
ssh?: Array<SSHEntry> | Array<string>;
tags?: Array<string>;
target?: string;
ulimits?: Array<string>;
}
export interface AttestEntry {
type: string;
disabled?: string | boolean;
[key: string]: string | boolean | undefined;
}
export interface CacheEntry {
type: string;
[key: string]: string;
}
export interface ExportEntry {
type: string;
[key: string]: string;
}
export interface SecretEntry {
id?: string;
src?: string;
env?: string;
}
export interface SSHEntry {
id?: string;
paths?: Array<string>;
}

View File

@@ -35,6 +35,7 @@ export interface NodeInfo extends Node {
features?: Record<string, boolean>;
labels?: Record<string, string>;
gcPolicy?: Array<GCPolicy>;
files?: Record<string, string>;
}
export interface GCPolicy {

View File

@@ -0,0 +1,22 @@
/**
* 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.
*/
export interface DownloadVersion {
key: string;
version: string;
downloadURL: string;
releasesURL: string;
}

View File

@@ -17,3 +17,5 @@
export const MEDIATYPE_IMAGE_MANIFEST_LIST_V2 = 'application/vnd.docker.distribution.manifest.list.v2+json';
export const MEDIATYPE_IMAGE_MANIFEST_V2 = 'application/vnd.docker.distribution.manifest.v2+json';
export const MEDIATYPE_IMAGE_CONFIG_V1 = 'application/vnd.docker.container.image.v1+json';

View File

@@ -23,3 +23,5 @@ export const MEDIATYPE_IMAGE_INDEX_V1 = 'application/vnd.oci.image.index.v1+json
export const MEDIATYPE_IMAGE_LAYER_V1 = 'application/vnd.oci.image.layer.v1.tar';
export const MEDIATYPE_EMPTY_JSON_V1 = 'application/vnd.oci.empty.v1+json';
export const MEDIATYPE_IMAGE_CONFIG_V1 = 'application/vnd.oci.image.config.v1+json';

148
src/undock/undock.ts Normal file
View File

@@ -0,0 +1,148 @@
/**
* Copyright 2024 actions-toolkit authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import * as core from '@actions/core';
import * as semver from 'semver';
import {Exec} from '../exec';
export interface UndockOpts {
binPath?: string;
}
export interface UndockRunOpts {
source: string;
dist: string;
logLevel?: string;
logCaller?: boolean;
cacheDir?: string;
platform?: string;
all?: boolean;
include?: Array<string>;
insecure?: boolean;
rmDist?: boolean;
wrap?: boolean;
}
export class Undock {
private readonly binPath: string;
private _version: string;
private _versionOnce: boolean;
constructor(opts?: UndockOpts) {
this.binPath = opts?.binPath || 'undock';
this._version = '';
this._versionOnce = false;
}
public async run(opts: UndockRunOpts): Promise<void> {
if (!opts.source) {
throw new Error('source is required');
}
if (!opts.dist) {
throw new Error('dist is required');
}
const args: Array<string> = [];
if (opts.logLevel) {
args.push(`--log-level=${opts.logLevel}`);
}
if (opts.logCaller) {
args.push('--log-caller');
}
if (opts.cacheDir) {
args.push(`--cachedir=${opts.cacheDir}`);
}
if (opts.platform) {
args.push(`--platform=${opts.platform}`);
}
if (opts.all) {
args.push('--all');
}
if (opts.include) {
opts.include.forEach(i => {
args.push(`--include=${i}`);
});
}
if (opts.insecure) {
args.push('--insecure');
}
if (opts.rmDist) {
args.push('--rm-dist');
}
if (opts.wrap) {
args.push('--wrap');
}
args.push(opts.source, opts.dist);
await Exec.exec(this.binPath, args, {
failOnStdErr: false
});
}
public async isAvailable(): Promise<boolean> {
const ok: boolean = await Exec.getExecOutput(this.binPath, [], {
ignoreReturnCode: true,
silent: true
})
.then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.debug(`Undock.isAvailable cmd err: ${res.stderr.trim()}`);
return false;
}
return res.exitCode == 0;
})
.catch(error => {
core.debug(`Undock.isAvailable error: ${error}`);
return false;
});
core.debug(`Undock.isAvailable: ${ok}`);
return ok;
}
public async version(): Promise<string> {
if (this._versionOnce) {
return this._version;
}
this._versionOnce = true;
this._version = await Exec.getExecOutput(this.binPath, ['--version'], {
ignoreReturnCode: true,
silent: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.trim());
}
return res.stdout.trim();
});
return this._version;
}
public async printVersion() {
await Exec.exec(this.binPath, ['--version'], {
failOnStdErr: false
});
}
public async versionSatisfies(range: string, version?: string): Promise<boolean> {
const ver = version ?? (await this.version());
if (!ver) {
core.debug(`Undock.versionSatisfies false: undefined version`);
return false;
}
const res = semver.satisfies(ver, range) || /^[0-9a-f]{7}$/.exec(ver) !== null;
core.debug(`Undock.versionSatisfies ${ver} statisfies ${range}: ${res}`);
return res;
}
}

View File

@@ -64,6 +64,14 @@ export class Util {
return res.filter(item => item).map(pat => pat.trim());
}
public static getInputNumber(name: string): number | undefined {
const value = core.getInput(name);
if (!value) {
return undefined;
}
return parseInt(value);
}
public static async asyncForEach(array, callback) {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array);

222
yarn.lock
View File

@@ -12,9 +12,9 @@ __metadata:
languageName: node
linkType: hard
"@actions/artifact@npm:^2.1.11":
version: 2.1.11
resolution: "@actions/artifact@npm:2.1.11"
"@actions/artifact@npm:^2.3.0":
version: 2.3.0
resolution: "@actions/artifact@npm:2.3.0"
dependencies:
"@actions/core": ^1.10.0
"@actions/github": ^5.1.1
@@ -27,17 +27,16 @@ __metadata:
"@protobuf-ts/plugin": ^2.2.3-alpha.1
archiver: ^7.0.1
jwt-decode: ^3.1.2
twirp-ts: ^2.5.0
unzip-stream: ^0.3.1
checksum: dbdafaad11cc573768a00f6b8a7f5109f587eb9461564ae8f15ea8fd1d6a719041df45a92ec204a43a8a1e7ce2c21d8e4229543579b89a3ca8ea30dedddf2fc9
checksum: f8197c410c2bf6985933e71bad4b441b269e5aab512c1232428d771b82aa3647e1ef0f81008130c8ab4222d3f9275ad9bd0f49e0263dfbf27c9228306e1dc779
languageName: node
linkType: hard
"@actions/cache@npm:^3.2.4":
version: 3.2.4
resolution: "@actions/cache@npm:3.2.4"
"@actions/cache@npm:^4.0.2":
version: 4.0.2
resolution: "@actions/cache@npm:4.0.2"
dependencies:
"@actions/core": ^1.10.0
"@actions/core": ^1.11.1
"@actions/exec": ^1.0.1
"@actions/glob": ^0.1.0
"@actions/http-client": ^2.1.1
@@ -45,9 +44,9 @@ __metadata:
"@azure/abort-controller": ^1.1.0
"@azure/ms-rest-js": ^2.6.0
"@azure/storage-blob": ^12.13.0
"@protobuf-ts/plugin": ^2.9.4
semver: ^6.3.1
uuid: ^3.3.3
checksum: 5bf5f7541bea4906b553440a9ffee5699e11dfb729365c6cb0bbd37e147a1a0993369fdad16bfa3e2b01ec7fa57dac66276278bfd4a389009246a75ea953e61d
checksum: 208f11238a26194f331b329bb99d50a87c1a3ccef1dbae181e5c142b3faf41715203e0c5cbc491519d3d97540a68fbd418c25fb6e16caabf76248c40867c02b4
languageName: node
linkType: hard
@@ -169,17 +168,16 @@ __metadata:
languageName: node
linkType: hard
"@actions/tool-cache@npm:^2.0.1":
version: 2.0.1
resolution: "@actions/tool-cache@npm:2.0.1"
"@actions/tool-cache@npm:^2.0.2":
version: 2.0.2
resolution: "@actions/tool-cache@npm:2.0.2"
dependencies:
"@actions/core": ^1.2.6
"@actions/core": ^1.11.1
"@actions/exec": ^1.0.0
"@actions/http-client": ^2.0.1
"@actions/io": ^1.1.1
semver: ^6.1.0
uuid: ^3.3.2
checksum: 33f6393b9b163e4af2b9759e8d37cda4f018f10ddda3643355bb8a9f92d732e5bdff089cf8036b46d181e1ef2b3210b895b2f746fdf54487afe88f1d340aa9e1
checksum: c2bab4297be752bdda9dd61f8159a201ad0d37d026134b960f1edcc9418a80387f44d1f24a070fe992c44dcfc28a152f70600e76669bb0578132789a6f37a596
languageName: node
linkType: hard
@@ -1108,14 +1106,14 @@ __metadata:
version: 0.0.0-use.local
resolution: "@docker/actions-toolkit@workspace:."
dependencies:
"@actions/artifact": ^2.1.11
"@actions/cache": ^3.2.4
"@actions/artifact": ^2.3.0
"@actions/cache": ^4.0.2
"@actions/core": ^1.11.1
"@actions/exec": ^1.1.1
"@actions/github": ^6.0.0
"@actions/http-client": ^2.2.3
"@actions/io": ^1.1.3
"@actions/tool-cache": ^2.0.1
"@actions/tool-cache": ^2.0.2
"@azure/storage-blob": ^12.15.0
"@octokit/core": ^5.1.0
"@octokit/plugin-rest-endpoint-methods": ^10.4.0
@@ -1130,7 +1128,7 @@ __metadata:
"@typescript-eslint/eslint-plugin": ^7.8.0
"@typescript-eslint/parser": ^7.8.0
async-retry: ^1.3.3
csv-parse: ^5.5.6
csv-parse: ^5.6.0
dotenv: ^16.4.5
eslint: ^8.57.0
eslint-config-prettier: ^9.1.0
@@ -1145,7 +1143,7 @@ __metadata:
jwt-decode: ^4.0.0
prettier: ^3.2.5
rimraf: ^5.0.5
semver: ^7.6.3
semver: ^7.7.1
tar-stream: ^3.1.7
tmp: ^0.2.3
ts-jest: ^29.1.2
@@ -2000,7 +1998,7 @@ __metadata:
languageName: node
linkType: hard
"@protobuf-ts/plugin-framework@npm:^2.0.7, @protobuf-ts/plugin-framework@npm:^2.9.4":
"@protobuf-ts/plugin-framework@npm:^2.9.4":
version: 2.9.4
resolution: "@protobuf-ts/plugin-framework@npm:2.9.4"
dependencies:
@@ -2010,7 +2008,7 @@ __metadata:
languageName: node
linkType: hard
"@protobuf-ts/plugin@npm:^2.2.3-alpha.1":
"@protobuf-ts/plugin@npm:^2.2.3-alpha.1, @protobuf-ts/plugin@npm:^2.9.4":
version: 2.9.4
resolution: "@protobuf-ts/plugin@npm:2.9.4"
dependencies:
@@ -3125,16 +3123,6 @@ __metadata:
languageName: node
linkType: hard
"camel-case@npm:^4.1.2":
version: 4.1.2
resolution: "camel-case@npm:4.1.2"
dependencies:
pascal-case: ^3.1.2
tslib: ^2.0.3
checksum: bcbd25cd253b3cbc69be3f535750137dbf2beb70f093bdc575f73f800acc8443d34fd52ab8f0a2413c34f1e8203139ffc88428d8863e4dfe530cfb257a379ad6
languageName: node
linkType: hard
"camelcase@npm:^5.3.1":
version: 5.3.1
resolution: "camelcase@npm:5.3.1"
@@ -3303,13 +3291,6 @@ __metadata:
languageName: node
linkType: hard
"commander@npm:^4.0.0":
version: 4.1.1
resolution: "commander@npm:4.1.1"
checksum: d7b9913ff92cae20cb577a4ac6fcc121bd6223319e54a40f51a14740a681ad5c574fd29a57da478a5f234a6fa6c52cbf0b7c641353e03c648b1ae85ba670b977
languageName: node
linkType: hard
"compress-commons@npm:^6.0.2":
version: 6.0.2
resolution: "compress-commons@npm:6.0.2"
@@ -3404,13 +3385,13 @@ __metadata:
linkType: hard
"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
version: 7.0.3
resolution: "cross-spawn@npm:7.0.3"
version: 7.0.6
resolution: "cross-spawn@npm:7.0.6"
dependencies:
path-key: ^3.1.0
shebang-command: ^2.0.0
which: ^2.0.1
checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52
checksum: 8d306efacaf6f3f60e0224c287664093fa9185680b2d195852ba9a863f85d02dcc737094c6e512175f8ee0161f9b87c73c6826034c2422e39de7d6569cf4503b
languageName: node
linkType: hard
@@ -3421,10 +3402,10 @@ __metadata:
languageName: node
linkType: hard
"csv-parse@npm:^5.5.6":
version: 5.5.6
resolution: "csv-parse@npm:5.5.6"
checksum: ee06f97f674487dc1d001b360de8ea510a41b9d971abf43bcf9c3be22c83a3634df0d3ebfbe52fd49d145077066be7ff9f25de3fc6b71aefb973099b04147a25
"csv-parse@npm:^5.6.0":
version: 5.6.0
resolution: "csv-parse@npm:5.6.0"
checksum: 173e176bdaf212bab37d0f6d39a06d039d24a1c0ee40b9f1023ebf8b36095934807deeb493c0fb58592b39b0682ccd0be5c9e8d2b137c08807e7031595ea7a51
languageName: node
linkType: hard
@@ -3650,18 +3631,6 @@ __metadata:
languageName: node
linkType: hard
"dot-object@npm:^2.1.4":
version: 2.1.4
resolution: "dot-object@npm:2.1.4"
dependencies:
commander: ^4.0.0
glob: ^7.1.5
bin:
dot-object: bin/dot-object
checksum: d56842129dead664e75089f7f610518dfe4d9548cec1b5f9b5df35ae916efe21e05a3b999f926ee73906a270c60f9a255d53968aa0becc8cf45ad7678b3dc626
languageName: node
linkType: hard
"dotenv@npm:^16.4.5":
version: 16.4.5
resolution: "dotenv@npm:16.4.5"
@@ -4694,20 +4663,6 @@ __metadata:
languageName: node
linkType: hard
"glob@npm:^7.1.5":
version: 7.2.3
resolution: "glob@npm:7.2.3"
dependencies:
fs.realpath: ^1.0.0
inflight: ^1.0.4
inherits: 2
minimatch: ^3.1.1
once: ^1.3.0
path-is-absolute: ^1.0.0
checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133
languageName: node
linkType: hard
"glob@npm:^8.0.1":
version: 8.1.0
resolution: "glob@npm:8.1.0"
@@ -6175,15 +6130,6 @@ __metadata:
languageName: node
linkType: hard
"lower-case@npm:^2.0.2":
version: 2.0.2
resolution: "lower-case@npm:2.0.2"
dependencies:
tslib: ^2.0.3
checksum: 83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010
languageName: node
linkType: hard
"lru-cache@npm:^10.2.0":
version: 10.2.0
resolution: "lru-cache@npm:10.2.0"
@@ -6312,7 +6258,7 @@ __metadata:
languageName: node
linkType: hard
"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
dependencies:
@@ -6510,16 +6456,6 @@ __metadata:
languageName: node
linkType: hard
"no-case@npm:^3.0.4":
version: 3.0.4
resolution: "no-case@npm:3.0.4"
dependencies:
lower-case: ^2.0.2
tslib: ^2.0.3
checksum: 0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c
languageName: node
linkType: hard
"node-fetch@npm:^2.6.7":
version: 2.6.7
resolution: "node-fetch@npm:2.6.7"
@@ -6805,16 +6741,6 @@ __metadata:
languageName: node
linkType: hard
"pascal-case@npm:^3.1.2":
version: 3.1.2
resolution: "pascal-case@npm:3.1.2"
dependencies:
no-case: ^3.0.4
tslib: ^2.0.3
checksum: ba98bfd595fc91ef3d30f4243b1aee2f6ec41c53b4546bfa3039487c367abaa182471dcfc830a1f9e1a0df00c14a370514fa2b3a1aacc68b15a460c31116873e
languageName: node
linkType: hard
"path-exists@npm:^4.0.0":
version: 4.0.0
resolution: "path-exists@npm:4.0.0"
@@ -6853,13 +6779,6 @@ __metadata:
languageName: node
linkType: hard
"path-to-regexp@npm:^6.2.0":
version: 6.3.0
resolution: "path-to-regexp@npm:6.3.0"
checksum: eca78602e6434a1b6799d511d375ec044e8d7e28f5a48aa5c28d57d8152fb52f3fc62fb1cfc5dfa2198e1f041c2a82ed14043d75740a2fe60e91b5089a153250
languageName: node
linkType: hard
"path-type@npm:^4.0.0":
version: 4.0.0
resolution: "path-type@npm:4.0.0"
@@ -6931,15 +6850,6 @@ __metadata:
languageName: node
linkType: hard
"prettier@npm:^2.5.1":
version: 2.8.8
resolution: "prettier@npm:2.8.8"
bin:
prettier: bin-prettier.js
checksum: b49e409431bf129dd89238d64299ba80717b57ff5a6d1c1a8b1a28b590d998a34e083fa13573bc732bb8d2305becb4c9a4407f8486c81fa7d55100eb08263cf8
languageName: node
linkType: hard
"prettier@npm:^3.2.5":
version: 3.2.5
resolution: "prettier@npm:3.2.5"
@@ -7408,12 +7318,12 @@ __metadata:
languageName: node
linkType: hard
"semver@npm:^7.6.3":
version: 7.6.3
resolution: "semver@npm:7.6.3"
"semver@npm:^7.7.1":
version: 7.7.1
resolution: "semver@npm:7.7.1"
bin:
semver: bin/semver.js
checksum: 4110ec5d015c9438f322257b1c51fe30276e5f766a3f64c09edd1d7ea7118ecbc3f379f3b69032bacf13116dc7abc4ad8ce0d7e2bd642e26b0d271b56b61a7d8
checksum: 586b825d36874007c9382d9e1ad8f93888d8670040add24a28e06a910aeebd673a2eb9e3bf169c6679d9245e66efb9057e0852e70d9daa6c27372aab1dda7104
languageName: node
linkType: hard
@@ -8018,16 +7928,6 @@ __metadata:
languageName: node
linkType: hard
"ts-poet@npm:^4.5.0":
version: 4.15.0
resolution: "ts-poet@npm:4.15.0"
dependencies:
lodash: ^4.17.15
prettier: ^2.5.1
checksum: 93490e8b5921e23ac65afdecc00b4dd53f3560d7d9c19778a3f0bd9a300ba7ca71585a989d564508313bc73e8c431413714d513ebca2d5c428f909ec36bcf6e9
languageName: node
linkType: hard
"tsconfig-paths@npm:^3.15.0":
version: 3.15.0
resolution: "tsconfig-paths@npm:3.15.0"
@@ -8047,13 +7947,6 @@ __metadata:
languageName: node
linkType: hard
"tslib@npm:^2.0.3, tslib@npm:^2.6.2":
version: 2.6.2
resolution: "tslib@npm:2.6.2"
checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad
languageName: node
linkType: hard
"tslib@npm:^2.2.0":
version: 2.6.0
resolution: "tslib@npm:2.6.0"
@@ -8061,6 +7954,13 @@ __metadata:
languageName: node
linkType: hard
"tslib@npm:^2.6.2":
version: 2.6.2
resolution: "tslib@npm:2.6.2"
checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad
languageName: node
linkType: hard
"tunnel@npm:0.0.6, tunnel@npm:^0.0.6":
version: 0.0.6
resolution: "tunnel@npm:0.0.6"
@@ -8068,30 +7968,6 @@ __metadata:
languageName: node
linkType: hard
"twirp-ts@npm:^2.5.0":
version: 2.5.0
resolution: "twirp-ts@npm:2.5.0"
dependencies:
"@protobuf-ts/plugin-framework": ^2.0.7
camel-case: ^4.1.2
dot-object: ^2.1.4
path-to-regexp: ^6.2.0
ts-poet: ^4.5.0
yaml: ^1.10.2
peerDependencies:
"@protobuf-ts/plugin": ^2.5.0
ts-proto: ^1.81.3
peerDependenciesMeta:
"@protobuf-ts/plugin":
optional: true
ts-proto:
optional: true
bin:
protoc-gen-twirp_ts: protoc-gen-twirp_ts
checksum: e7cf87d77ab4d2cd327c9d8307e82ff61afc5af56883aed5fb6ac7d57999b646945e11158be87c10f0340aeef2efde6eb896f2efd60599498f17b4f310d66e4f
languageName: node
linkType: hard
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
version: 0.4.0
resolution: "type-check@npm:0.4.0"
@@ -8363,15 +8239,6 @@ __metadata:
languageName: node
linkType: hard
"uuid@npm:^3.3.2, uuid@npm:^3.3.3":
version: 3.4.0
resolution: "uuid@npm:3.4.0"
bin:
uuid: ./bin/uuid
checksum: 58de2feed61c59060b40f8203c0e4ed7fd6f99d42534a499f1741218a1dd0c129f4aa1de797bcf822c8ea5da7e4137aa3673431a96dae729047f7aca7b27866f
languageName: node
linkType: hard
"uuid@npm:^8.3.0, uuid@npm:^8.3.2":
version: 8.3.2
resolution: "uuid@npm:8.3.2"
@@ -8589,13 +8456,6 @@ __metadata:
languageName: node
linkType: hard
"yaml@npm:^1.10.2":
version: 1.10.2
resolution: "yaml@npm:1.10.2"
checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f
languageName: node
linkType: hard
"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1":
version: 21.1.1
resolution: "yargs-parser@npm:21.1.1"