Compare commits

...

109 Commits

Author SHA1 Message Date
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
35 changed files with 1232 additions and 297 deletions

View File

@@ -1,43 +1,125 @@
{
"latest": {
"id": 132264953,
"tag_name": "v0.12.0-desktop.2",
"html_url": "https://github.com/docker/buildx-desktop/releases/tag/v0.12.0-desktop.2",
"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.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"
"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": {

View File

@@ -1,43 +1,248 @@
{
"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.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,116 @@
{
"latest": {
"id": 126933125,
"tag_name": "v24.0.7",
"html_url": "https://github.com/moby/moby/releases/tag/v24.0.7",
"id": 145844215,
"tag_name": "v26.0.0",
"html_url": "https://github.com/moby/moby/releases/tag/v26.0.0",
"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": {

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

@@ -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

@@ -30,12 +30,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 +89,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
@@ -103,12 +107,24 @@ jobs:
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,26 @@ 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) => {
],
])('given %p', async (source: string, targets: string[], out: string) => {
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
})).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,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

@@ -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.13.1
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,21 +45,21 @@
"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.3",
"csv-parse": "^5.5.5",
"handlebars": "^4.7.8",
"jwt-decode": "^4.0.0",
"semver": "^7.5.4",
"tmp": "^0.2.1"
"tmp": "^0.2.3"
},
"devDependencies": {
"@types/csv-parse": "^1.2.2",

View File

@@ -19,12 +19,25 @@ 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>;
}
export class Bake {
private readonly buildx: Buildx;
@@ -32,13 +45,17 @@ 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;
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 +64,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 +75,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(`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('=');
@@ -111,7 +113,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 +122,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 +140,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 +177,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

@@ -111,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.');
}
@@ -120,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()}`);
@@ -137,7 +134,7 @@ 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`;
@@ -225,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);
@@ -306,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;
@@ -347,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> {

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,6 +14,7 @@
* limitations under the License.
*/
import crypto from 'crypto';
import fs from 'fs';
import * as core from '@actions/core';
import * as io from '@actions/io';
@@ -139,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}`);
}
}
}

100
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,15 +1049,15 @@ __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
@@ -1056,7 +1066,7 @@ __metadata:
"@typescript-eslint/eslint-plugin": ^6.6.0
"@typescript-eslint/parser": ^6.6.0
async-retry: ^1.3.3
csv-parse: ^5.5.3
csv-parse: ^5.5.5
dotenv: ^16.3.1
eslint: ^8.48.0
eslint-config-prettier: ^9.0.0
@@ -1069,7 +1079,7 @@ __metadata:
prettier: ^3.0.3
rimraf: ^5.0.1
semver: ^7.5.4
tmp: ^0.2.1
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
@@ -2988,10 +2998,10 @@ __metadata:
languageName: node
linkType: hard
"csv-parse@npm:^5.5.3":
version: 5.5.3
resolution: "csv-parse@npm:5.5.3"
checksum: 38399bc4c61b721bc2f52a6262d6000b4e5f391e45b071f6eb087b293a02f867020f7da36adf6f56eb9fb45bd28c82cd223afd35846551fb5ad31bf3d0602961
"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:
@@ -6861,12 +6871,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 +7169,11 @@ __metadata:
linkType: hard
"undici@npm:^5.25.4":
version: 5.27.0
resolution: "undici@npm:5.27.0"
version: 5.28.3
resolution: "undici@npm:5.28.3"
dependencies:
"@fastify/busboy": ^2.0.0
checksum: 3acad25bfe5957aa5edc24eb160b5da7a9c67a5061e2e001929bef4bafed07d93a2accb36d407179c35b3ae56adbe89b49e1dd80d8cea9fdc44dca2037174330
checksum: fa1e65aff896c5e2ee23637b632e306f9e3a2b32a3dc0b23ea71e5555ad350bcc25713aea894b3dccc0b7dc2c5e92a5a58435ebc2033b731a5524506f573dfd2
languageName: node
linkType: hard