Compare commits

...

38 Commits

Author SHA1 Message Date
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
17 changed files with 489 additions and 98 deletions

View File

@@ -1,43 +1,207 @@
{
"latest": {
"id": 136761257,
"tag_name": "v0.12.1",
"html_url": "https://github.com/docker/buildx/releases/tag/v0.12.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.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"
"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": {

View File

@@ -1,8 +1,26 @@
{
"latest": {
"id": 140187402,
"tag_name": "v25.0.3",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.3",
"id": 144022554,
"tag_name": "v25.0.4",
"html_url": "https://github.com/moby/moby/releases/tag/v25.0.4",
"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": {

View File

@@ -45,7 +45,7 @@ jobs:
git add -A .
-
name: Create PR
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e # v6.0.2
with:
base: main
branch: bot/buildx-lab-releases-json

View File

@@ -45,7 +45,7 @@ jobs:
git add -A .
-
name: Create PR
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e # v6.0.2
with:
base: main
branch: bot/buildx-releases-json

View File

@@ -45,7 +45,7 @@ jobs:
git add -A .
-
name: Create PR
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e # v6.0.2
with:
base: main
branch: bot/docker-releases-json

View File

@@ -89,7 +89,7 @@ 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
steps:

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

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

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

@@ -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', () => {

View File

@@ -49,17 +49,17 @@
"@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.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

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

@@ -30,6 +30,11 @@ export interface CacheOpts {
ghaNoCache?: boolean;
}
export interface CachePostState {
dir: string;
key: string;
}
export class Cache {
private readonly opts: CacheOpts;
private readonly ghaCacheKey: string;
@@ -37,6 +42,8 @@ export class Cache {
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());
@@ -56,8 +63,14 @@ export class Cache {
core.debug(`Cache.save cached to hosted tool cache ${htcPath}`);
if (!this.ghaNoCache && cache.isFeatureAvailable()) {
core.debug(`Cache.save caching ${this.ghaCacheKey} to GitHub Actions cache`);
await cache.saveCache([this.cacheDir], this.ghaCacheKey);
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;
@@ -75,7 +88,7 @@ export class Cache {
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(`Restored to hosted tool cache ${htcPath}`);
core.info(`Cached to hosted tool cache ${htcPath}`);
return this.copyToCache(`${htcPath}/${this.opts.cacheFile}`);
}
} else if (this.ghaNoCache) {
@@ -87,6 +100,26 @@ export class Cache {
return '';
}
public static async post(): Promise<CachePostState | undefined> {
const state = core.getState(Cache.POST_CACHE_KEY);
if (!state) {
core.debug(`Cache.post no state`);
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);

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

@@ -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,10 @@ 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 Cache.post();
}
}

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

@@ -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"
@@ -1043,7 +1053,7 @@ __metadata:
"@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.1.0
@@ -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
@@ -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
@@ -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