Compare commits

..

144 Commits

Author SHA1 Message Date
CrazyMax
43d331f793 Merge pull request #200 from crazy-max/docker-pull
Some checks failed
publish / publish (push) Has been cancelled
docker: parseRepoTag and pull methods
2024-04-12 11:52:04 +02:00
CrazyMax
fc4dae47b6 docker: return actual error message when pull fails
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 11:48:05 +02:00
CrazyMax
aa0228d826 docker: parseRepoTag and pull methods
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 10:58:52 +02:00
CrazyMax
02007009cc Merge pull request #288 from crazy-max/bake-auth-token
bake: handle git auth token when parsing remote definition
2024-04-12 10:57:26 +02:00
CrazyMax
329c1c75cf bake: handle git auth token when parsing remote definition
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 10:47:25 +02:00
CrazyMax
056cded622 Merge pull request #292 from docker/dependabot/npm_and_yarn/undici-5.28.4
build(deps): bump undici from 5.28.3 to 5.28.4
2024-04-12 10:05:05 +02:00
CrazyMax
c47291c3a8 Merge pull request #297 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-04-12 09:39:37 +02:00
crazy-max
b73c694210 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-12 07:39:09 +00:00
CrazyMax
84b6763d80 Merge pull request #296 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-04-12 09:38:43 +02:00
crazy-max
10b5647a43 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-12 00:15:40 +00:00
dependabot[bot]
18e4452bac build(deps): bump undici from 5.28.3 to 5.28.4
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-05 12:58:47 +00:00
CrazyMax
eb5663273f Merge pull request #289 from docker/dependabot/npm_and_yarn/multi-ad9948e606
build(deps): bump semver and @types/semver
2024-04-04 17:39:39 +02:00
dependabot[bot]
0bd3773680 build(deps): bump semver and @types/semver
Bumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together.

Updates `semver` from 7.5.4 to 7.6.0
- [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.5.4...v7.6.0)

Updates `@types/semver` from 7.5.1 to 7.5.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/semver"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-03 22:58:39 +00:00
CrazyMax
f6cafdfce1 Merge pull request #285 from crazy-max/bake-parse-opts
Some checks failed
publish / publish (push) Has been cancelled
bake: additional opts when parsing definition
2024-04-02 10:21:14 +02:00
CrazyMax
416c2914df bake: add shm-size and ulimits to target struct
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-02 09:45:56 +02:00
CrazyMax
341bae465f bake: additional opts when parsing definition
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-02 09:45:56 +02:00
CrazyMax
264a0eec2a Merge pull request #287 from crazy-max/buildx-hasAttestationType
buildx: hasAttestationType and resolveAttestationAttrs funcs
2024-04-02 09:38:05 +02:00
CrazyMax
545f7cd6ea buildx: hasAttestationType and resolveAttestationAttrs funcs
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-26 16:23:12 +01:00
CrazyMax
de2888af87 Merge pull request #286 from crazy-max/bump-buildx-docker
dockerfile: bump buildx to 0.13.1 and docker to 26.0.0
2024-03-26 11:59:14 +01:00
CrazyMax
43f61228ec dockerfile: bump buildx to 0.13.1 and docker to 26.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-26 10:14:17 +01:00
CrazyMax
8d1d731562 Merge pull request #284 from docker/dependabot/npm_and_yarn/undici-5.28.3
build(deps): bump undici from 5.27.0 to 5.28.3
2024-03-25 09:52:02 +01:00
CrazyMax
5706b95a7f Merge pull request #283 from docker/dependabot/npm_and_yarn/ip-2.0.1
build(deps): bump ip from 2.0.0 to 2.0.1
2024-03-25 09:49:11 +01:00
dependabot[bot]
5d8b7b4828 build(deps): bump undici from 5.27.0 to 5.28.3
Bumps [undici](https://github.com/nodejs/undici) from 5.27.0 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.27.0...v5.28.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 08:45:39 +00:00
dependabot[bot]
48e339fd34 build(deps): bump ip from 2.0.0 to 2.0.1
Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](https://github.com/indutny/node-ip/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 08:41:19 +00:00
CrazyMax
41cae83741 Merge pull request #282 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-03-25 09:37:39 +01:00
crazy-max
d58f77be10 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 00:21:07 +00:00
Tõnis Tiigi
a24f5c12ca Merge pull request #281 from crazy-max/cache-post-group
Some checks failed
publish / publish (push) Has been cancelled
cache: run cache.post in core.group
2024-03-15 13:28:15 -07:00
CrazyMax
e73765a5ce cache: run cache.post in core.group
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-15 18:10:31 +01:00
CrazyMax
cd14c5b580 Merge pull request #280 from crazy-max/post-cache
Some checks failed
publish / publish (push) Has been cancelled
cache: move gha cache save to post state
2024-03-15 17:14:39 +01:00
CrazyMax
9b446bf084 cache: move gha cache save to post state
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-15 10:12:08 +01:00
CrazyMax
cbcf885731 Merge pull request #277 from docker/dependabot/github_actions/peter-evans/create-pull-request-6.0.2
Some checks failed
publish / publish (push) Has been cancelled
build(deps): bump peter-evans/create-pull-request from 6.0.1 to 6.0.2
2024-03-13 19:14:10 +01:00
CrazyMax
5fba0d0374 ci: disable tests on macos-13 runner
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 19:11:50 +01:00
CrazyMax
d0e492964d ci: set version as comment for peter-evans/create-pull-request
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 19:02:35 +01:00
Tõnis Tiigi
e1fa386cb5 Merge pull request #276 from crazy-max/update-builder-inspect
builder: update inspect command parsing
2024-03-13 11:00:51 -07:00
CrazyMax
3401826b29 Merge pull request #278 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-03-13 08:15:14 +01:00
crazy-max
90c8d29f29 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-13 00:15:08 +00:00
dependabot[bot]
22e390c8ba build(deps): bump peter-evans/create-pull-request from 6.0.1 to 6.0.2
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](a4f52f8033...70a41aba78)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-12 22:31:07 +00:00
CrazyMax
70d3d9ae67 builder: enable debug for inspect cmd to display additional fields
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-12 13:35:08 +01:00
CrazyMax
9436c6ca61 builder: support features in inspect command
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-12 13:35:08 +01:00
CrazyMax
225d61b701 builder: update inspect command parsing
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-12 13:35:08 +01:00
CrazyMax
5dacef0ba8 Merge pull request #275 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-03-08 08:36:58 +01:00
crazy-max
26887092dc github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-08 00:21:27 +00:00
CrazyMax
8dc7edb368 Merge pull request #271 from docker/dependabot/npm_and_yarn/actions/http-client-2.2.1
build(deps): bump @actions/http-client from 2.2.0 to 2.2.1
2024-03-07 13:14:08 +01:00
CrazyMax
5879437e96 Merge pull request #270 from docker/dependabot/npm_and_yarn/tmp-0.2.3
build(deps): bump tmp from 0.2.2 to 0.2.3
2024-03-07 13:13:47 +01:00
CrazyMax
1c0d7a58fd Merge pull request #274 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-03-07 13:13:21 +01:00
crazy-max
e6c7da2fcd github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-07 12:08:13 +00:00
CrazyMax
a98aa046a8 Merge pull request #273 from crazy-max/test-util-keep-quotes
test: keep quotes around fields
2024-03-06 15:11:42 +01:00
CrazyMax
63adf44466 test: keep quotes around fields
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-06 15:00:15 +01:00
CrazyMax
7fb507050a Merge pull request #272 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-03-06 07:32:46 +01:00
crazy-max
8e9a04559b github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-06 00:15:45 +00:00
dependabot[bot]
224d7ab315 build(deps): bump @actions/http-client from 2.2.0 to 2.2.1
Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 2.2.0 to 2.2.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/http-client/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/http-client)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 22:57:05 +00:00
dependabot[bot]
755c685d84 build(deps): bump tmp from 0.2.2 to 0.2.3
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.2 to 0.2.3.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.2...v0.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 22:35:37 +00:00
CrazyMax
7d8b4dc669 Merge pull request #269 from crazy-max/docker-return-sock
Some checks failed
publish / publish (push) Has been cancelled
docker: return docker sock path on install
2024-02-29 16:00:52 +01:00
CrazyMax
cae64f370a docker: return docker sock path on install
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-29 15:57:50 +01:00
CrazyMax
7ed7bac5eb Merge pull request #263 from docker/dependabot/npm_and_yarn/csv-parse-5.5.5
build(deps): bump csv-parse from 5.5.3 to 5.5.5
2024-02-29 12:27:51 +01:00
CrazyMax
d86f59520c Merge pull request #264 from docker/dependabot/npm_and_yarn/tmp-0.2.2
build(deps): bump tmp from 0.2.1 to 0.2.2
2024-02-29 12:27:42 +01:00
CrazyMax
e1439ff231 Merge pull request #266 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-02-29 12:27:05 +01:00
CrazyMax
cbb7546c52 Merge pull request #267 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-02-29 12:26:40 +01:00
crazy-max
05a9e511a8 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-29 11:24:29 +00:00
crazy-max
8125540486 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-29 11:24:19 +00:00
CrazyMax
aff5040515 Merge pull request #265 from docker/dependabot/github_actions/peter-evans/create-pull-request-6.0.1
build(deps): bump peter-evans/create-pull-request from 6.0.0 to 6.0.1
2024-02-29 12:16:42 +01:00
dependabot[bot]
30cd573d15 build(deps): bump peter-evans/create-pull-request from 6.0.0 to 6.0.1
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](b1ddad2c99...a4f52f8033)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-28 22:36:11 +00:00
dependabot[bot]
3653f3bca9 build(deps): bump tmp from 0.2.1 to 0.2.2
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.1 to 0.2.2.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.1...v0.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-28 22:26:00 +00:00
dependabot[bot]
250b2120b4 build(deps): bump csv-parse from 5.5.3 to 5.5.5
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.3 to 5.5.5.
- [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.5.5/packages/csv-parse)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-28 22:25:17 +00:00
CrazyMax
7ea6ed7dab Merge pull request #258 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-02-24 15:04:31 +01:00
crazy-max
3344f7b1c8 github: update .github/buildx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-24 12:05:04 +00:00
CrazyMax
619687375a Merge pull request #257 from crazy-max/buildx-install-nocache-opt
Some checks failed
publish / publish (push) Has been cancelled
buildx: ghaNoCache opt for download/build to disable binary cache
2024-02-23 10:20:57 +01:00
CrazyMax
cbc244c2f4 buildx: ghaNoCache opt for download/build to disable binary cache
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 10:11:20 +01:00
CrazyMax
f1c76199be Merge pull request #256 from docker/dependabot/npm_and_yarn/octokit/plugin-rest-endpoint-methods-10.4.0
build(deps): bump @octokit/plugin-rest-endpoint-methods from 10.3.0 to 10.4.0
2024-02-23 09:25:36 +01:00
dependabot[bot]
b0d1226bb6 build(deps): bump @octokit/plugin-rest-endpoint-methods
Bumps [@octokit/plugin-rest-endpoint-methods](https://github.com/octokit/plugin-rest-endpoint-methods.js) from 10.3.0 to 10.4.0.
- [Release notes](https://github.com/octokit/plugin-rest-endpoint-methods.js/releases)
- [Commits](https://github.com/octokit/plugin-rest-endpoint-methods.js/compare/v10.3.0...v10.4.0)

---
updated-dependencies:
- dependency-name: "@octokit/plugin-rest-endpoint-methods"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-22 22:33:47 +00:00
CrazyMax
039e7f9c6e Merge pull request #255 from crazy-max/codecov-token
ci: set codecov token
2024-02-22 17:13:06 +01:00
CrazyMax
048d6c3fbe ci: set codecov token
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-22 17:01:50 +01:00
CrazyMax
59a3548fbb Merge pull request #254 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-02-22 07:49:24 +01:00
crazy-max
c1429fefa4 github: update .github/buildx-lab-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-22 00:13:33 +00:00
CrazyMax
1274cd2848 Merge pull request #253 from docker/dependabot/npm_and_yarn/octokit/plugin-rest-endpoint-methods-10.3.0
build(deps): bump @octokit/plugin-rest-endpoint-methods from 10.2.0 to 10.3.0
2024-02-16 08:16:06 +01:00
dependabot[bot]
48394d7948 build(deps): bump @octokit/plugin-rest-endpoint-methods
Bumps [@octokit/plugin-rest-endpoint-methods](https://github.com/octokit/plugin-rest-endpoint-methods.js) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/octokit/plugin-rest-endpoint-methods.js/releases)
- [Commits](https://github.com/octokit/plugin-rest-endpoint-methods.js/compare/v10.2.0...v10.3.0)

---
updated-dependencies:
- dependency-name: "@octokit/plugin-rest-endpoint-methods"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-15 22:23:59 +00:00
CrazyMax
aebb2a6f58 Merge pull request #252 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-02-07 14:20:23 +01:00
crazy-max
dff5cd7e88 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-07 12:07:55 +00:00
CrazyMax
7e4d49d3be Merge pull request #251 from crazy-max/bump-artifact-v4
bump actions/download-artifact to v4
2024-02-06 18:25:59 +01:00
CrazyMax
dee5356ab8 bump actions/download-artifact to v4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-06 15:15:07 +01:00
CrazyMax
2267dad53e Merge pull request #249 from crazy-max/test-check-coverage
test: use testResultsProcessor to check if all tests are skipped
2024-02-05 10:30:16 +01:00
CrazyMax
666b19e915 bump codecov/codecov-action to 4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-05 10:20:52 +01:00
CrazyMax
a5975adf41 test: use testResultsProcessor to check if all tests are skipped
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-05 10:20:52 +01:00
CrazyMax
3f7d7f75b5 Merge pull request #248 from crazy-max/fix-itg-cond
test: fix typo on itg run condition
2024-02-05 09:37:11 +01:00
CrazyMax
299d4131fa test: fix typo on itg run condition
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-05 09:34:49 +01:00
CrazyMax
ab1052f7e0 Merge pull request #247 from crazy-max/test-buildx-install
buildx: test install
2024-02-05 09:30:34 +01:00
CrazyMax
bf4bc3c036 test: move itg exclusions to jest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-05 09:26:59 +01:00
CrazyMax
49a22f7a3e buildx: test install
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-05 09:06:27 +01:00
CrazyMax
03b8464ee3 Merge pull request #246 from crazy-max/cache-class
cache class for tool caching with gha
2024-02-05 08:52:26 +01:00
CrazyMax
0a1d2c2307 cache class for tool caching with gha
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-04 18:10:00 +01:00
CrazyMax
0adac517e3 Merge pull request #244 from docker/dependabot/npm_and_yarn/actions/cache-3.2.4
build(deps): bump @actions/cache from 3.2.3 to 3.2.4
2024-02-04 11:56:15 +01:00
CrazyMax
012b121eb5 Merge pull request #245 from crazy-max/gh-workflow-run-url
github: workflowRunURL
2024-02-04 11:55:21 +01:00
CrazyMax
11cc7c697d github: workflowRunURL
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-04 11:08:41 +01:00
dependabot[bot]
0721cb2aa9 build(deps): bump @actions/cache from 3.2.3 to 3.2.4
Bumps [@actions/cache](https://github.com/actions/toolkit/tree/HEAD/packages/cache) from 3.2.3 to 3.2.4.
- [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>
2024-02-01 22:30:47 +00:00
CrazyMax
26949f5f39 Merge pull request #243 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-02-01 15:12:41 +01:00
crazy-max
32b78e4566 github: update .github/docker-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-01 13:59:24 +00:00
CrazyMax
2d240ca0fc Merge pull request #242 from docker/dependabot/github_actions/peter-evans/create-pull-request-6.0.0
build(deps): bump peter-evans/create-pull-request from 5.0.2 to 6.0.0
2024-02-01 14:58:53 +01:00
CrazyMax
8c09071628 Merge pull request #236 from docker/dependabot/npm_and_yarn/octokit/core-5.1.0
build(deps): bump @octokit/core from 5.0.2 to 5.1.0
2024-02-01 14:58:30 +01:00
CrazyMax
a9fec88f7a Merge pull request #240 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-02-01 14:58:03 +01:00
crazy-max
066518ecec github: update .github/docker-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-02-01 12:08:06 +00:00
dependabot[bot]
d63347f68f build(deps): bump peter-evans/create-pull-request from 5.0.2 to 6.0.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5.0.2 to 6.0.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](153407881e...b1ddad2c99)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 22:35:51 +00:00
CrazyMax
9282d3e13b Merge pull request #237 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-01-24 13:48:22 +01:00
crazy-max
d240b3146a github: update .github/docker-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-01-24 12:08:43 +00:00
dependabot[bot]
7063f758ae build(deps): bump @octokit/core from 5.0.2 to 5.1.0
Bumps [@octokit/core](https://github.com/octokit/core.js) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/octokit/core.js/releases)
- [Commits](https://github.com/octokit/core.js/compare/v5.0.2...v5.1.0)

---
updated-dependencies:
- dependency-name: "@octokit/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 22:42:12 +00:00
CrazyMax
ad2fe8539c Merge pull request #235 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-01-20 07:12:21 +01:00
crazy-max
5d0a08a448 github: update .github/docker-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-01-20 00:21:30 +00:00
CrazyMax
66f17c25e3 Merge pull request #234 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-01-19 13:19:53 +01:00
crazy-max
bf9adbe540 github: update .github/buildx-lab-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-01-19 12:05:43 +00:00
CrazyMax
f2a56cda90 Merge pull request #233 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2024-01-18 16:05:52 +01:00
crazy-max
a60fe56754 github: update .github/buildx-lab-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-01-18 15:05:23 +00:00
CrazyMax
9c42213ecc Merge pull request #232 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-01-18 08:13:16 +01:00
crazy-max
2e9fde295e github: update .github/docker-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-01-18 00:22:20 +00:00
CrazyMax
942777afdc Merge pull request #231 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-01-13 13:52:01 +01:00
crazy-max
d468250481 github: update .github/docker-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-01-13 12:07:29 +00:00
CrazyMax
8854de97ed Merge pull request #230 from docker/bot/buildx-releases-json
Update `.github/buildx-releases.json`
2024-01-12 09:36:33 +01:00
crazy-max
666e090b82 github: update .github/buildx-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-01-12 08:35:36 +00:00
CrazyMax
f04fa19563 Merge pull request #229 from docker/dependabot/npm_and_yarn/actions/cache-3.2.3
build(deps): bump @actions/cache from 3.2.2 to 3.2.3
2024-01-12 09:35:02 +01:00
dependabot[bot]
f8b8b5b18d build(deps): bump @actions/cache from 3.2.2 to 3.2.3
Bumps [@actions/cache](https://github.com/actions/toolkit/tree/HEAD/packages/cache) from 3.2.2 to 3.2.3.
- [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>
2024-01-11 22:16:29 +00:00
CrazyMax
f92cc3db0b Merge pull request #227 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-01-05 10:55:23 +01:00
crazy-max
032e16cf73 github: update .github/docker-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-01-05 00:21:59 +00:00
CrazyMax
a6a71daf88 Merge pull request #226 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2024-01-04 09:14:09 +01:00
crazy-max
e298150fd7 github: update .github/docker-releases.json
Signed-off-by: GitHub <noreply@github.com>
2023-12-22 12:07:48 +00:00
CrazyMax
a99fb34091 Merge pull request #225 from crazy-max/fix-bake-error
Some checks failed
publish / publish (push) Has been cancelled
bake: correctly match error when parsing definition
2023-12-21 11:44:07 +01:00
CrazyMax
3a20771080 bake: correctly match error when parsing definition
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-20 13:58:27 +01:00
CrazyMax
5430d017a5 Merge pull request #224 from neilime/fix/git-suuport-grafted-pull-refs
Some checks failed
publish / publish (push) Has been cancelled
fix(git): supports grafted pull refs
2023-12-15 16:58:16 +01:00
Emilien Escalle
e3bdf20325 fix(git): supports grafted pull refs
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
2023-12-15 16:37:02 +01:00
CrazyMax
f8ca396f63 Merge pull request #222 from docker/dependabot/github_actions/github/codeql-action-3
Some checks failed
publish / publish (push) Has been cancelled
build(deps): bump github/codeql-action from 2 to 3
2023-12-14 14:30:39 +01:00
dependabot[bot]
603112bbed build(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-13 22:08:08 +00:00
CrazyMax
31a5828eff Merge pull request #219 from docker/dependabot/npm_and_yarn/csv-parse-5.5.3
build(deps): bump csv-parse from 5.5.2 to 5.5.3
2023-12-13 10:31:17 +01:00
CrazyMax
b3bb7713d9 Merge pull request #221 from docker/bot/docker-releases-json
Update `.github/docker-releases.json`
2023-12-13 10:30:43 +01:00
crazy-max
6273173795 github: update .github/docker-releases.json
Signed-off-by: GitHub <noreply@github.com>
2023-12-13 00:21:52 +00:00
dependabot[bot]
5fd725469f build(deps): bump csv-parse from 5.5.2 to 5.5.3
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.2 to 5.5.3.
- [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.5.3/packages/csv-parse)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-12 14:03:18 +00:00
CrazyMax
7929028d80 Merge pull request #220 from crazy-max/lima-custom-images
docker(install): allow specifying custom lima images
2023-12-12 15:01:26 +01:00
CrazyMax
4995997eed docker(install): allow specifying custom lima images
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-10 19:23:48 +01:00
CrazyMax
348446a8d6 docker(install): print lima version
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-10 19:23:48 +01:00
CrazyMax
c8a1b7a531 docker(install): don't auto update brew when installing lima
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-10 15:11:39 +01:00
CrazyMax
911d146f5f Merge pull request #218 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2023-12-06 09:01:00 -08:00
crazy-max
0cc3169aa7 github: update .github/buildx-lab-releases.json
Signed-off-by: GitHub <noreply@github.com>
2023-12-06 16:55:28 +00:00
CrazyMax
1de2911b5e Merge pull request #216 from docker/bot/docker-releases-json
Some checks failed
publish / publish (push) Has been cancelled
Update `.github/docker-releases.json`
2023-12-03 15:38:34 -08:00
crazy-max
9e9fc490d2 github: update .github/docker-releases.json
Signed-off-by: GitHub <noreply@github.com>
2023-12-03 23:38:24 +00:00
CrazyMax
a45afd3161 Merge pull request #217 from hoverkraft-tech/fix/handle-detached-ref-shallow-clone
fix(git): handle detached ref in shallow clone context
2023-12-03 15:37:54 -08:00
Emilien Escalle
7d829c430b fix(git): handle detached ref in shallow clone context
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
2023-12-03 21:15:38 +01:00
CrazyMax
ddc04994d9 Merge pull request #215 from docker/bot/buildx-lab-releases-json
Update `.github/buildx-lab-releases.json`
2023-12-01 03:20:11 -08:00
crazy-max
b613f395b8 github: update .github/buildx-lab-releases.json
Signed-off-by: GitHub <noreply@github.com>
2023-12-01 11:19:42 +00:00
44 changed files with 1715 additions and 330 deletions

View File

@@ -1,43 +1,166 @@
{
"latest": {
"id": 123496811,
"tag_name": "v0.11.2-desktop.5",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.11.2-desktop.5",
"id": 137689487,
"tag_name": "v0.12.1-desktop.4",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.12.1-desktop.4",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/buildx-v0.11.2-desktop.5.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.11.2-desktop.5/checksums.txt"
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/checksums.txt"
]
},
"v0.12.1-desktop.4": {
"id": 137689487,
"tag_name": "v0.12.1-desktop.4",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.12.1-desktop.4",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/buildx-v0.12.1-desktop.4.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.4/checksums.txt"
]
},
"v0.12.1-desktop.3": {
"id": 137560191,
"tag_name": "v0.12.1-desktop.3",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.12.1-desktop.3",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/buildx-v0.12.1-desktop.3.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.1-desktop.3/checksums.txt"
]
},
"v0.12.0-desktop.2": {
"id": 132264953,
"tag_name": "v0.12.0-desktop.2",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.12.0-desktop.2",
"assets": [
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.darwin-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.darwin-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-amd64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-arm-v6",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-arm-v7",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-arm64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-ppc64le",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-riscv64",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-s390x",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-s390x.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.linux-s390x.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.windows-amd64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.windows-amd64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.windows-amd64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.windows-arm64.exe",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.windows-arm64.provenance.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/buildx-v0.12.0-desktop.2.windows-arm64.sbom.json",
"https://github.com/docker/buildx-desktop/releases/download/v0.12.0-desktop.2/checksums.txt"
]
},
"v0.12.0-desktop.1": {

View File

@@ -1,43 +1,289 @@
{
"latest": {
"id": 129855827,
"tag_name": "v0.12.0",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.12.0",
"id": 146098987,
"tag_name": "v0.13.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.13.1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/buildx-v0.12.0.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.0/checksums.txt"
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/checksums.txt"
]
},
"v0.14.0-rc1": {
"id": 150784571,
"tag_name": "v0.14.0-rc1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.14.0-rc1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/buildx-v0.14.0-rc1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.14.0-rc1/checksums.txt"
]
},
"v0.13.1": {
"id": 146098987,
"tag_name": "v0.13.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.13.1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.1/checksums.txt"
]
},
"v0.13.0": {
"id": 144928424,
"tag_name": "v0.13.0",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.13.0",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/buildx-v0.13.0.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0/checksums.txt"
]
},
"v0.13.0-rc2": {
"id": 144109355,
"tag_name": "v0.13.0-rc2",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.13.0-rc2",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/buildx-v0.13.0-rc2.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc2/checksums.txt"
]
},
"v0.13.0-rc1": {
"id": 143461510,
"tag_name": "v0.13.0-rc1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.13.0-rc1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/buildx-v0.13.0-rc1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.13.0-rc1/checksums.txt"
]
},
"v0.12.1": {
"id": 136761257,
"tag_name": "v0.12.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.12.1",
"assets": [
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.darwin-amd64",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.darwin-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.darwin-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.darwin-arm64",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.darwin-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.darwin-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-amd64",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-arm-v6",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-arm-v6.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-arm-v6.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-arm-v7",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-arm-v7.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-arm-v7.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-arm64",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-ppc64le",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-ppc64le.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-ppc64le.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-riscv64",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-riscv64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-riscv64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-s390x",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-s390x.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.linux-s390x.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.windows-amd64.exe",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.windows-amd64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.windows-amd64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.windows-arm64.exe",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.windows-arm64.provenance.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/buildx-v0.12.1.windows-arm64.sbom.json",
"https://github.com/docker/buildx/releases/download/v0.12.1/checksums.txt"
]
},
"v0.12.0": {

View File

@@ -1,8 +1,140 @@
{
"latest": {
"id": 126933125,
"tag_name": "v24.0.7",
"html_url": "https://github.com/moby/moby/releases/tag/v24.0.7",
"id": 149921469,
"tag_name": "v26.0.1",
"html_url": "https://github.com/moby/moby/releases/tag/v26.0.1",
"assets": []
},
"v26.0.1": {
"id": 149921469,
"tag_name": "v26.0.1",
"html_url": "https://github.com/moby/moby/releases/tag/v26.0.1",
"assets": []
},
"v23.0.10": {
"id": 147776752,
"tag_name": "v23.0.10",
"html_url": "https://github.com/moby/moby/releases/tag/v23.0.10",
"assets": []
},
"v26.0.0": {
"id": 145844215,
"tag_name": "v26.0.0",
"html_url": "https://github.com/moby/moby/releases/tag/v26.0.0",
"assets": []
},
"v26.0.0-rc3": {
"id": 146688910,
"tag_name": "v26.0.0-rc3",
"html_url": "https://github.com/moby/moby/releases/tag/v26.0.0-rc3",
"assets": []
},
"v25.0.5": {
"id": 147202747,
"tag_name": "v25.0.5",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.5",
"assets": []
},
"v26.0.0-rc2": {
"id": 144926580,
"tag_name": "v26.0.0-rc2",
"html_url": "https://github.com/moby/moby/releases/tag/v26.0.0-rc2",
"assets": []
},
"v25.0.4": {
"id": 144022554,
"tag_name": "v25.0.4",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.4",
"assets": []
},
"v26.0.0-rc1": {
"id": 142822675,
"tag_name": "v26.0.0-rc1",
"html_url": "https://github.com/moby/moby/releases/tag/v26.0.0-rc1",
"assets": []
},
"v25.0.3": {
"id": 140187402,
"tag_name": "v25.0.3",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.3",
"assets": []
},
"v25.0.2": {
"id": 139426676,
"tag_name": "v25.0.2",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.2",
"assets": []
},
"v24.0.9": {
"id": 139508924,
"tag_name": "v24.0.9",
"html_url": "https://github.com/moby/moby/releases/tag/v24.0.9",
"assets": []
},
"v23.0.9": {
"id": 139233691,
"tag_name": "v23.0.9",
"html_url": "https://github.com/moby/moby/releases/tag/v23.0.9",
"assets": []
},
"v24.0.8": {
"id": 138593185,
"tag_name": "v24.0.8",
"html_url": "https://github.com/moby/moby/releases/tag/v24.0.8",
"assets": []
},
"v25.0.1": {
"id": 138305010,
"tag_name": "v25.0.1",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.1",
"assets": []
},
"v25.0.0": {
"id": 137711983,
"tag_name": "v25.0.0",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.0",
"assets": []
},
"v25.0.0-rc.3": {
"id": 137464931,
"tag_name": "v25.0.0-rc.3",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.0-rc.3",
"assets": []
},
"v25.0.0-rc.2": {
"id": 136912066,
"tag_name": "v25.0.0-rc.2",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.0-rc.2",
"assets": []
},
"v25.0.0-rc.1": {
"id": 135904442,
"tag_name": "v25.0.0-rc.1",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.0-rc.1",
"assets": []
},
"v25.0.0-beta.3": {
"id": 134782996,
"tag_name": "v25.0.0-beta.3",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.0-beta.3",
"assets": []
},
"v25.0.0-beta.2": {
"id": 133659834,
"tag_name": "v25.0.0-beta.2",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.0-beta.2",
"assets": []
},
"v23.0.8": {
"id": 132317923,
"tag_name": "v23.0.8",
"html_url": "https://github.com/moby/moby/releases/tag/v23.0.8",
"assets": []
},
"v20.10.27": {
"id": 132318746,
"tag_name": "v20.10.27",
"html_url": "https://github.com/moby/moby/releases/tag/v20.10.27",
"assets": []
},
"v25.0.0-beta.1": {

View File

@@ -17,7 +17,7 @@ on:
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@6dc31870ca6c4f8489bf5a408ab38fae60f47eec
uses: crazy-max/.github/.github/workflows/releases-json.yml@fa6141aedf23596fb8bdcceab9cce8dadaa31bd9
with:
repository: docker/buildx-desktop
artifact_name: buildx-lab-releases-json
@@ -35,7 +35,7 @@ jobs:
uses: actions/checkout@v4
-
name: Download
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: buildx-lab-releases-json
path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A .
-
name: Create PR
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e # v6.0.2
with:
base: main
branch: bot/buildx-lab-releases-json

View File

@@ -17,7 +17,7 @@ on:
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@6dc31870ca6c4f8489bf5a408ab38fae60f47eec
uses: crazy-max/.github/.github/workflows/releases-json.yml@fa6141aedf23596fb8bdcceab9cce8dadaa31bd9
with:
repository: docker/buildx
artifact_name: buildx-releases-json
@@ -35,7 +35,7 @@ jobs:
uses: actions/checkout@v4
-
name: Download
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: buildx-releases-json
path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A .
-
name: Create PR
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e # v6.0.2
with:
base: main
branch: bot/buildx-releases-json

View File

@@ -28,14 +28,14 @@ jobs:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: javascript-typescript
-
name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
with:
category: "/language:javascript-typescript"

View File

@@ -17,7 +17,7 @@ on:
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@6dc31870ca6c4f8489bf5a408ab38fae60f47eec
uses: crazy-max/.github/.github/workflows/releases-json.yml@fa6141aedf23596fb8bdcceab9cce8dadaa31bd9
with:
repository: moby/moby
artifact_name: docker-releases-json
@@ -35,7 +35,7 @@ jobs:
uses: actions/checkout@v4
-
name: Download
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: docker-releases-json
path: .github
@@ -45,7 +45,7 @@ jobs:
git add -A .
-
name: Create PR
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e # v6.0.2
with:
base: main
branch: bot/docker-releases-json

View File

@@ -15,6 +15,7 @@ on:
env:
NODE_VERSION: "20"
BUILDX_VERSION: "v0.14.0-rc1"
jobs:
test:
@@ -30,12 +31,23 @@ jobs:
targets: test-coverage
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
name: Check coverage
run: |
if [ -f ./coverage/clover.xml ] && [ ! -f ./coverage/allSkipped.txt ]; then
echo "RUN_CODECOV=true" >> $GITHUB_ENV
else
echo "RUN_CODECOV=false" >> $GITHUB_ENV
fi
shell: bash
-
name: Upload coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
if: env.RUN_CODECOV == 'true'
with:
file: ./coverage/clover.xml
flags: unit
token: ${{ secrets.CODECOV_TOKEN }}
prepare-itg:
runs-on: ubuntu-latest
@@ -78,16 +90,9 @@ jobs:
test: ${{ fromJson(needs.prepare-itg.outputs.matrix) }}
os:
- ubuntu-latest
- macos-13
#- macos-13 # https://github.com/docker/actions-toolkit/issues/279
- macos-latest
- windows-latest
exclude:
- os: macos-13
test: buildx/bake.test.itg.ts
- os: macos-latest
test: buildx/bake.test.itg.ts
- os: windows-latest
test: buildx/bake.test.itg.ts
steps:
-
name: Checkout
@@ -98,17 +103,36 @@ jobs:
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
-
name: Set up Docker Buildx
if: startsWith(matrix.os, 'ubuntu')
uses: docker/setup-buildx-action@v3
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Install
run: yarn install
-
name: Test
run: yarn test:itg-coverage --runTestsByPath __tests__/${{ matrix.test }} --coverageDirectory=./coverage
run: |
yarn test:itg-coverage --runTestsByPath __tests__/${{ matrix.test }} --coverageDirectory=./coverage
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
name: Check coverage
run: |
if [ -f ./coverage/clover.xml ] && [ ! -f ./coverage/allSkipped.txt ]; then
echo "RUN_CODECOV=true" >> $GITHUB_ENV
else
echo "RUN_CODECOV=false" >> $GITHUB_ENV
fi
shell: bash
-
name: Upload coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
if: env.RUN_CODECOV == 'true'
with:
file: ./coverage/clover.xml
flags: itg
token: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -23,21 +23,40 @@ import {BakeDefinition} from '../../src/types/bake';
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;
beforeEach(() => {
jest.clearAllMocks();
});
describe('parseDefinitions', () => {
maybe('getDefinition', () => {
// prettier-ignore
test.each([
[
['https://github.com/docker/buildx.git#v0.10.4'],
'https://github.com/docker/buildx.git#v0.10.4',
['binaries-cross'],
path.join(fixturesDir, 'bake-buildx-0.10.4-binaries-cross.json')
]
])('given %p', async (sources: string[], targets: string[], out: string) => {
path.join(fixturesDir, 'bake-buildx-0.10.4-binaries-cross.json'),
false,
],
// TODO: uncomment this test case when we have access to the private repo using an access token
// [
// 'https://github.com/docker/test-docker-action.git#remote-private',
// ['default'],
// path.join(fixturesDir, 'bake-test-docker-action-remote-private.json'),
// true,
// ]
])('given %p', async (source: string, targets: string[], out: string, auth) => {
const gitAuthToken = process.env.GITHUB_TOKEN || '';
if (auth && !gitAuthToken) {
console.log(`Git auth token not available, skipping test`);
return;
}
const bake = new Bake();
const expectedDef = <BakeDefinition>JSON.parse(fs.readFileSync(out, {encoding: 'utf-8'}).trim())
expect(await bake.parseDefinitions(sources, targets)).toEqual(expectedDef);
expect(await bake.getDefinition({
source: source,
targets: targets,
githubToken: gitAuthToken,
})).toEqual(expectedDef);
});
});

View File

@@ -19,6 +19,8 @@ import * as fs from 'fs';
import * as path from 'path';
import {Bake} from '../../src/buildx/bake';
import {ExecOptions} from '@actions/exec';
import {BakeDefinition} from '../../src/types/bake';
const fixturesDir = path.join(__dirname, '..', 'fixtures');
@@ -27,31 +29,38 @@ beforeEach(() => {
jest.clearAllMocks();
});
describe('parseDefinitions', () => {
describe('getDefinition', () => {
// prettier-ignore
test.each([
[
[path.join(fixturesDir, 'bake-01.hcl')],
['validate'],
[],
{silent: true},
path.join(fixturesDir, 'bake-01-validate.json')
],
[
[path.join(fixturesDir, 'bake-02.hcl')],
['build'],
[],
undefined,
path.join(fixturesDir, 'bake-02-build.json')
],
[
[path.join(fixturesDir, 'bake-01.hcl')],
['image'],
['*.output=type=docker', '*.platform=linux/amd64'],
undefined,
path.join(fixturesDir, 'bake-01-overrides.json')
]
])('given %p', async (sources: string[], targets: string[], overrides: string[], out: string) => {
])('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())
expect(await bake.parseDefinitions(sources, targets, overrides)).toEqual(expectedDef);
expect(await bake.getDefinition({
files: files,
targets: targets,
overrides: overrides
}, execOptions)).toEqual(expectedDef);
});
});

View File

@@ -393,7 +393,71 @@ describe('parseInspect', () => {
}
],
}
]
],
[
'inspect11.txt',
{
"name": "builder",
"driver": "docker-container",
"lastActivity": new Date("2024-03-01T14:25:03.000Z"),
"nodes": [
{
"buildkit": "37657a1",
"buildkitd-flags": "--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host --allow-insecure-entitlement=network.host",
"driver-opts": [
"env.JAEGER_TRACE=localhost:6831",
"image=moby/buildkit:master",
"network=host",
"env.BUILDKIT_STEP_LOG_MAX_SIZE=10485760",
"env.BUILDKIT_STEP_LOG_MAX_SPEED=10485760",
],
"endpoint": "unix:///var/run/docker.sock",
"name": "builder0",
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6",
"status": "running",
"features": {
"Cache export": true,
"Docker exporter": true,
"Multi-platform build": true,
"OCI exporter": true,
},
"labels": {
"org.mobyproject.buildkit.worker.executor": "oci",
"org.mobyproject.buildkit.worker.hostname": "docker-desktop",
"org.mobyproject.buildkit.worker.network": "host",
"org.mobyproject.buildkit.worker.oci.process-mode": "sandbox",
"org.mobyproject.buildkit.worker.selinux.enabled": "false",
"org.mobyproject.buildkit.worker.snapshotter": "overlayfs",
},
"gcPolicy": [
{
"all": false,
"filter": [
"type==source.local",
"type==exec.cachemount",
"type==source.git.checkout"
],
"keepDuration": "48h0m0s",
"keepBytes": "488.3MiB",
},
{
"all": false,
"keepDuration": "1440h0m0s",
"keepBytes": "94.06GiB",
},
{
"all": false,
"keepBytes": "94.06GiB",
},
{
"all": true,
"keepBytes": "94.06GiB",
}
]
}
]
}
],
])('given %p', async (inspectFile, expected) => {
expect(await Builder.parseInspect(fs.readFileSync(path.join(fixturesDir, inspectFile)).toString())).toEqual(expected);
});

View File

@@ -244,6 +244,41 @@ describe('hasDockerExporter', () => {
});
});
describe('hasAttestationType', () => {
// prettier-ignore
test.each([
['type=provenance,mode=min', 'provenance', true],
['type=sbom,true', 'sbom', true],
['type=foo,bar', 'provenance', false],
])('given %p for %p returns %p', async (attrs: string, name: string, expected: boolean) => {
expect(Inputs.hasAttestationType(name, attrs)).toEqual(expected);
});
});
describe('resolveAttestationAttrs', () => {
// prettier-ignore
test.each([
[
'type=provenance,mode=min',
'type=provenance,mode=min'
],
[
'type=provenance,true',
'type=provenance,disabled=false'
],
[
'type=provenance,false',
'type=provenance,disabled=true'
],
[
'',
''
],
])('given %p', async (input: string, expected: string) => {
expect(Inputs.resolveAttestationAttrs(input)).toEqual(expected);
});
});
describe('hasGitAuthTokenSecret', () => {
// prettier-ignore
test.each([

View File

@@ -0,0 +1,42 @@
/**
* Copyright 2023 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/buildx/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 docker %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

@@ -67,6 +67,17 @@ describe('download', () => {
expect(fs.existsSync(toolPath)).toBe(true);
});
// 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);
});
// TODO: add tests for arm
// prettier-ignore
test.each([

View File

@@ -0,0 +1,40 @@
/**
* 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 path from 'path';
import {describe, expect, it} from '@jest/globals';
import {Cache} from '../src/cache';
// prettier-ignore
const tmpDir = path.join(process.env.TEMP || '/tmp', 'cache-jest');
const fixturesDir = path.join(__dirname, 'fixtures');
describe('cache', () => {
it('github-repo', async () => {
const r = (Math.random() + 1).toString(36).substring(7);
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'))).not.toEqual('');
expect(await c.find()).not.toEqual('');
});
});

View File

@@ -55,9 +55,3 @@ describe('gitContext', () => {
expect(Context.gitContext()).toEqual('https://github.com/docker/actions-toolkit.git#refs/heads/master');
});
});
describe('provenanceBuilderID', () => {
it('returns 123', async () => {
expect(Context.provenanceBuilderID()).toEqual('https://github.com/docker/actions-toolkit/actions/runs/123');
});
});

View File

@@ -0,0 +1,56 @@
/**
* 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 {describe, expect, test} from '@jest/globals';
import {Docker} from '../../src/docker/docker';
const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip;
maybe('pull', () => {
// prettier-ignore
test.each([
[
'busybox',
undefined,
],
[
'busybox:1.36',
undefined,
],
[
'busybox@sha256:7ae8447f3a7f5bccaa765926f25fc038e425cf1b2be6748727bbea9a13102094',
undefined,
],
[
'doesnotexist:foo',
`pull access denied for doesnotexist`,
],
])('pulling %p', async (image: string, err: string | undefined) => {
try {
await Docker.pull(image, true);
if (err !== undefined) {
throw new Error('Expected an error to be thrown');
}
} catch (e) {
if (err === undefined) {
throw new Error(`Expected no error, but got: ${e.message}`);
}
// eslint-disable-next-line jest/no-conditional-expect
expect(e.message).toContain(err);
}
}, 600000);
});

View File

@@ -29,7 +29,9 @@ describe('install', () => {
jest.resetModules();
process.env = {
...originalEnv,
LIMA_START_ARGS: '--cpus 4 --memory 8'
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(() => {

View File

@@ -71,3 +71,32 @@ describe('getRelease', () => {
await expect(Install.getRelease('foo')).rejects.toThrow(new Error('Cannot find Docker release foo in https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/docker-releases.json'));
});
});
describe('limaImage', () => {
const originalEnv = process.env;
beforeEach(() => {
jest.resetModules();
process.env = {
...originalEnv,
LIMA_IMAGES: `x86_64:https://cloud-images.ubuntu.com/releases/23.10/release-20231011/ubuntu-23.10-server-cloudimg-amd64.img@sha256:f6529be56da3429a56e4f5ef202bf4958201bc63f8541e478caa6e8eb712e635
aarch64:https://cloud-images.ubuntu.com/releases/23.10/release-20231011/ubuntu-23.10-server-cloudimg-arm64.img`
};
});
afterEach(() => {
process.env = originalEnv;
});
it('returns custom images', async () => {
expect(Install.limaCustomImages()).toEqual([
{
location: 'https://cloud-images.ubuntu.com/releases/23.10/release-20231011/ubuntu-23.10-server-cloudimg-amd64.img',
arch: 'x86_64',
digest: 'sha256:f6529be56da3429a56e4f5ef202bf4958201bc63f8541e478caa6e8eb712e635'
},
{
location: 'https://cloud-images.ubuntu.com/releases/23.10/release-20231011/ubuntu-23.10-server-cloudimg-arm64.img',
arch: 'aarch64',
digest: ''
}
]);
});
});

View File

@@ -0,0 +1,11 @@
{
"target": {
"default": {
"context": "https://github.com/docker/test-docker-action.git#remote-private",
"dockerfile": "Dockerfile",
"tags": [
"foo"
]
}
}
}

View File

@@ -0,0 +1,39 @@
Name: builder
Driver: docker-container
Last Activity: 2024-03-01 14:25:03 +0000 UTC
Nodes:
Name: builder0
Endpoint: unix:///var/run/docker.sock
Driver Options: env.JAEGER_TRACE="localhost:6831" image="moby/buildkit:master" network="host" env.BUILDKIT_STEP_LOG_MAX_SIZE="10485760" env.BUILDKIT_STEP_LOG_MAX_SPEED="10485760"
Status: running
BuildKit daemon flags: --debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host --allow-insecure-entitlement=network.host
BuildKit version: 37657a1
Platforms: linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
Features:
Cache export: true
Docker exporter: true
Multi-platform build: true
OCI exporter: true
Labels:
org.mobyproject.buildkit.worker.executor: oci
org.mobyproject.buildkit.worker.hostname: docker-desktop
org.mobyproject.buildkit.worker.network: host
org.mobyproject.buildkit.worker.oci.process-mode: sandbox
org.mobyproject.buildkit.worker.selinux.enabled: false
org.mobyproject.buildkit.worker.snapshotter: overlayfs
GC Policy rule#0:
All: false
Filters: type==source.local,type==exec.cachemount,type==source.git.checkout
Keep Duration: 48h0m0s
Keep Bytes: 488.3MiB
GC Policy rule#1:
All: false
Keep Duration: 1440h0m0s
Keep Bytes: 94.06GiB
GC Policy rule#2:
All: false
Keep Bytes: 94.06GiB
GC Policy rule#3:
All: true
Keep Bytes: 94.06GiB

View File

@@ -141,6 +141,76 @@ describe('ref', () => {
expect(ref).toEqual('refs/tags/8.0.0');
});
it('returns mocked detached tag ref (shallow clone)', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'grafted, HEAD, tag: 8.0.0';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
const ref = await Git.ref();
expect(ref).toEqual('refs/tags/8.0.0');
});
it('returns mocked detached pull request merge ref (shallow clone)', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'grafted, HEAD, pull/221/merge';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
const ref = await Git.ref();
expect(ref).toEqual('refs/pull/221/merge');
});
it('should throws an error when detached HEAD ref is not supported', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;
let result = '';
switch (fullCmd) {
case 'git branch --show-current':
result = '';
break;
case 'git show -s --pretty=%D':
result = 'wrong, HEAD, tag: 8.0.0';
break;
}
return Promise.resolve({
stdout: result,
stderr: '',
exitCode: 0
});
});
await expect(Git.ref()).rejects.toThrow('Cannot find detached HEAD ref in "wrong, HEAD, tag: 8.0.0"');
});
it('returns mocked detached branch ref', async () => {
jest.spyOn(Exec, 'getExecOutput').mockImplementation((cmd, args): Promise<ExecOutput> => {
const fullCmd = `${cmd} ${args?.join(' ')}`;

View File

@@ -89,6 +89,12 @@ describe('apiURL', () => {
});
});
describe('workflowRunURL', () => {
it('returns 123', async () => {
expect(GitHub.workflowRunURL).toEqual('https://github.com/docker/actions-toolkit/actions/runs/123');
});
});
describe('actionsRuntimeToken', () => {
const originalEnv = process.env;
beforeEach(() => {

View File

@@ -0,0 +1,30 @@
/**
* 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.
*/
// eslint-disable-next-line @typescript-eslint/no-var-requires
const fs = require('fs');
module.exports = results => {
const allSkipped = results.testResults.every(result => {
return result.skipped;
});
if (allSkipped) {
console.log('All tests were skipped!');
// create an empty file to signal that all tests were skipped for CI
fs.closeSync(fs.openSync('./coverage/allSkipped.txt', 'w'));
}
return results;
};

View File

@@ -191,6 +191,12 @@ ccccccccc`,
'FOO=bar'
]);
});
it('keep quotes', async () => {
const output = `type=image,"name=ghcr.io/nginxinc/nginx-unprivileged,docker.io/nginxinc/nginx-unprivileged",push-by-digest=true,name-canonical=true,push=true`;
setInput('outputs', output);
expect(Util.getInputList('outputs', {ignoreComma: true, quote: false})).toEqual([output]);
});
});
describe('asyncForEach', () => {
@@ -267,6 +273,42 @@ describe('trimSuffix', () => {
});
});
describe('hash', () => {
it('returns 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae', async () => {
expect(Util.hash('foo')).toEqual('2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae');
});
});
// https://github.com/golang/go/blob/f6b93a4c358b28b350dd8fe1780c1f78e520c09c/src/strconv/atob_test.go#L36-L58
describe('parseBool', () => {
[
{input: '', expected: false, throwsError: true},
{input: 'asdf', expected: false, throwsError: true},
{input: '0', expected: false, throwsError: false},
{input: 'f', expected: false, throwsError: false},
{input: 'F', expected: false, throwsError: false},
{input: 'FALSE', expected: false, throwsError: false},
{input: 'false', expected: false, throwsError: false},
{input: 'False', expected: false, throwsError: false},
{input: '1', expected: true, throwsError: false},
{input: 't', expected: true, throwsError: false},
{input: 'T', expected: true, throwsError: false},
{input: 'TRUE', expected: true, throwsError: false},
{input: 'true', expected: true, throwsError: false},
{input: 'True', expected: true, throwsError: false}
].forEach(({input, expected, throwsError}) => {
test(`parseBool("${input}")`, () => {
if (throwsError) {
// eslint-disable-next-line jest/no-conditional-expect
expect(() => Util.parseBool(input)).toThrow();
} else {
// eslint-disable-next-line jest/no-conditional-expect
expect(Util.parseBool(input)).toBe(expected);
}
});
});
});
// See: https://github.com/actions/toolkit/blob/a1b068ec31a042ff1e10a522d8fdf0b8869d53ca/packages/core/src/core.ts#L89
function getInputName(name: string): string {
return `INPUT_${name.replace(/ /g, '_').toUpperCase()}`;

View File

@@ -15,8 +15,8 @@
# limitations under the License.
ARG NODE_VERSION=20
ARG DOCKER_VERSION=24.0.5
ARG BUILDX_VERSION=0.11.2
ARG DOCKER_VERSION=26.0.0
ARG BUILDX_VERSION=0.14.0-rc1
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git

View File

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

View File

@@ -43,5 +43,6 @@ module.exports = {
},
collectCoverageFrom: ['src/**/{!(index.ts),}.ts'],
coveragePathIgnorePatterns: ['lib/', 'node_modules/', '__mocks__/', '__tests__/'],
testResultsProcessor: './__tests__/testResultsProcessor.ts',
verbose: true
};

View File

@@ -45,27 +45,27 @@
"registry": "https://registry.npmjs.org/"
},
"dependencies": {
"@actions/cache": "^3.2.2",
"@actions/cache": "^3.2.4",
"@actions/core": "^1.10.1",
"@actions/exec": "^1.1.1",
"@actions/github": "^6.0.0",
"@actions/http-client": "^2.2.0",
"@actions/http-client": "^2.2.1",
"@actions/io": "^1.1.3",
"@actions/tool-cache": "^2.0.1",
"@octokit/core": "^5.0.2",
"@octokit/plugin-rest-endpoint-methods": "^10.2.0",
"@octokit/core": "^5.1.0",
"@octokit/plugin-rest-endpoint-methods": "^10.4.0",
"async-retry": "^1.3.3",
"csv-parse": "^5.5.2",
"csv-parse": "^5.5.5",
"handlebars": "^4.7.8",
"jwt-decode": "^4.0.0",
"semver": "^7.5.4",
"tmp": "^0.2.1"
"semver": "^7.6.0",
"tmp": "^0.2.3"
},
"devDependencies": {
"@types/csv-parse": "^1.2.2",
"@types/js-yaml": "^4.0.5",
"@types/node": "^20.5.9",
"@types/semver": "^7.5.1",
"@types/semver": "^7.5.8",
"@types/tmp": "^0.2.3",
"@typescript-eslint/eslint-plugin": "^6.6.0",
"@typescript-eslint/parser": "^6.6.0",

View File

@@ -19,12 +19,27 @@ import {Exec} from '../exec';
import {Inputs} from './inputs';
import {Util} from '../util';
import {ExecOptions} from '@actions/exec';
import {BakeDefinition} from '../types/bake';
export interface BakeOpts {
buildx?: Buildx;
}
export interface BakeCmdOpts {
files?: Array<string>;
load?: boolean;
noCache?: boolean;
overrides?: Array<string>;
provenance?: string;
push?: boolean;
sbom?: string;
source?: string;
targets?: Array<string>;
githubToken?: string; // for auth with remote definitions on private repos
}
export class Bake {
private readonly buildx: Buildx;
@@ -32,13 +47,24 @@ export class Bake {
this.buildx = opts?.buildx || new Buildx();
}
public async parseDefinitions(sources: Array<string>, targets?: Array<string>, overrides?: Array<string>, load?: boolean, push?: boolean, workdir?: string): Promise<BakeDefinition> {
public async getDefinition(cmdOpts: BakeCmdOpts, execOptions?: ExecOptions): Promise<BakeDefinition> {
execOptions = execOptions || {ignoreReturnCode: true};
execOptions.ignoreReturnCode = true;
if (cmdOpts.githubToken) {
execOptions.env = Object.assign({}, process.env, {
BUILDX_BAKE_GIT_AUTH_TOKEN: cmdOpts.githubToken
}) as {
[key: string]: string;
};
}
const args = ['bake'];
let remoteDef;
let remoteDef: string | undefined;
const files: Array<string> = [];
const sources = [...(cmdOpts.files || []), cmdOpts.source];
if (sources) {
for (const source of sources.map(v => v.trim())) {
for (const source of sources.map(v => (v ? v.trim() : ''))) {
if (source.length == 0) {
continue;
}
@@ -47,7 +73,7 @@ export class Bake {
continue;
}
if (remoteDef) {
throw new Error(`Only one remote bake definition is allowed`);
throw new Error(`Only one remote bake definition can be defined`);
}
remoteDef = source;
}
@@ -58,31 +84,40 @@ export class Bake {
for (const file of files) {
args.push('--file', file);
}
if (overrides) {
for (const override of overrides) {
if (cmdOpts.overrides) {
for (const override of cmdOpts.overrides) {
args.push('--set', override);
}
}
if (load) {
if (cmdOpts.load) {
args.push('--load');
}
if (push) {
if (cmdOpts.noCache) {
args.push('--no-cache');
}
if (cmdOpts.provenance) {
args.push('--provenance', cmdOpts.provenance);
}
if (cmdOpts.push) {
args.push('--push');
}
if (cmdOpts.sbom) {
args.push('--sbom', cmdOpts.sbom);
}
const printCmd = await this.buildx.getCommand([...args, '--print', ...(targets || [])]);
return await Exec.getExecOutput(printCmd.command, printCmd.args, {
cwd: workdir,
ignoreReturnCode: true,
silent: true
}).then(res => {
const printCmd = await this.buildx.getCommand([...args, '--print', ...(cmdOpts.targets || [])]);
return await Exec.getExecOutput(printCmd.command, printCmd.args, execOptions).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr);
throw new Error(`cannot parse bake definitions: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
}
return <BakeDefinition>JSON.parse(res.stdout.trim());
return Bake.parseDefinition(res.stdout.trim());
});
}
public static parseDefinition(dt: string): BakeDefinition {
return <BakeDefinition>JSON.parse(dt);
}
public static hasLocalExporter(def: BakeDefinition): boolean {
return Inputs.hasExporterType('local', Bake.exporters(def));
}

View File

@@ -56,10 +56,19 @@ export class Builder {
}
public async inspect(name: string): Promise<BuilderInfo> {
// always enable debug for inspect command, so we can display additional
// fields such as features: https://github.com/docker/buildx/pull/1854
const envs = Object.assign({}, process.env, {
DEBUG: '1'
}) as {
[key: string]: string;
};
const cmd = await this.buildx.getCommand(['inspect', name]);
return await Exec.getExecOutput(cmd.command, cmd.args, {
ignoreReturnCode: true,
silent: true
silent: true,
env: envs
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.trim());
@@ -83,7 +92,7 @@ export class Builder {
continue;
}
switch (true) {
case lkey == 'name': {
case lkey == 'name':
parsingType = undefined;
if (builder.name == undefined) {
builder.name = value;
@@ -98,42 +107,36 @@ export class Builder {
currentNode = {name: value};
}
break;
}
case lkey == 'driver': {
case lkey == 'driver':
parsingType = undefined;
builder.driver = value;
break;
}
case lkey == 'last activity': {
case lkey == 'last activity':
parsingType = undefined;
builder.lastActivity = new Date(value);
break;
}
case lkey == 'endpoint': {
case lkey == 'endpoint':
parsingType = undefined;
currentNode.endpoint = value;
break;
}
case lkey == 'driver options': {
case lkey == 'driver options':
parsingType = undefined;
currentNode['driver-opts'] = (value.match(/([a-zA-Z0-9_.]+)="([^"]*)"/g) || []).map(v => v.replace(/^(.*)="(.*)"$/g, '$1=$2'));
break;
}
case lkey == 'status': {
case lkey == 'status':
parsingType = undefined;
currentNode.status = value;
break;
}
case lkey == 'flags': {
case lkey == 'buildkit daemon flags':
case lkey == 'flags': // buildx < v0.13
parsingType = undefined;
currentNode['buildkitd-flags'] = value;
break;
}
case lkey == 'buildkit': {
case lkey == 'buildkit version':
case lkey == 'buildkit': // buildx < v0.13
parsingType = undefined;
currentNode.buildkit = value;
break;
}
case lkey == 'platforms': {
parsingType = undefined;
if (!value) {
@@ -155,21 +158,28 @@ export class Builder {
currentNode.platforms = platforms.join(',');
break;
}
case lkey == 'labels': {
case lkey == 'features':
parsingType = 'features';
currentNode.features = {};
break;
case lkey == 'labels':
parsingType = 'label';
currentNode.labels = {};
break;
}
case lkey.startsWith('gc policy rule#'): {
case lkey.startsWith('gc policy rule#'):
parsingType = 'gcpolicy';
if (currentNode.gcPolicy && currentGCPolicy) {
currentNode.gcPolicy.push(currentGCPolicy);
currentGCPolicy = undefined;
}
break;
}
default: {
switch (parsingType || '') {
case 'features': {
currentNode.features = currentNode.features || {};
currentNode.features[key.trim()] = Boolean(value);
break;
}
case 'label': {
currentNode.labels = currentNode.labels || {};
currentNode.labels[key.trim()] = value;

View File

@@ -20,6 +20,8 @@ import * as core from '@actions/core';
import {parse} from 'csv-parse/sync';
import {Context} from '../context';
import {GitHub} from '../github';
import {Util} from '../util';
const parseKvp = (kvp: string): [string, string] => {
const delimiterIndex = kvp.indexOf('=');
@@ -75,24 +77,23 @@ export class Inputs {
}
public static resolveBuildSecretString(kvp: string): string {
return Inputs.resolveBuildSecret(kvp, false);
const [key, file] = Inputs.resolveBuildSecret(kvp, false);
return `id=${key},src=${file}`;
}
public static resolveBuildSecretFile(kvp: string): string {
return Inputs.resolveBuildSecret(kvp, true);
const [key, file] = Inputs.resolveBuildSecret(kvp, true);
return `id=${key},src=${file}`;
}
public static resolveBuildSecretEnv(kvp: string): string {
const [key, value] = parseKvp(kvp);
return `id=${key},env=${value}`;
}
public static resolveBuildSecret(kvp: string, file: boolean): string {
public static resolveBuildSecret(kvp: string, file: boolean): [string, string] {
const [key, _value] = parseKvp(kvp);
let value = _value;
if (file) {
if (!fs.existsSync(value)) {
throw new Error(`secret file ${value} not found`);
@@ -101,7 +102,7 @@ export class Inputs {
}
const secretFile = Context.tmpName({tmpdir: Context.tmpDir()});
fs.writeFileSync(secretFile, value);
return `id=${key},src=${secretFile}`;
return [key, secretFile];
}
public static getProvenanceInput(name: string): string {
@@ -111,7 +112,7 @@ export class Inputs {
return input;
}
try {
return core.getBooleanInput(name) ? `builder-id=${Context.provenanceBuilderID()}` : 'false';
return core.getBooleanInput(name) ? `builder-id=${GitHub.workflowRunURL}` : 'false';
} catch (err) {
// not a valid boolean, so we assume it's a string
return Inputs.resolveProvenanceAttrs(input);
@@ -120,7 +121,7 @@ export class Inputs {
public static resolveProvenanceAttrs(input: string): string {
if (!input) {
return `builder-id=${Context.provenanceBuilderID()}`;
return `builder-id=${GitHub.workflowRunURL}`;
}
// parse attributes from input
const fields = parse(input, {
@@ -138,7 +139,7 @@ export class Inputs {
}
}
// if not add builder-id attribute
return `${input},builder-id=${Context.provenanceBuilderID()}`;
return `${input},builder-id=${GitHub.workflowRunURL}`;
}
public static hasLocalExporter(exporters: string[]): boolean {
@@ -175,6 +176,45 @@ export class Inputs {
return false;
}
public static hasAttestationType(name: string, attrs: string): boolean {
const records = parse(attrs, {
delimiter: ',',
trim: true,
columns: false,
relaxColumnCount: true
});
for (const record of records) {
for (const [key, value] of record.map((chunk: string) => chunk.split('=').map(item => item.trim()))) {
if (key == 'type' && value == name) {
return true;
}
}
}
return false;
}
public static resolveAttestationAttrs(attrs: string): string {
const records = parse(attrs, {
delimiter: ',',
trim: true,
columns: false,
relaxColumnCount: true
});
const res: Array<string> = [];
for (const record of records) {
for (const attr of record) {
try {
// https://github.com/docker/buildx/blob/8abef5908705e49f7ba88ef8c957e1127b597a2a/util/buildflags/attests.go#L13-L21
const v = Util.parseBool(attr);
res.push(`disabled=${!v}`);
} catch (err) {
res.push(attr);
}
}
}
return res.join(',');
}
public static hasGitAuthTokenSecret(secrets: string[]): boolean {
for (const secret of secrets) {
if (secret.startsWith('GIT_AUTH_TOKEN=')) {

View File

@@ -14,18 +14,17 @@
* limitations under the License.
*/
import crypto from 'crypto';
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 cache from '@actions/cache';
import * as semver from 'semver';
import * as util from 'util';
import {Buildx} from './buildx';
import {Cache} from '../cache';
import {Context} from '../context';
import {Exec} from '../exec';
import {Docker} from '../docker/docker';
@@ -48,10 +47,11 @@ export class Install {
/*
* Download buildx binary from GitHub release
* @param version semver version or latest
* @param v: version semver version or latest
* @param ghaNoCache: disable binary caching in GitHub Actions cache backend
* @returns path to the buildx binary
*/
public async download(v: string): Promise<string> {
public async download(v: string, ghaNoCache?: boolean): Promise<string> {
const version: DownloadVersion = await Install.getDownloadVersion(v);
core.debug(`Install.download version: ${version.version}`);
@@ -66,7 +66,13 @@ export class Install {
throw new Error(`Invalid Buildx version "${vspec}".`);
}
const installCache = new InstallCache(version.key != 'official' ? `buildx-dl-bin-${version.key}` : 'buildx-dl-bin', vspec);
const installCache = new Cache({
htcName: version.key != 'official' ? `buildx-dl-bin-${version.key}` : 'buildx-dl-bin',
htcVersion: vspec,
baseCacheDir: path.join(Buildx.configDir, '.bin'),
cacheFile: os.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
ghaNoCache: ghaNoCache
});
const cacheFoundPath = await installCache.find();
if (cacheFoundPath) {
@@ -87,14 +93,21 @@ export class Install {
/*
* Build buildx binary from source
* @param gitContext git repo context
* @param gitContext: git repo context
* @param ghaNoCache: disable binary caching in GitHub Actions cache backend
* @returns path to the buildx binary
*/
public async build(gitContext: string): Promise<string> {
public async build(gitContext: string, ghaNoCache?: boolean): Promise<string> {
const vspec = await this.vspec(gitContext);
core.debug(`Install.build vspec: ${vspec}`);
const installCache = new InstallCache('buildx-build-bin', vspec);
const installCache = new Cache({
htcName: 'buildx-build-bin',
htcVersion: vspec,
baseCacheDir: path.join(Buildx.configDir, '.bin'),
cacheFile: os.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
ghaNoCache: ghaNoCache
});
const cacheFoundPath = await installCache.find();
if (cacheFoundPath) {
@@ -252,7 +265,7 @@ export class Install {
const [owner, repo] = baseURL.substring('https://github.com/'.length).split('/');
const key = `${owner}/${Util.trimSuffix(repo, '.git')}/${sha}`;
const hash = crypto.createHash('sha256').update(key).digest('hex');
const hash = Util.hash(key);
core.info(`Use ${hash} version spec cache key for ${key}`);
return hash;
}
@@ -301,74 +314,3 @@ export class Install {
return releases[version.version];
}
}
class InstallCache {
private readonly htcName: string;
private readonly htcVersion: string;
private readonly ghaCacheKey: string;
private readonly cacheDir: string;
private readonly cacheFile: string;
private readonly cachePath: string;
constructor(htcName: string, htcVersion: string) {
this.htcName = htcName;
this.htcVersion = htcVersion;
this.ghaCacheKey = util.format('%s-%s-%s', this.htcName, this.htcVersion, this.platform());
this.cacheDir = path.join(Buildx.configDir, '.bin', htcVersion, this.platform());
this.cacheFile = os.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
this.cachePath = path.join(this.cacheDir, this.cacheFile);
if (!fs.existsSync(this.cacheDir)) {
fs.mkdirSync(this.cacheDir, {recursive: true});
}
}
public async save(file: string): Promise<string> {
core.debug(`InstallCache.save ${file}`);
const cachePath = this.copyToCache(file);
const htcPath = await tc.cacheDir(this.cacheDir, this.htcName, this.htcVersion, this.platform());
core.debug(`InstallCache.save cached to hosted tool cache ${htcPath}`);
if (cache.isFeatureAvailable()) {
core.debug(`InstallCache.save caching ${this.ghaCacheKey} to GitHub Actions cache`);
await cache.saveCache([this.cacheDir], this.ghaCacheKey);
}
return cachePath;
}
public async find(): Promise<string> {
let htcPath = tc.find(this.htcName, this.htcVersion, this.platform());
if (htcPath) {
core.info(`Restored from hosted tool cache ${htcPath}`);
return this.copyToCache(`${htcPath}/${this.cacheFile}`);
}
if (cache.isFeatureAvailable()) {
core.debug(`GitHub Actions cache feature available`);
if (await cache.restoreCache([this.cacheDir], this.ghaCacheKey)) {
core.info(`Restored ${this.ghaCacheKey} from GitHub Actions cache`);
htcPath = await tc.cacheDir(this.cacheDir, this.htcName, this.htcVersion, this.platform());
core.info(`Restored to hosted tool cache ${htcPath}`);
return this.copyToCache(`${htcPath}/${this.cacheFile}`);
}
} else {
core.info(`GitHub Actions cache feature not available`);
}
return '';
}
private copyToCache(file: string): string {
core.debug(`Copying ${file} to ${this.cachePath}`);
fs.copyFileSync(file, this.cachePath);
fs.chmodSync(this.cachePath, '0755');
return this.cachePath;
}
private platform(): string {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const arm_version = (process.config.variables as any).arm_version;
return `${os.platform()}-${os.arch()}${arm_version ? 'v' + arm_version : ''}`;
}
}

134
src/cache.ts Normal file
View File

@@ -0,0 +1,134 @@
/**
* Copyright 2023 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 tc from '@actions/tool-cache';
import * as cache from '@actions/cache';
import * as util from 'util';
export interface CacheOpts {
htcName: string;
htcVersion: string;
baseCacheDir: string;
cacheFile: string;
ghaNoCache?: boolean;
}
export interface CachePostState {
dir: string;
key: string;
}
export class Cache {
private readonly opts: CacheOpts;
private readonly ghaCacheKey: string;
private readonly ghaNoCache?: boolean;
private readonly cacheDir: string;
private readonly cachePath: string;
private static readonly POST_CACHE_KEY = 'postCache';
constructor(opts: CacheOpts) {
this.opts = opts;
this.ghaCacheKey = util.format('%s-%s-%s', this.opts.htcName, this.opts.htcVersion, this.platform());
this.ghaNoCache = this.opts.ghaNoCache;
this.cacheDir = path.join(this.opts.baseCacheDir, this.opts.htcVersion, this.platform());
this.cachePath = path.join(this.cacheDir, this.opts.cacheFile);
if (!fs.existsSync(this.cacheDir)) {
fs.mkdirSync(this.cacheDir, {recursive: true});
}
}
public async save(file: string): Promise<string> {
core.debug(`Cache.save ${file}`);
const cachePath = this.copyToCache(file);
const htcPath = await tc.cacheDir(this.cacheDir, this.opts.htcName, this.opts.htcVersion, this.platform());
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)
);
}
return cachePath;
}
public async find(): Promise<string> {
let htcPath = tc.find(this.opts.htcName, this.opts.htcVersion, this.platform());
if (htcPath) {
core.info(`Restored from hosted tool cache ${htcPath}`);
return this.copyToCache(`${htcPath}/${this.opts.cacheFile}`);
}
if (!this.ghaNoCache && cache.isFeatureAvailable()) {
core.debug(`GitHub Actions cache feature available`);
if (await cache.restoreCache([this.cacheDir], this.ghaCacheKey)) {
core.info(`Restored ${this.ghaCacheKey} from GitHub Actions cache`);
htcPath = await tc.cacheDir(this.cacheDir, this.opts.htcName, this.opts.htcVersion, this.platform());
core.info(`Cached to hosted tool cache ${htcPath}`);
return this.copyToCache(`${htcPath}/${this.opts.cacheFile}`);
}
} else if (this.ghaNoCache) {
core.info(`GitHub Actions cache disabled`);
} else {
core.info(`GitHub Actions cache feature not available`);
}
return '';
}
public static async post(): Promise<CachePostState | undefined> {
const state = core.getState(Cache.POST_CACHE_KEY);
if (!state) {
core.info(`State not set`);
return Promise.resolve(undefined);
}
let cacheState: CachePostState;
try {
cacheState = <CachePostState>JSON.parse(state);
} catch (e) {
throw new Error(`Failed to parse cache post state: ${e}`);
}
if (!cacheState.dir || !cacheState.key) {
throw new Error(`Invalid cache post state: ${state}`);
}
core.info(`Caching ${cacheState.key} to GitHub Actions cache`);
await cache.saveCache([cacheState.dir], cacheState.key);
return cacheState;
}
private copyToCache(file: string): string {
core.debug(`Copying ${file} to ${this.cachePath}`);
fs.copyFileSync(file, this.cachePath);
return this.cachePath;
}
private platform(): string {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const arm_version = (process.config.variables as any).arm_version;
return `${os.platform()}-${os.arch()}${arm_version ? 'v' + arm_version : ''}`;
}
}

View File

@@ -144,6 +144,11 @@ os: null
arch: null
images:
{{#each customImages}}
- location: "{{location}}"
arch: "{{arch}}"
digest: "{{digest}}"
{{/each}}
- location: "https://cloud-images.ubuntu.com/releases/22.04/release-20231026/ubuntu-22.04-server-cloudimg-amd64.img"
arch: "x86_64"
digest: "sha256:054db2d88c454bb0ad8dfd8883955e3946b57d2b0bf0d023f3ade3c93cdd14e5"

View File

@@ -20,7 +20,10 @@ import path from 'path';
import * as core from '@actions/core';
import * as io from '@actions/io';
import {Context} from '../context';
import {Cache} from '../cache';
import {Exec} from '../exec';
import {Util} from '../util';
import {ConfigFile} from '../types/docker';
@@ -73,4 +76,89 @@ export class Docker {
public static async printInfo(): Promise<void> {
await Exec.exec('docker', ['info']);
}
public static parseRepoTag(image: string): {repository: string; tag: string} {
let sepPos: number;
const digestPos = image.indexOf('@');
const colonPos = image.lastIndexOf(':');
if (digestPos >= 0) {
// priority on digest
sepPos = digestPos;
} else if (colonPos >= 0) {
sepPos = colonPos;
} else {
return {
repository: image,
tag: 'latest'
};
}
const tag = image.slice(sepPos + 1);
if (tag.indexOf('/') === -1) {
return {
repository: image.slice(0, sepPos),
tag: tag
};
}
return {
repository: image,
tag: 'latest'
};
}
public static async pull(image: string, cache?: boolean): Promise<void> {
const parsedImage = Docker.parseRepoTag(image);
const repoSanitized = parsedImage.repository.replace(/[^a-zA-Z0-9.]+/g, '--');
const tagSanitized = parsedImage.tag.replace(/[^a-zA-Z0-9.]+/g, '--');
const imageCache = new Cache({
htcName: repoSanitized,
htcVersion: tagSanitized,
baseCacheDir: path.join(Docker.configDir, '.cache', 'images', repoSanitized),
cacheFile: 'image.tar'
});
let cacheFoundPath: string | undefined;
if (cache) {
cacheFoundPath = await imageCache.find();
if (cacheFoundPath) {
core.info(`Image found from cache in ${cacheFoundPath}`);
await Exec.getExecOutput(`docker`, ['load', '-i', cacheFoundPath], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(`Failed to load image from cache: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
}
});
}
}
let pulled = true;
await Exec.getExecOutput(`docker`, ['pull', image], {
ignoreReturnCode: true
}).then(res => {
pulled = false;
if (res.stderr.length > 0 && res.exitCode != 0) {
const err = res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error';
if (cacheFoundPath) {
core.warning(`Failed to pull image, using one from cache: ${err}`);
} else {
throw new Error(err);
}
}
});
if (cache && pulled) {
const imageTarPath = path.join(Context.tmpDir(), `${Util.hash(image)}.tar`);
await Exec.getExecOutput(`docker`, ['save', '-o', imageTarPath, image], {
ignoreReturnCode: true
}).then(async res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(`Failed to save image: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
} else {
const cachePath = await imageCache.save(imageTarPath);
core.info(`Image cached to ${cachePath}`);
}
});
}
}
}

View File

@@ -41,6 +41,12 @@ export interface InstallOpts {
daemonConfig?: string;
}
interface LimaImage {
location: string;
arch: string;
digest?: string;
}
export class Install {
private readonly runDir: string;
private readonly version: string;
@@ -105,7 +111,7 @@ export class Install {
return tooldir;
}
public async install(): Promise<void> {
public async install(): Promise<string> {
if (!this.toolDir) {
throw new Error('toolDir must be set. Run download first.');
}
@@ -114,16 +120,13 @@ export class Install {
}
switch (os.platform()) {
case 'darwin': {
await this.installDarwin();
break;
return await this.installDarwin();
}
case 'linux': {
await this.installLinux();
break;
return await this.installLinux();
}
case 'win32': {
await this.installWindows();
break;
return await this.installWindows();
}
default: {
throw new Error(`Unsupported platform: ${os.platform()}`);
@@ -131,13 +134,14 @@ export class Install {
}
}
private async installDarwin(): Promise<void> {
private async installDarwin(): Promise<string> {
const limaDir = path.join(os.homedir(), '.lima', this.limaInstanceName);
await io.mkdirP(limaDir);
const dockerHost = `unix://${limaDir}/docker.sock`;
// avoid brew to upgrade unrelated packages.
// avoid brew to auto update and upgrade unrelated packages.
let envs = Object.assign({}, process.env, {
HOMEBREW_NO_AUTO_UPDATE: '1',
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: '1'
}) as {
[key: string]: string;
@@ -149,6 +153,10 @@ export class Install {
});
}
await core.group('Lima version', async () => {
await Exec.exec('lima', ['--version'], {env: envs});
});
await core.group('Creating lima config', async () => {
let limaDaemonConfig = {};
if (this.daemonConfig) {
@@ -158,6 +166,7 @@ export class Install {
return new handlebars.SafeString(JSON.stringify(obj));
});
const limaCfg = handlebars.compile(limaYamlData)({
customImages: Install.limaCustomImages(),
daemonConfig: limaDaemonConfig,
dockerSock: `${limaDir}/docker.sock`,
dockerBinVersion: this._version,
@@ -182,7 +191,7 @@ export class Install {
};
await core.group('Starting lima instance', async () => {
const limaStartArgs = ['start', `--name=${this.limaInstanceName}`, '--tty=false'];
const limaStartArgs = ['start', `--name=${this.limaInstanceName}`];
if (process.env.LIMA_START_ARGS) {
limaStartArgs.push(process.env.LIMA_START_ARGS);
}
@@ -213,9 +222,11 @@ export class Install {
await Exec.exec('docker', ['context', 'create', this.contextName, '--docker', `host=${dockerHost}`]);
await Exec.exec('docker', ['context', 'use', this.contextName]);
});
return dockerHost;
}
private async installLinux(): Promise<void> {
private async installLinux(): Promise<string> {
const dockerHost = `unix://${path.join(this.runDir, 'docker.sock')}`;
await io.mkdirP(this.runDir);
@@ -294,9 +305,11 @@ EOF`,
await Exec.exec('docker', ['context', 'create', this.contextName, '--docker', `host=${dockerHost}`]);
await Exec.exec('docker', ['context', 'use', this.contextName]);
});
return dockerHost;
}
private async installWindows(): Promise<void> {
private async installWindows(): Promise<string> {
const dockerHost = 'npipe:////./pipe/setup_docker_action';
let daemonConfig = undefined;
@@ -335,6 +348,8 @@ EOF`,
await Exec.exec('docker', ['context', 'create', this.contextName, '--docker', `host=${dockerHost}`]);
await Exec.exec('docker', ['context', 'use', this.contextName]);
});
return dockerHost;
}
public async tearDown(): Promise<void> {
@@ -507,4 +522,25 @@ EOF`,
}
return releases[version];
}
public static limaCustomImages(): LimaImage[] {
const res: LimaImage[] = [];
const env = process.env.LIMA_IMAGES;
if (!env) {
return res;
}
for (const input of Util.getList(env, {ignoreComma: true, comment: '#'})) {
const archIndex = input.indexOf(':');
const arch = input.substring(0, archIndex).trim();
const digestIndex = input.indexOf('@');
const location = input.substring(archIndex + 1, digestIndex !== -1 ? digestIndex : undefined).trim();
const digest = digestIndex !== -1 ? input.substring(digestIndex + 1).trim() : '';
res.push({
location: location,
arch: arch,
digest: digest
});
}
return res;
}
}

View File

@@ -123,25 +123,32 @@ export class Git {
private static async getDetachedRef(): Promise<string> {
const res = await Git.exec(['show', '-s', '--pretty=%D']);
const refMatch = res.match(/^HEAD, (.*)$/);
// Can be "HEAD, <tagname>" or "grafted, HEAD, <tagname>"
const refMatch = res.match(/^(grafted, )?HEAD, (.*)$/);
if (!refMatch) {
if (!refMatch || !refMatch[2]) {
throw new Error(`Cannot find detached HEAD ref in "${res}"`);
}
const ref = refMatch[1].trim();
const ref = refMatch[2].trim();
// Tag refs are formatted as "tag: <tagname>"
if (ref.startsWith('tag: ')) {
return `refs/tags/${ref.split(':')[1].trim()}`;
}
// Otherwise, it's a branch "<origin>/<branch-name>, <branch-name>"
// Branch refs are formatted as "<origin>/<branch-name>, <branch-name>"
const branchMatch = ref.match(/^[^/]+\/[^/]+, (.+)$/);
if (branchMatch) {
return `refs/heads/${branchMatch[1].trim()}`;
}
// Pull request merge refs are formatted as "pull/<number>/<state>"
const prMatch = ref.match(/^pull\/\d+\/(head|merge)$/);
if (prMatch) {
return `refs/${ref}`;
}
throw new Error(`Unsupported detached HEAD ref in "${res}"`);
}

View File

@@ -49,6 +49,10 @@ export class GitHub {
return process.env.GITHUB_API_URL || 'https://api.github.com';
}
static get workflowRunURL(): string {
return `${GitHub.serverURL}/${github.context.repo.owner}/${github.context.repo.repo}/actions/runs/${github.context.runId}`;
}
static get actionsRuntimeToken(): GitHubActionsRuntimeToken | undefined {
const token = process.env['ACTIONS_RUNTIME_TOKEN'] || '';
return token ? (jwtDecode<JwtPayload>(token) as GitHubActionsRuntimeToken) : undefined;

View File

@@ -16,6 +16,8 @@
import * as core from '@actions/core';
import {Cache} from './cache';
const isPost = !!process.env['STATE_isPost'];
if (!isPost) {
core.saveState('isPost', 'true');
@@ -36,7 +38,12 @@ export async function run(main: () => Promise<void>, post?: () => Promise<void>)
} catch (e) {
core.setFailed(e.message);
}
} else if (post) {
await post();
} else {
if (post) {
await post();
}
await core.group(`Post cache`, async () => {
await Cache.post();
});
}
}

View File

@@ -39,7 +39,9 @@ export interface Target {
platforms?: Array<string>;
pull?: boolean;
secret?: Array<string>;
'shm-size'?: string;
ssh?: Array<string>;
tags?: Array<string>;
target?: string;
ulimits?: Array<string>;
}

View File

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

View File

@@ -14,27 +14,30 @@
* limitations under the License.
*/
import crypto from 'crypto';
import fs from 'fs';
import * as core from '@actions/core';
import * as io from '@actions/io';
import {parse} from 'csv-parse/sync';
export interface InputListOpts {
export interface ListOpts {
ignoreComma?: boolean;
comment?: string;
quote?: string | boolean | Buffer | null;
}
export class Util {
public static getInputList(name: string, opts?: InputListOpts): string[] {
const res: Array<string> = [];
public static getInputList(name: string, opts?: ListOpts): string[] {
return this.getList(core.getInput(name), opts);
}
const items = core.getInput(name);
if (items == '') {
public static getList(input: string, opts?: ListOpts): string[] {
const res: Array<string> = [];
if (input == '') {
return res;
}
const records = parse(items, {
const records = parse(input, {
columns: false,
relaxQuotes: true,
comment: opts?.comment,
@@ -137,4 +140,30 @@ export class Util {
public static sleep(seconds: number) {
return new Promise(resolve => setTimeout(resolve, seconds * 1000));
}
public static hash(input: string): string {
return crypto.createHash('sha256').update(input).digest('hex');
}
// https://github.com/golang/go/blob/f6b93a4c358b28b350dd8fe1780c1f78e520c09c/src/strconv/atob.go#L7-L18
public static parseBool(str: string): boolean {
switch (str) {
case '1':
case 't':
case 'T':
case 'true':
case 'TRUE':
case 'True':
return true;
case '0':
case 'f':
case 'F':
case 'false':
case 'FALSE':
case 'False':
return false;
default:
throw new Error(`parseBool syntax error: ${str}`);
}
}
}

123
yarn.lock
View File

@@ -12,9 +12,9 @@ __metadata:
languageName: node
linkType: hard
"@actions/cache@npm:^3.2.2":
version: 3.2.2
resolution: "@actions/cache@npm:3.2.2"
"@actions/cache@npm:^3.2.4":
version: 3.2.4
resolution: "@actions/cache@npm:3.2.4"
dependencies:
"@actions/core": ^1.10.0
"@actions/exec": ^1.0.1
@@ -24,9 +24,9 @@ __metadata:
"@azure/abort-controller": ^1.1.0
"@azure/ms-rest-js": ^2.6.0
"@azure/storage-blob": ^12.13.0
semver: ^6.1.0
semver: ^6.3.1
uuid: ^3.3.3
checksum: 1dc43a66596b98a7d4ad9f3a3e92b24186e28a42486fac311c7f99c2883d0387a6078d76b31c5ca3af30bb2b929c6f8e5f352e315bcce4fb9cae5d5f2f1f5fad
checksum: 5bf5f7541bea4906b553440a9ffee5699e11dfb729365c6cb0bbd37e147a1a0993369fdad16bfa3e2b01ec7fa57dac66276278bfd4a389009246a75ea953e61d
languageName: node
linkType: hard
@@ -109,6 +109,16 @@ __metadata:
languageName: node
linkType: hard
"@actions/http-client@npm:^2.2.1":
version: 2.2.1
resolution: "@actions/http-client@npm:2.2.1"
dependencies:
tunnel: ^0.0.6
undici: ^5.25.4
checksum: c51c003cd697289136c0e81c0f9b8e57a9bb1a038dc7c9a91a71c02f4ae5e27ef7d3e305aefa7c815604049209d114c06e9991a5c5eaa055508519329267f962
languageName: node
linkType: hard
"@actions/io@npm:^1.0.1, @actions/io@npm:^1.1.1, @actions/io@npm:^1.1.3":
version: 1.1.3
resolution: "@actions/io@npm:1.1.3"
@@ -1039,24 +1049,24 @@ __metadata:
version: 0.0.0-use.local
resolution: "@docker/actions-toolkit@workspace:."
dependencies:
"@actions/cache": ^3.2.2
"@actions/cache": ^3.2.4
"@actions/core": ^1.10.1
"@actions/exec": ^1.1.1
"@actions/github": ^6.0.0
"@actions/http-client": ^2.2.0
"@actions/http-client": ^2.2.1
"@actions/io": ^1.1.3
"@actions/tool-cache": ^2.0.1
"@octokit/core": ^5.0.2
"@octokit/plugin-rest-endpoint-methods": ^10.2.0
"@octokit/core": ^5.1.0
"@octokit/plugin-rest-endpoint-methods": ^10.4.0
"@types/csv-parse": ^1.2.2
"@types/js-yaml": ^4.0.5
"@types/node": ^20.5.9
"@types/semver": ^7.5.1
"@types/semver": ^7.5.8
"@types/tmp": ^0.2.3
"@typescript-eslint/eslint-plugin": ^6.6.0
"@typescript-eslint/parser": ^6.6.0
async-retry: ^1.3.3
csv-parse: ^5.5.2
csv-parse: ^5.5.5
dotenv: ^16.3.1
eslint: ^8.48.0
eslint-config-prettier: ^9.0.0
@@ -1068,8 +1078,8 @@ __metadata:
jwt-decode: ^4.0.0
prettier: ^3.0.3
rimraf: ^5.0.1
semver: ^7.5.4
tmp: ^0.2.1
semver: ^7.6.0
tmp: ^0.2.3
ts-jest: ^29.1.1
ts-node: ^10.9.1
typescript: ^5.2.2
@@ -1623,9 +1633,9 @@ __metadata:
languageName: node
linkType: hard
"@octokit/core@npm:^5.0.2":
version: 5.0.2
resolution: "@octokit/core@npm:5.0.2"
"@octokit/core@npm:^5.1.0":
version: 5.1.0
resolution: "@octokit/core@npm:5.1.0"
dependencies:
"@octokit/auth-token": ^4.0.0
"@octokit/graphql": ^7.0.0
@@ -1634,7 +1644,7 @@ __metadata:
"@octokit/types": ^12.0.0
before-after-hook: ^2.2.0
universal-user-agent: ^6.0.0
checksum: 9ce060d61577f6805901ae5c33b2764a441db119ae0cca09104adf37b119cce68b656220de56c0c5004c9c9c1c892a7fdfbe9c0b1f5e398cb359dfd39c57eca8
checksum: 170d16f5577df484116238ce04e2dbd6b45d8e96b4680fee657ae22fcafb311af8df8a14ae80610f41c1a85493c927910698019a761914ff4b0323ddbabcc9a4
languageName: node
linkType: hard
@@ -1674,10 +1684,10 @@ __metadata:
languageName: node
linkType: hard
"@octokit/openapi-types@npm:^19.0.2":
version: 19.0.2
resolution: "@octokit/openapi-types@npm:19.0.2"
checksum: 2a5d577a21674be1e004f081e973a5c68ec945063d0ff29b41f67a535a69d97f7f9ce084e313d922a815f0c361763664a43a650bf6e520548892dd2f192b88da
"@octokit/openapi-types@npm:^20.0.0":
version: 20.0.0
resolution: "@octokit/openapi-types@npm:20.0.0"
checksum: 23ff7613750f8b5790a0cbed5a2048728a7909e50d726932831044908357a932c7fc0613fb7b86430a49d31b3d03a180632ea5dd936535bfbc1176391a199e96
languageName: node
linkType: hard
@@ -1703,14 +1713,14 @@ __metadata:
languageName: node
linkType: hard
"@octokit/plugin-rest-endpoint-methods@npm:^10.2.0":
version: 10.2.0
resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.2.0"
"@octokit/plugin-rest-endpoint-methods@npm:^10.4.0":
version: 10.4.0
resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.4.0"
dependencies:
"@octokit/types": ^12.3.0
"@octokit/types": ^12.6.0
peerDependencies:
"@octokit/core": ">=5"
checksum: 3209688bf508d22a525fe32d632ff928b048688c1859c7e4bbb08bd181aa07f580b375a502e34368628103e5d5cccf7f9fb0ff0c8fd4262470ac8eeffb80ac6b
checksum: 8ee155825c7ea1dd2991a50d5b3f205988b8ea19af4bebbd91c55bb7b78c4e2215956d578671496a4a86df19ff2d5405ce37ee35c9c6c188dc9a199c045c30be
languageName: node
linkType: hard
@@ -1756,12 +1766,12 @@ __metadata:
languageName: node
linkType: hard
"@octokit/types@npm:^12.3.0":
version: 12.3.0
resolution: "@octokit/types@npm:12.3.0"
"@octokit/types@npm:^12.6.0":
version: 12.6.0
resolution: "@octokit/types@npm:12.6.0"
dependencies:
"@octokit/openapi-types": ^19.0.2
checksum: ba852690b7dcdf0d01e68b2dba79b1823322406493bfb769964e07b0ee47005d58a0241e401afb6e03f0ab51ecd7a739d6d3e4d0cc1db8b7606c36c8a2104e67
"@octokit/openapi-types": ^20.0.0
checksum: 850235f425584499a2266d5c585c1c2462ae11e25c650567142f3342cb9ce589c8c8fed87705811ca93271fd28c68e1fa77b88b67b97015d7b63d269fa46ed05
languageName: node
linkType: hard
@@ -2003,10 +2013,10 @@ __metadata:
languageName: node
linkType: hard
"@types/semver@npm:^7.5.1":
version: 7.5.1
resolution: "@types/semver@npm:7.5.1"
checksum: 2fffe938c7ac168711f245a16e1856a3578d77161ca17e29a05c3e02c7be3e9c5beefa29a3350f6c1bd982fb70aa28cc52e4845eb7d36246bcdc0377170d584d
"@types/semver@npm:^7.5.8":
version: 7.5.8
resolution: "@types/semver@npm:7.5.8"
checksum: ea6f5276f5b84c55921785a3a27a3cd37afee0111dfe2bcb3e03c31819c197c782598f17f0b150a69d453c9584cd14c4c4d7b9a55d2c5e6cacd4d66fdb3b3663
languageName: node
linkType: hard
@@ -2988,10 +2998,10 @@ __metadata:
languageName: node
linkType: hard
"csv-parse@npm:^5.5.2":
version: 5.5.2
resolution: "csv-parse@npm:5.5.2"
checksum: de2eb0c29b049783ef101b7eb843456200dc9a4fc9f4b400473bb0521b41aadb77af560cf4edc49bac65cc457b32596519860120181b26ec3b372109ddf8e8ea
"csv-parse@npm:^5.5.5":
version: 5.5.5
resolution: "csv-parse@npm:5.5.5"
checksum: 9e76b3dc3dbbf0a9b1c3529843e3891f0da23d094bdb0540a3d8f4083d00110dd545399f9cf510498def6c1fc7012cc6bc00046d281f16d705add64099467973
languageName: node
linkType: hard
@@ -4455,9 +4465,9 @@ __metadata:
linkType: hard
"ip@npm:^2.0.0":
version: 2.0.0
resolution: "ip@npm:2.0.0"
checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349
version: 2.0.1
resolution: "ip@npm:2.0.1"
checksum: d765c9fd212b8a99023a4cde6a558a054c298d640fec1020567494d257afd78ca77e37126b1a3ef0e053646ced79a816bf50621d38d5e768cdde0431fa3b0d35
languageName: node
linkType: hard
@@ -6372,7 +6382,7 @@ __metadata:
languageName: node
linkType: hard
"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2":
"rimraf@npm:^3.0.2":
version: 3.0.2
resolution: "rimraf@npm:3.0.2"
dependencies:
@@ -6492,6 +6502,17 @@ __metadata:
languageName: node
linkType: hard
"semver@npm:^7.6.0":
version: 7.6.0
resolution: "semver@npm:7.6.0"
dependencies:
lru-cache: ^6.0.0
bin:
semver: bin/semver.js
checksum: 7427f05b70786c696640edc29fdd4bc33b2acf3bbe1740b955029044f80575fc664e1a512e4113c3af21e767154a94b4aa214bf6cd6e42a1f6dba5914e0b208c
languageName: node
linkType: hard
"set-blocking@npm:^2.0.0":
version: 2.0.0
resolution: "set-blocking@npm:2.0.0"
@@ -6861,12 +6882,10 @@ __metadata:
languageName: node
linkType: hard
"tmp@npm:^0.2.1":
version: 0.2.1
resolution: "tmp@npm:0.2.1"
dependencies:
rimraf: ^3.0.0
checksum: 8b1214654182575124498c87ca986ac53dc76ff36e8f0e0b67139a8d221eaecfdec108c0e6ec54d76f49f1f72ab9325500b246f562b926f85bcdfca8bf35df9e
"tmp@npm:^0.2.3":
version: 0.2.3
resolution: "tmp@npm:0.2.3"
checksum: 73b5c96b6e52da7e104d9d44afb5d106bb1e16d9fa7d00dbeb9e6522e61b571fbdb165c756c62164be9a3bbe192b9b268c236d370a2a0955c7689cd2ae377b95
languageName: node
linkType: hard
@@ -7161,11 +7180,11 @@ __metadata:
linkType: hard
"undici@npm:^5.25.4":
version: 5.27.0
resolution: "undici@npm:5.27.0"
version: 5.28.4
resolution: "undici@npm:5.28.4"
dependencies:
"@fastify/busboy": ^2.0.0
checksum: 3acad25bfe5957aa5edc24eb160b5da7a9c67a5061e2e001929bef4bafed07d93a2accb36d407179c35b3ae56adbe89b49e1dd80d8cea9fdc44dca2037174330
checksum: a8193132d84540e4dc1895ecc8dbaa176e8a49d26084d6fbe48a292e28397cd19ec5d13bc13e604484e76f94f6e334b2bdc740d5f06a6e50c44072818d0c19f9
languageName: node
linkType: hard