Compare commits

...
664 Commits
Author SHA1 Message Date
CrazyMax bb05f3f551 Merge pull request #580 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.92.0
build(deps): bump @docker/actions-toolkit from 0.91.0 to 0.92.0
2026-07-02 11:21:40 +02:00
github-actions[bot] 321c814cb5 [dependabot skip] chore: update generated content 2026-07-02 09:19:04 +00:00
dependabot[bot] b9a36ef79b build(deps): bump @docker/actions-toolkit from 0.91.0 to 0.92.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.91.0 to 0.92.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.91.0...v0.92.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.92.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 09:18:08 +00:00
CrazyMax ebeab24128 Merge pull request #570 from docker/dependabot/npm_and_yarn/undici-6.27.0
build(deps): bump undici from 6.25.0 to 6.27.0
2026-07-02 11:12:54 +02:00
github-actions[bot] 5c7b8ae78c [dependabot skip] chore: update generated content 2026-07-02 09:11:25 +00:00
dependabot[bot] 037e618cd9 build(deps): bump undici from 6.25.0 to 6.27.0
Bumps [undici](https://github.com/nodejs/undici) from 6.25.0 to 6.27.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.25.0...v6.27.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 09:10:31 +00:00
CrazyMax 66080e5802 Merge pull request #577 from docker/dependabot/npm_and_yarn/sigstore-4.1.1
build(deps): bump sigstore from 4.1.0 to 4.1.1
2026-07-02 11:08:43 +02:00
CrazyMax 409aef0aa3 Merge pull request #562 from docker/dependabot/npm_and_yarn/js-yaml-4.2.0
build(deps): bump js-yaml from 4.1.1 to 5.2.0
2026-07-02 11:08:14 +02:00
dependabot[bot] 49c6e42949 build(deps): bump sigstore from 4.1.0 to 4.1.1
Bumps [sigstore](https://github.com/sigstore/sigstore-js) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@4.1.0...sigstore@4.1.1)

---
updated-dependencies:
- dependency-name: sigstore
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 09:06:38 +00:00
github-actions[bot] 2211273e81 [dependabot skip] chore: update generated content 2026-07-02 09:06:38 +00:00
dependabot[bot] 1c203bbd66 build(deps): bump js-yaml from 4.1.1 to 5.2.0
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 5.2.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...5.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 09:05:40 +00:00
CrazyMax bdb9e8c4a3 Merge pull request #576 from docker/dependabot/npm_and_yarn/sigstore/verify-3.1.1
build(deps): bump @sigstore/verify from 3.1.0 to 3.1.1
2026-07-02 11:04:46 +02:00
CrazyMax a1ef928785 Merge pull request #569 from docker/dependabot/npm_and_yarn/vite-7.3.5
build(deps): bump vite from 7.3.2 to 7.3.6
2026-07-02 11:04:22 +02:00
CrazyMax 2b9ccacd29 Merge pull request #573 from docker/dependabot/npm_and_yarn/sigstore/core-3.2.1
build(deps): bump @sigstore/core from 3.1.0 to 3.2.1
2026-07-02 11:03:35 +02:00
CrazyMax 30f516a36d Merge pull request #579 from docker/dependabot/github_actions/codecov/codecov-action-7.0.0
build(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0
2026-07-02 11:02:23 +02:00
CrazyMax 7ed1344edc Merge pull request #578 from docker/dependabot/github_actions/actions/checkout-7.0.0
build(deps): bump actions/checkout from 6.0.3 to 7.0.0
2026-07-02 11:01:57 +02:00
dependabot[bot] 62a375d019 build(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.1 to 7.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/e79a6962e0d4c0c17b229090214935d2e33f8354...fb8b3582c8e4def4969c97caa2f19720cb33a72f)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 09:00:58 +00:00
dependabot[bot] 911fd9be4b build(deps): bump actions/checkout from 6.0.3 to 7.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:59:27 +00:00
CrazyMax 425c29b574 Merge pull request #560 from docker/dependabot/github_actions/docker/setup-qemu-action-4.1.0
build(deps): bump docker/setup-qemu-action from 4.0.0 to 4.1.0
2026-07-02 10:58:28 +02:00
CrazyMax 19a5ebdfd5 Merge pull request #567 from docker/dependabot/github_actions/github/codeql-action-4.36.2
build(deps): bump github/codeql-action from 4.36.0 to 4.36.2
2026-07-02 10:57:53 +02:00
CrazyMax 0727322ec8 Merge pull request #571 from docker/dependabot/github_actions/crazy-max-dot-github-cd60547fee
build(deps): bump the crazy-max-dot-github group across 1 directory with 3 updates
2026-07-02 10:57:30 +02:00
CrazyMax e929e9255c Merge pull request #564 from docker/dependabot/github_actions/actions/checkout-6.0.3
build(deps): bump actions/checkout from 6.0.2 to 6.0.3
2026-07-02 10:57:04 +02:00
dependabot[bot] ebf3b1c616 build(deps): bump the crazy-max-dot-github group across 1 directory with 3 updates
Bumps the crazy-max-dot-github group with 3 updates in the / directory: [crazy-max/.github/.github/actions/install-k3s](https://github.com/crazy-max/.github), [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/actions/install-k3s` from 1.8.0 to 1.10.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/9ba6e6f9450baf3b1237f8035c1fdc45932510bd...46267a6e61cd56aac2fc79943df180152f4c89d6)

Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.8.0 to 1.10.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/9ba6e6f9450baf3b1237f8035c1fdc45932510bd...46267a6e61cd56aac2fc79943df180152f4c89d6)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.8.0 to 1.10.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/9ba6e6f9450baf3b1237f8035c1fdc45932510bd...46267a6e61cd56aac2fc79943df180152f4c89d6)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/actions/install-k3s
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 04:42:29 +00:00
dependabot[bot] 07480ddaf5 build(deps): bump @sigstore/verify from 3.1.0 to 3.1.1
Bumps [@sigstore/verify](https://github.com/sigstore/sigstore-js) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/verify@3.1.1)

---
updated-dependencies:
- dependency-name: "@sigstore/verify"
  dependency-version: 3.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 01:21:02 +00:00
CrazyMax 7b0a0dd78a Merge pull request #575 from crazy-max/fix-yarn-preapprove-actions-toolkit
chore: allow actions-toolkit to bypass yarn age gate
2026-07-01 12:50:03 +02:00
CrazyMax a0e446b4dd Merge pull request #574 from crazy-max/dependabot-skip-update-dist
dependabot: skip for update-dist commits
2026-07-01 12:50:00 +02:00
CrazyMax 2bc18585f7 chore: allow actions-toolkit to bypass yarn age gate
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-01 11:43:33 +02:00
CrazyMax bf6e25472a dependabot: skip for update-dist commits
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-30 11:09:22 +02:00
dependabot[bot] fbfc14c547 build(deps): bump vite from 7.3.2 to 7.3.6
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.2 to 7.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 14:18:51 +00:00
github-actions[bot] 49c98a8139 chore: update generated content 2026-06-29 14:17:40 +00:00
dependabot[bot] 03a2247451 build(deps): bump @sigstore/core from 3.1.0 to 3.2.1
Bumps [@sigstore/core](https://github.com/sigstore/sigstore-js) from 3.1.0 to 3.2.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/core@3.2.1)

---
updated-dependencies:
- dependency-name: "@sigstore/core"
  dependency-version: 3.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 14:16:42 +00:00
CrazyMax bed9a68598 Merge pull request #572 from crazy-max/fix-esbuild
preserve names in esbuild bundle
2026-06-29 16:15:09 +02:00
CrazyMax c6e2526453 preserve names in esbuild bundle
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-29 15:03:17 +02:00
temenuzhka-thede c887d9748d Merge pull request #568 from docker/sec-cli/npm-ci-20260612-184913
fix: replace npm install with npm ci (20260612-184913)
2026-06-12 14:10:56 -05:00
securityeng-bot[bot] cfdae34ead fix: use lockfile-aware install commands 2026-06-12 18:49:15 +00:00
dependabot[bot] 40445d9e77 build(deps): bump github/codeql-action from 4.36.0 to 4.36.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.0 to 4.36.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/7211b7c8077ea37d8641b6271f6a365a22a5fbfa...8aad20d150bbac5944a9f9d289da16a4b0d87c1e)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-08 04:44:10 +00:00
dependabot[bot] 0d5ecf6801 build(deps): bump actions/checkout from 6.0.2 to 6.0.3
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-04 04:43:21 +00:00
dependabot[bot] 86a837e8bd build(deps): bump docker/setup-qemu-action from 4.0.0 to 4.1.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/ce360397dd3f832beb865e1373c09c0e9f86d70a...06116385d9baf250c9f4dcb4858b16962ea869c3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-29 04:56:38 +00:00
CrazyMax 22b48a429f Merge pull request #559 from crazy-max/yarn-update
update yarn to 4.15.0
2026-05-28 18:44:17 +02:00
CrazyMax 5858c5d38b update yarn to 4.15.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-28 15:13:38 +02:00
CrazyMax fa8b94d584 Merge pull request #557 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.91.0
build(deps): bump @docker/actions-toolkit from 0.90.0 to 0.91.0
2026-05-28 10:42:30 +02:00
github-actions[bot] 76e60acf32 chore: update generated content 2026-05-28 08:29:20 +00:00
dependabot[bot] 716a6ed7ad build(deps): bump @docker/actions-toolkit from 0.90.0 to 0.91.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.90.0 to 0.91.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.90.0...v0.91.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.91.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 08:28:25 +00:00
CrazyMax 76e58290b2 Merge pull request #551 from docker/dependabot/npm_and_yarn/actions/core-3.0.1
build(deps): bump @actions/core from 3.0.0 to 3.0.1
2026-05-28 10:26:05 +02:00
github-actions[bot] 4c56ab6283 chore: update generated content 2026-05-28 08:24:44 +00:00
dependabot[bot] 7d85158e51 build(deps): bump @actions/core from 3.0.0 to 3.0.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 3.0.0 to 3.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 08:23:48 +00:00
CrazyMax 8508f00982 Merge pull request #556 from docker/dependabot/npm_and_yarn/tmp-0.2.7
build(deps): bump tmp from 0.2.5 to 0.2.7
2026-05-28 10:21:51 +02:00
CrazyMax b0c3aa1759 Merge pull request #554 from docker/dependabot/github_actions/docker/build-push-action-7.2.0
build(deps): bump docker/build-push-action from 7.1.0 to 7.2.0
2026-05-28 10:21:21 +02:00
CrazyMax 25434de062 Merge pull request #552 from docker/dependabot/github_actions/github/codeql-action-4.36.0
build(deps): bump github/codeql-action from 4.35.5 to 4.36.0
2026-05-28 10:20:57 +02:00
CrazyMax a7757fd670 Merge pull request #555 from docker/sec-cli/ignore-scripts-fix-20260527-193412
ci: add ignore-scripts to Node package manager config (20260527-193412)
2026-05-28 10:20:21 +02:00
CrazyMax e7950c2a5e Merge pull request #558 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-3.1.0
build(deps): bump crazy-max/ghaction-dump-context from 3.0.0 to 3.1.0
2026-05-28 10:20:05 +02:00
CrazyMax 7fafe247d6 Merge pull request #553 from docker/dependabot/github_actions/docker/bake-action-7.2.0
build(deps): bump docker/bake-action from 7.1.0 to 7.2.0
2026-05-28 10:19:38 +02:00
dependabot[bot] cffcaa17d0 build(deps): bump docker/bake-action from 7.1.0 to 7.2.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/a66e1c87e2eca0503c343edf1d208c716d54b8a8...6614cfa25eff9a0b2b2697efb0b6159e7680d584)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 07:59:42 +00:00
dependabot[bot] 9099559035 build(deps): bump crazy-max/ghaction-dump-context from 3.0.0 to 3.1.0
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/5d2753e7076f4568c7729971e25231f32147e2d8...4d9eeaf15dd59aa4346919ea84a84ccf514b4db8)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 04:54:17 +00:00
github-actions[bot] 0772d51c0d chore: update generated content 2026-05-28 03:00:54 +00:00
dependabot[bot] 8b5bc381e6 build(deps): bump tmp from 0.2.5 to 0.2.7
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 02:59:56 +00:00
securityeng-bot[bot] e43e67c8fb ci: enforce ignore-scripts policy for Node package managers 2026-05-27 20:05:03 +00:00
dependabot[bot] 61caaf58f9 build(deps): bump docker/build-push-action from 7.1.0 to 7.2.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/bcafcacb16a39f128d818304e6c9c0c18556b85f...f9f3042f7e2789586610d6e8b85c8f03e5195baf)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 05:58:33 +00:00
dependabot[bot] a7ea3685d3 build(deps): bump github/codeql-action from 4.35.5 to 4.36.0
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.5 to 4.36.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/9e0d7b8d25671d64c341c19c0152d693099fb5ba...7211b7c8077ea37d8641b6271f6a365a22a5fbfa)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 05:57:56 +00:00
CrazyMax d7f5e7f509 Merge pull request #489 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.80.0
build(deps): bump @docker/actions-toolkit from 0.79.0 to 0.90.0
2026-05-22 17:20:30 +02:00
github-actions[bot] 92bc5c9777 chore: update generated content 2026-05-22 14:44:02 +00:00
dependabot[bot] da11e35abe build(deps): bump @docker/actions-toolkit from 0.79.0 to 0.90.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.79.0 to 0.90.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.79.0...v0.90.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.80.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 14:43:07 +00:00
CrazyMax f021e162ef Merge pull request #492 from docker/dependabot/npm_and_yarn/undici-6.24.1
build(deps): bump undici from 6.23.0 to 6.25.0
2026-05-22 16:27:32 +02:00
github-actions[bot] b5af94fab7 chore: update generated content 2026-05-22 14:25:23 +00:00
dependabot[bot] 16ad9776a8 build(deps): bump undici from 6.23.0 to 6.25.0
Bumps [undici](https://github.com/nodejs/undici) from 6.23.0 to 6.25.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.23.0...v6.25.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 14:24:28 +00:00
CrazyMax d7a12d7df8 Merge pull request #495 from docker/dependabot/npm_and_yarn/glob-10.5.0
build(deps): bump glob from 10.3.12 to 13.0.6
2026-05-22 16:22:24 +02:00
dependabot[bot] 28ff27de4e build(deps): bump glob from 10.3.12 to 13.0.6
Bumps [glob](https://github.com/isaacs/node-glob) from 10.3.12 to 13.0.6.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.3.12...v13.0.6)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 14:13:55 +00:00
CrazyMax daf436b50e Merge pull request #496 from docker/dependabot/npm_and_yarn/fast-xml-parser-5.5.7
build(deps): bump fast-xml-parser from 5.4.2 to 5.8.0
2026-05-22 16:11:47 +02:00
github-actions[bot] 9725348367 chore: update generated content 2026-05-22 14:02:14 +00:00
dependabot[bot] 9c83c3bbf7 build(deps): bump fast-xml-parser from 5.4.2 to 5.8.0
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.4.2 to 5.8.0.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.4.2...v5.8.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 14:01:21 +00:00
CrazyMax a7bff31e0d Merge pull request #537 from docker/dependabot/npm_and_yarn/postcss-8.5.10
build(deps): bump postcss from 8.5.6 to 8.5.10
2026-05-22 15:59:07 +02:00
CrazyMax 4cbf3ad466 Merge pull request #540 from docker/dependabot/npm_and_yarn/fast-xml-builder-1.2.0
build(deps): bump fast-xml-builder from 1.0.0 to 1.2.0
2026-05-22 15:58:35 +02:00
github-actions[bot] 86409a147a chore: update generated content 2026-05-22 13:56:13 +00:00
dependabot[bot] d5748ef319 build(deps): bump fast-xml-builder from 1.0.0 to 1.2.0
Bumps [fast-xml-builder](https://github.com/NaturalIntelligence/fast-xml-builder) from 1.0.0 to 1.2.0.
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-builder/blob/main/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-builder/commits/v1.2.0)

---
updated-dependencies:
- dependency-name: fast-xml-builder
  dependency-version: 1.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 13:55:17 +00:00
CrazyMax 2616d3b7dc Merge pull request #547 from docker/dependabot/npm_and_yarn/brace-expansion-5.0.6
build(deps): bump brace-expansion from 2.0.1 to 5.0.6
2026-05-22 15:53:18 +02:00
CrazyMax 5570e8d82c Merge pull request #545 from docker/dependabot/npm_and_yarn/tar-7.5.15
build(deps): bump tar from 6.2.1 to 7.5.15
2026-05-22 15:52:52 +02:00
CrazyMax ec910e868e Merge pull request #542 from docker/dependabot/github_actions/crazy-max-dot-github-6667ecc476
build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-05-22 15:52:21 +02:00
CrazyMax 483dcbe06a Merge pull request #543 from docker/dependabot/github_actions/crazy-max/dot-github-1.8.0
build(deps): bump crazy-max/.github from 1.7.1 to 1.8.0
2026-05-22 15:52:01 +02:00
CrazyMax 9c84435d67 Merge pull request #544 from docker/dependabot/github_actions/actions/create-github-app-token-3.2.0
build(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0
2026-05-22 15:48:09 +02:00
CrazyMax cbee281ad8 Merge pull request #546 from docker/dependabot/github_actions/github/codeql-action-4.35.5
build(deps): bump github/codeql-action from 4.35.2 to 4.35.5
2026-05-22 15:31:01 +02:00
CrazyMax 3d9642b46d Merge pull request #548 from docker/dependabot/github_actions/codecov/codecov-action-6.0.1
build(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1
2026-05-22 15:30:30 +02:00
dependabot[bot] 9ccc9e96da build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.7.1 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.7.1 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 04:48:30 +00:00
CrazyMax fe05060e96 Merge pull request #549 from crazy-max/zizmor-fixes
ci: restrict update-dist GitHub App token scope
2026-05-21 14:58:05 +02:00
CrazyMax d717e33d65 ci: restrict update-dist GitHub App token scope
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-21 14:27:36 +02:00
dependabot[bot] ad0d96e8d5 build(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/57e3a136b779b570ffcdbf80b3bdc90e7fab3de2...e79a6962e0d4c0c17b229090214935d2e33f8354)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 09:20:55 +00:00
github-actions[bot] 4762b7dac3 chore: update generated content 2026-05-18 16:49:27 +00:00
dependabot[bot] 2cf617d9a1 build(deps): bump brace-expansion from 2.0.1 to 5.0.6
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 2.0.1 to 5.0.6.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v2.0.1...v5.0.6)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 16:48:31 +00:00
dependabot[bot] 96e6722598 build(deps): bump github/codeql-action from 4.35.2 to 4.35.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.2 to 4.35.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/95e58e9a2cdfd71adc6e0353d5c52f41a045d225...9e0d7b8d25671d64c341c19c0152d693099fb5ba)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 06:07:17 +00:00
dependabot[bot] 1881fe762c build(deps): bump tar from 6.2.1 to 7.5.15
Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.1 to 7.5.15.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.15)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 00:47:38 +00:00
dependabot[bot] c5b5f811df build(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Changelog](https://github.com/actions/create-github-app-token/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/create-github-app-token/compare/1b10c78c7865c340bc4f6099eb2f838309f1e8c3...bcd2ba49218906704ab6c1aa796996da409d3eb1)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-14 04:45:44 +00:00
dependabot[bot] 79eb1053a4 build(deps): bump crazy-max/.github from 1.7.1 to 1.8.0
Bumps [crazy-max/.github](https://github.com/crazy-max/.github) from 1.7.1 to 1.8.0.
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

---
updated-dependencies:
- dependency-name: crazy-max/.github
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-12 09:48:29 +00:00
CrazyMax a0c73a10bb Merge pull request #530 from docker/dependabot/github_actions/github/codeql-action-4.35.2
build(deps): bump github/codeql-action from 4.35.1 to 4.35.2
2026-04-27 09:54:40 +02:00
CrazyMax 1d938f51c0 Merge pull request #531 from docker/dependabot/github_actions/actions/setup-node-6.4.0
build(deps): bump actions/setup-node from 6.3.0 to 6.4.0
2026-04-27 09:54:25 +02:00
CrazyMax d027ca77cb Merge pull request #532 from docker/dependabot/github_actions/crazy-max-dot-github-6f136b1f9e
build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-04-27 09:54:08 +02:00
CrazyMax 2147210a42 Merge pull request #534 from docker/dependabot/github_actions/crazy-max/dot-github-1.7.1
build(deps): bump crazy-max/.github from 1.6.0 to 1.7.1
2026-04-27 09:53:52 +02:00
dependabot[bot] 3f9cfbdc8c build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.6.0 to 1.7.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.6.0 to 1.7.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 05:02:34 +00:00
dependabot[bot] aee3568347 build(deps): bump postcss from 8.5.6 to 8.5.10
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.6 to 8.5.10.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.10)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.10
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 17:41:31 +00:00
Tõnis Tiigi d38a186294 Merge pull request #536 from crazy-max/esbuild
replace ncc with esbuild for action bundling
2026-04-24 10:39:41 -07:00
CrazyMax 62a582dc40 replace ncc with esbuild for action bundling
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-24 11:15:32 +02:00
dependabot[bot] 4c7f61605d build(deps): bump crazy-max/.github from 1.6.0 to 1.7.1
Bumps [crazy-max/.github](https://github.com/crazy-max/.github) from 1.6.0 to 1.7.1.
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16)

---
updated-dependencies:
- dependency-name: crazy-max/.github
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-23 04:42:08 +00:00
dependabot[bot] 0068a0a10e build(deps): bump actions/setup-node from 6.3.0 to 6.4.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/53b83947a5a98c8d113130e565377fae1a50d02f...48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-21 04:42:29 +00:00
dependabot[bot] b6cec68116 build(deps): bump github/codeql-action from 4.35.1 to 4.35.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.1 to 4.35.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/c10b8064de6f491fea524254123dbe5e09572f13...95e58e9a2cdfd71adc6e0353d5c52f41a045d225)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 04:43:32 +00:00
Tõnis Tiigi 35d5669990 Merge pull request #529 from crazy-max/fix-zizmor
ci(zizmor): update rules
2026-04-15 14:26:03 -07:00
CrazyMax 6a6e95770b ci(zizmor): update rules
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-15 16:02:18 +02:00
CrazyMax b609d6fb2f Merge pull request #499 from docker/dependabot/npm_and_yarn/flatted-3.4.2
build(deps): bump flatted from 3.3.3 to 3.4.2
2026-04-15 12:04:25 +02:00
CrazyMax 549798b6d2 Merge pull request #503 from docker/dependabot/npm_and_yarn/picomatch-4.0.4
build(deps): bump picomatch from 4.0.3 to 4.0.4
2026-04-15 12:04:08 +02:00
CrazyMax ceecdf6ce1 Merge pull request #504 from docker/dependabot/npm_and_yarn/handlebars-4.7.9
build(deps): bump handlebars from 4.7.8 to 4.7.9
2026-04-15 12:03:52 +02:00
CrazyMax 5b64848458 Merge pull request #508 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.13
build(deps): bump brace-expansion from 1.1.12 to 1.1.13
2026-04-15 12:03:36 +02:00
CrazyMax 393ed90307 Merge pull request #520 from docker/dependabot/npm_and_yarn/vite-7.3.2
build(deps): bump vite from 7.3.1 to 7.3.2
2026-04-15 12:03:19 +02:00
CrazyMax 5debd5a897 Merge pull request #523 from docker/dependabot/npm_and_yarn/lodash-4.18.1
build(deps): bump lodash from 4.17.23 to 4.18.1
2026-04-15 12:03:02 +02:00
CrazyMax c087a89bda Merge pull request #525 from docker/dependabot/github_actions/docker/bake-action-7.1.0
build(deps): bump docker/bake-action from 7.0.0 to 7.1.0
2026-04-15 12:02:44 +02:00
CrazyMax 24de66d3bb Merge pull request #526 from docker/dependabot/github_actions/docker/build-push-action-7.1.0
build(deps): bump docker/build-push-action from 7.0.0 to 7.1.0
2026-04-15 12:02:29 +02:00
CrazyMax 6078bf0b87 Merge pull request #527 from docker/dependabot/github_actions/actions/create-github-app-token-3.1.1
build(deps): bump actions/create-github-app-token from 3.0.0 to 3.1.1
2026-04-15 12:02:12 +02:00
dependabot[bot] 15848ad661 build(deps): bump actions/create-github-app-token from 3.0.0 to 3.1.1
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.0.0 to 3.1.1.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/f8d387b68d61c58ab83c6c016672934102569859...1b10c78c7865c340bc4f6099eb2f838309f1e8c3)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 04:58:27 +00:00
dependabot[bot] 09ebfbdaec build(deps): bump docker/build-push-action from 7.0.0 to 7.1.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/d08e5c354a6adb9ed34480a06d141179aa583294...bcafcacb16a39f128d818304e6c9c0c18556b85f)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 04:58:23 +00:00
dependabot[bot] 94d99cf28f build(deps): bump docker/bake-action from 7.0.0 to 7.1.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/82490499d2e5613fcead7e128237ef0b0ea210f7...a66e1c87e2eca0503c343edf1d208c716d54b8a8)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 04:56:51 +00:00
dependabot[bot] 6c3774f2c2 build(deps): bump lodash from 4.17.23 to 4.18.1
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 08:24:44 +00:00
CrazyMax ffb3193908 Merge pull request #522 from docker/dependabot/github_actions/crazy-max/dot-github-1.6.0
build(deps): bump crazy-max/.github from 1.3.0 to 1.6.0
2026-04-09 10:22:45 +02:00
CrazyMax a7047bdc60 Merge pull request #521 from docker/dependabot/github_actions/crazy-max-dot-github-f0991e81fd
build(deps): bump the crazy-max-dot-github group with 2 updates
2026-04-09 10:22:28 +02:00
dependabot[bot] ded231e21e build(deps): bump crazy-max/.github from 1.3.0 to 1.6.0
Bumps [crazy-max/.github](https://github.com/crazy-max/.github) from 1.3.0 to 1.6.0.
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

---
updated-dependencies:
- dependency-name: crazy-max/.github
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 04:42:44 +00:00
dependabot[bot] 7a1f3899e0 build(deps): bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 04:42:21 +00:00
dependabot[bot] 6c6e9daa1f build(deps): bump vite from 7.3.1 to 7.3.2
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-06 21:41:59 +00:00
CrazyMax 21162887f0 Merge pull request #517 from crazy-max/fix-update-dist
ci: stop update-dist reruns after generated dist pushes
2026-04-01 15:08:25 +02:00
CrazyMax af595e0653 ci: stop update-dist reruns after generated dist pushes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-01 13:12:08 +02:00
CrazyMax e35beed76f Merge pull request #512 from docker/dependabot/github_actions/crazy-max/dot-github-1.3.0
build(deps): bump crazy-max/.github from 1.1.0 to 1.3.0
2026-03-31 09:29:31 +02:00
CrazyMax 93182889f4 Merge pull request #515 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-3.0.0
build(deps): bump crazy-max/ghaction-dump-context from 2.3.0 to 3.0.0
2026-03-31 09:29:15 +02:00
CrazyMax 8ff4edde61 Merge pull request #516 from docker/dependabot/github_actions/codecov/codecov-action-6.0.0
build(deps): bump codecov/codecov-action from 5.5.4 to 6.0.0
2026-03-31 09:29:00 +02:00
dependabot[bot] a7da99c89f build(deps): bump codecov/codecov-action from 5.5.4 to 6.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.4 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/75cd11691c0faa626561e295848008c8a7dddffe...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:52:37 +00:00
dependabot[bot] 7661380964 build(deps): bump crazy-max/.github from 1.1.0 to 1.3.0
Bumps [crazy-max/.github](https://github.com/crazy-max/.github) from 1.1.0 to 1.3.0.
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/20ef82212dc54bab5749f5e05576ca6d3c8a5773...bb328ea508cd6a89d0865555ddbeb148e5724aed)

---
updated-dependencies:
- dependency-name: crazy-max/.github
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:51:12 +00:00
dependabot[bot] 0dd24c14e2 build(deps): bump crazy-max/ghaction-dump-context from 2.3.0 to 3.0.0
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 2.3.0 to 3.0.0.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/5355a8e5e6ac5a302e746a1c4b7747a0393863c8...5d2753e7076f4568c7729971e25231f32147e2d8)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:51:08 +00:00
Tõnis Tiigi dae06517fd Merge pull request #514 from crazy-max/zizmor
ci: zizmor workflow
2026-03-30 18:50:14 -07:00
CrazyMax 8072de9b61 fix zizmor findings
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 14:10:53 +02:00
CrazyMax 45439ec47e ci: zizmor workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 13:56:10 +02:00
github-actions[bot] 7131b598a3 chore: update generated content 2026-03-27 14:28:29 +00:00
dependabot[bot] 3a0c39cda6 build(deps): bump brace-expansion from 1.1.12 to 1.1.13
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.12 to 1.1.13.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.13)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.13
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-27 14:27:27 +00:00
dependabot[bot] ee07913914 build(deps): bump handlebars from 4.7.8 to 4.7.9
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.8 to 4.7.9.
- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.9/release-notes.md)
- [Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.8...v4.7.9)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-version: 4.7.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-27 00:14:08 +00:00
dependabot[bot] 3e293d1df5 build(deps): bump picomatch from 4.0.3 to 4.0.4
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-26 07:10:49 +00:00
Tõnis Tiigi 172dff065f Merge pull request #502 from crazy-max/update-crazy-max-action
ci: bump crazy-max/.github to 1.1.0
2026-03-25 10:43:53 -07:00
CrazyMax 7f6e739c6d ci: bump crazy-max/.github to 1.1.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-25 12:39:32 +01:00
dependabot[bot] 97c5b2343a build(deps): bump flatted from 3.3.3 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 15:59:16 +00:00
CrazyMax d91f340399 Merge pull request #497 from crazy-max/codeql
ci: enable SAST scanning with CodeQL
2026-03-20 16:57:43 +01:00
CrazyMax 3da2ceadbf ci: enable SAST scanning with CodeQL
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-20 11:56:47 +01:00
CrazyMax 8016837eba Merge pull request #493 from docker/dependabot/github_actions/actions/create-github-app-token-3
build(deps): bump actions/create-github-app-token from 2 to 3
2026-03-16 12:46:49 +01:00
dependabot[bot] f4d39becb2 build(deps): bump actions/create-github-app-token from 2 to 3
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2 to 3.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-16 04:42:17 +00:00
Tõnis Tiigi c8ad1c5d0f Merge pull request #488 from docker/dependabot/github_actions/docker/bake-action-7
build(deps): bump docker/bake-action from 6 to 7
2026-03-09 12:35:58 -07:00
CrazyMax a88b3cd553 ci: switch to matrix subaction
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-06 10:07:33 +01:00
CrazyMax 8f54c6f886 Merge pull request #487 from docker/dependabot/github_actions/docker/build-push-action-7
build(deps): bump docker/build-push-action from 6 to 7
2026-03-06 10:06:19 +01:00
dependabot[bot] 94ba311f39 build(deps): bump docker/bake-action from 6 to 7
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6 to 7.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 04:42:20 +00:00
dependabot[bot] 7973930601 build(deps): bump docker/build-push-action from 6 to 7
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 04:42:15 +00:00
CrazyMax 2ae358d897 Merge pull request #486 from crazy-max/update-readme
readme: update to v4
2026-03-05 09:17:23 +01:00
CrazyMax d586dba768 readme: update to v4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 09:09:21 +01:00
CrazyMax 4d04d5d948 Merge pull request #485 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.79.0
build(deps): bump @docker/actions-toolkit from 0.77.0 to 0.79.0
2026-03-05 08:41:24 +01:00
github-actions[bot] cd74e05d9b chore: update generated content 2026-03-05 07:38:34 +00:00
dependabot[bot] eee38ec7b3 build(deps): bump @docker/actions-toolkit from 0.77.0 to 0.79.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.77.0 to 0.79.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.77.0...v0.79.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.79.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 07:37:31 +00:00
CrazyMax 7a83f65b5a Merge pull request #484 from docker/dependabot/github_actions/docker/setup-qemu-action-4
build(deps): bump docker/setup-qemu-action from 3 to 4
2026-03-05 08:35:10 +01:00
CrazyMax a5aa96747d Merge pull request #464 from crazy-max/rm-deprecated
remove deprecated inputs/outputs
2026-03-05 08:34:48 +01:00
dependabot[bot] e73d53fa4e build(deps): bump docker/setup-qemu-action from 3 to 4
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 04:42:14 +00:00
Tõnis Tiigi 28a438e9ed Merge pull request #483 from crazy-max/node24
node 24 as default runtime
2026-03-04 17:35:35 -08:00
CrazyMax 034e9d37dd chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 10:00:32 +01:00
CrazyMax b4664d8fd0 remove deprecated inputs/outputs
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 09:07:39 +01:00
CrazyMax a8257dec35 node 24 as default runtime
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 09:06:43 +01:00
Tõnis Tiigi 9cd4410b76 Merge pull request #482 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.77.0
build(deps): bump @docker/actions-toolkit from 0.63.0 to 0.77.0
2026-03-03 11:06:49 -08:00
CrazyMax 7064bb6cb0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 14:25:56 +01:00
CrazyMax 57d4a8d20c test: fix missing explicit file extensions in ECMAScript imports
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 14:24:53 +01:00
CrazyMax 0dadf93d54 update buildxInstall.download call since v0.77.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 14:24:53 +01:00
dependabot[bot] 1a12f33edd build(deps): bump @docker/actions-toolkit from 0.63.0 to 0.77.0
Dependabot couldn't find the original pull request head commit, a7a0232b4ec28569f7a45b01ebe22471c27d524f.
2026-03-03 13:23:31 +00:00
CrazyMax 1282d41a96 Merge pull request #475 from docker/dependabot/npm_and_yarn/actions/core-3.0.0
build(deps): bump @actions/core from 1.11.1 to 3.0.0
2026-03-03 14:10:36 +01:00
github-actions[bot] 01144634a7 chore: update generated content 2026-03-03 13:08:30 +00:00
dependabot[bot] cb437c6618 build(deps): bump @actions/core from 1.11.1 to 3.0.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.11.1 to 3.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 13:07:20 +00:00
CrazyMax 4b6c254447 Merge pull request #452 from docker/dependabot/npm_and_yarn/js-yaml-4.1.1
build(deps): bump js-yaml from 4.1.0 to 4.1.1
2026-03-03 14:05:39 +01:00
github-actions[bot] 3d95d526ba chore: update generated content 2026-03-03 12:58:13 +00:00
dependabot[bot] 2231aab25d build(deps): bump js-yaml from 4.1.0 to 4.1.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 12:56:48 +00:00
CrazyMax 483f4842ce Merge pull request #480 from docker/dependabot/npm_and_yarn/minimatch-3.1.3
build(deps): bump minimatch from 3.1.2 to 3.1.5
2026-03-03 13:55:28 +01:00
github-actions[bot] a43d49b256 chore: update generated content 2026-03-03 12:53:59 +00:00
dependabot[bot] 64bf327336 build(deps): bump minimatch from 3.1.2 to 3.1.3
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.3.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 12:52:48 +00:00
CrazyMax 94782da071 Merge pull request #472 from docker/dependabot/npm_and_yarn/lodash-4.17.23
build(deps): bump lodash from 4.17.21 to 4.17.23
2026-03-03 13:51:10 +01:00
CrazyMax d6c542fbcd Merge pull request #481 from crazy-max/esm
switch to ESM and update config/test wiring
2026-03-03 13:49:55 +01:00
CrazyMax eaf69fbc6f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:45:54 +01:00
CrazyMax f95826b456 dockerfile: fix vendoring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:45:54 +01:00
CrazyMax fb37e2879d update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 10:04:40 +01:00
CrazyMax 099630bcb6 switch to ESM and update config/test wiring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 10:02:54 +01:00
CrazyMax 70d132ddbe switch from jest to vitest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 09:58:00 +01:00
CrazyMax 7c525be6cc Merge pull request #476 from crazy-max/update-dist-workflow
ci: update-dist workflow
2026-01-29 20:32:43 +01:00
CrazyMax ca8948fcde ci: update-dist workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-29 16:26:38 +01:00
dependabot[bot] 86fc44fcc0 build(deps): bump lodash from 4.17.21 to 4.17.23
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 00:32:44 +00:00
Tõnis Tiigi c7c4c00f3e Merge pull request #468 from crazy-max/update-dev-deps
update dev dependencies
2026-01-07 16:40:38 -08:00
CrazyMax 7a35da204c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:40:09 +01:00
CrazyMax d965a53926 update jest config since 30.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:36:50 +01:00
CrazyMax 16c25413c8 migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:34:48 +01:00
CrazyMax b278ce4ad9 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:33:19 +01:00
CrazyMax 8d2750c68a Merge pull request #455 from crazy-max/install-deprecated
deprecate install input
2025-12-16 15:38:02 +01:00
CrazyMax e81846bcc4 deprecate install input
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-16 15:36:11 +01:00
CrazyMax 65d18f8f8a Merge pull request #454 from docker/dependabot/github_actions/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6
2025-12-03 11:58:53 +01:00
dependabot[bot] 000d75d273 build(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 04:01:09 +00:00
CrazyMax 1583c0f09d Merge pull request #443 from nicolasleger/patch-1
doc: bump actions/checkout from 4 to 5
2025-08-21 10:42:37 +02:00
nicolasleger ed158e7963 doc: bump actions/checkout from 4 to 5
Signed-off-by: nicolasleger <nicolasleger@users.noreply.github.com>
2025-08-21 10:25:06 +02:00
CrazyMax 4cc794f83e Merge pull request #441 from docker/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-08-18 13:44:12 +02:00
dependabot[bot] 4dfc3d6c5d build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 11:37:48 +00:00
CrazyMax af1b253b8d Merge pull request #440 from crazy-max/k3s-build
ci: k3s test with latest buildx
2025-08-11 16:13:23 +02:00
CrazyMax 3c6ab92b04 ci: k3s test with latest buildx
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-08 10:08:33 +02:00
CrazyMax 2c8bcdab54 Merge pull request #439 from crazy-max/fix-yarn-cfg
fix yarn config
2025-08-07 10:39:23 +02:00
CrazyMax 1051acaba6 fix yarn config
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-07 10:23:38 +02:00
CrazyMax e8cd182ec7 Merge pull request #438 from crazy-max/update-yarn
update yarn to 4.9.2
2025-08-07 10:22:33 +02:00
CrazyMax 8c5c87276d update yarn to 4.9.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-07 10:20:28 +02:00
CrazyMax 90fa7ac870 Merge pull request #437 from crazy-max/update-dev-deps
update dev dependencies
2025-08-07 10:16:55 +02:00
CrazyMax 7ebadadf6b chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-07 10:15:01 +02:00
CrazyMax ee3eb2f3a4 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-07 10:10:07 +02:00
CrazyMax c65d441f38 Merge pull request #436 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.12
build(deps): bump brace-expansion from 1.1.11 to 1.1.12
2025-08-06 18:16:03 +02:00
CrazyMax da183f8ca3 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 18:10:56 +02:00
dependabot[bot] f7a6c723e1 build(deps): bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 15:41:35 +00:00
CrazyMax 8424fa0070 Merge pull request #435 from docker/dependabot/npm_and_yarn/undici-5.29.0
build(deps): bump undici from 5.28.4 to 5.29.0
2025-08-06 17:39:23 +02:00
CrazyMax c52693d481 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 17:36:57 +02:00
dependabot[bot] 5efa6e34fd build(deps): bump undici from 5.28.4 to 5.29.0
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.29.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.29.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 15:16:14 +00:00
CrazyMax 774224adf6 Merge pull request #434 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.63.0
build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.63.0
2025-08-06 14:53:17 +02:00
CrazyMax 5d221e8956 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 14:49:38 +02:00
dependabot[bot] 68163b97ca build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.63.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.62.1 to 0.63.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.62.1...v0.63.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.63.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 12:11:23 +00:00
CrazyMax ae7d6893e8 Merge pull request #432 from docker/dependabot/npm_and_yarn/form-data-2.5.5
build(deps): bump form-data from 2.5.1 to 2.5.5
2025-08-05 18:32:27 +02:00
dependabot[bot] ac3a803dd3 build(deps): bump form-data from 2.5.1 to 2.5.5
Bumps [form-data](https://github.com/form-data/form-data) from 2.5.1 to 2.5.5.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/v2.5.5/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v2.5.1...v2.5.5)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 2.5.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 23:14:41 +00:00
CrazyMax e468171a9d Merge pull request #429 from crazy-max/fix-keep-state
fix keep-state not being respected
2025-06-18 10:37:30 +02:00
CrazyMax a3e7502fd0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-17 17:34:10 +02:00
CrazyMax b145473295 fix keep-state not being respected
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-17 17:34:10 +02:00
CrazyMax 18ce135bb5 Merge pull request #425 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.62.1
build(deps): bump @docker/actions-toolkit from 0.61.0 to 0.62.1
2025-06-16 14:26:28 +02:00
CrazyMax 0e198e93af chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-14 00:34:03 +02:00
dependabot[bot] 05f3f3ac10 build(deps): bump @docker/actions-toolkit from 0.61.0 to 0.62.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.61.0 to 0.62.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.61.0...v0.62.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.62.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 22:12:24 +00:00
Tõnis Tiigi 622913496d Merge pull request #427 from crazy-max/keep-state
Keep BuildKit state support
2025-06-13 11:57:41 -07:00
CrazyMax c6f6a07025 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 18:37:56 +02:00
CrazyMax 6c5e29d848 skip builder creation if one already exists with the same name
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 18:37:56 +02:00
CrazyMax 548b297749 ci: keep-state check
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 18:37:56 +02:00
CrazyMax 36590ad0c1 check if driver compatible with keep-state
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 18:31:37 +02:00
Balaji Arun 4143b5899b Support to retain cache
Signed-off-by: Balaji Arun <balajia@vt.edu>
2025-06-13 18:05:09 +02:00
CrazyMax 3f1544eb9e Merge pull request #139 from hashhar/hashhar/cleanup-aliases
Remove aliases created by buildx when installing by default
2025-05-21 12:04:20 +02:00
CrazyMax f3204bbfac chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-05-21 12:01:07 +02:00
Ashhar Hasan 4ba329ef89 Remove aliases created by buildx when installing by default
If the action is configured to install buildx by default using the
input then docker buildx sets up docker build as an alias for buildx
making all docker build calls use the buildx builder instead of
traditional builders. The action didn't perform cleanup in this case to
uninstall the aliases which meant that any future workflows running on
same GitHub Actions runner would get the buildx builders even if it did
not explicitly request it.

This commit tracks if the aliases were installed and removes them during
post step of the action if so.

Signed-off-by: Ashhar Hasan <hashhar_dev@outlook.com>
2025-05-21 11:59:28 +02:00
CrazyMax e600775e52 Merge pull request #422 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.61.0
build(deps): bump @docker/actions-toolkit from 0.56.0 to 0.61.0
2025-04-24 11:30:53 +02:00
CrazyMax b2b2ffa946 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-24 11:22:25 +02:00
dependabot[bot] fe905840cd build(deps): bump @docker/actions-toolkit from 0.56.0 to 0.61.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.56.0 to 0.61.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.56.0...v0.61.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.61.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 09:02:39 +00:00
CrazyMax 8998bbe94b Merge pull request #420 from crazy-max/pr-assign-author
pr-assign-author workflow
2025-04-23 16:10:00 +02:00
CrazyMax 830833e0c7 pr-assign-author workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-23 14:18:49 +02:00
CrazyMax 941183f0a0 Merge pull request #413 from crazy-max/ci-dispatch
ci: add workflow_dispatch event
2025-03-28 10:00:25 +01:00
CrazyMax 311b62b254 ci: add workflow_dispatch event
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-18 15:39:20 +01:00
CrazyMax afeb29a6e0 Merge pull request #411 from crazy-max/test-windows
ci: test container builder on windows
2025-03-12 15:56:50 +01:00
CrazyMax b560416601 Merge pull request #412 from crazy-max/ci-bump-ubuntu
ci: bump to ubuntu-latest
2025-03-12 15:56:34 +01:00
CrazyMax 516bb780e5 ci: bump to ubuntu-latest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-12 15:49:49 +01:00
CrazyMax 11445527f0 ci: test container builder on windows
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-12 15:44:27 +01:00
CrazyMax b5ca514318 Merge pull request #408 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.56.0
build(deps): bump @docker/actions-toolkit from 0.54.0 to 0.56.0
2025-02-26 15:35:00 +01:00
CrazyMax 1418a4ef33 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 15:32:43 +01:00
dependabot[bot] 93acf831ce build(deps): bump @docker/actions-toolkit from 0.54.0 to 0.56.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.54.0 to 0.56.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.54.0...v0.56.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:25:44 +00:00
CrazyMax f7ce87c1d6 Merge pull request #404 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.54.0
build(deps): bump @docker/actions-toolkit from 0.53.0 to 0.54.0
2025-02-06 14:25:21 +01:00
CrazyMax aa1e2a0b49 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-06 14:17:41 +01:00
dependabot[bot] 673e008776 build(deps): bump @docker/actions-toolkit from 0.53.0 to 0.54.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.53.0 to 0.54.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.53.0...v0.54.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-05 04:05:45 +00:00
CrazyMax ba31df4664 Merge pull request #402 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.53.0
build(deps): bump @docker/actions-toolkit from 0.48.0 to 0.53.0
2025-01-24 10:26:10 +01:00
CrazyMax 5475af18ec chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-24 10:21:34 +01:00
dependabot[bot] acacad903e build(deps): bump @docker/actions-toolkit from 0.48.0 to 0.53.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.48.0 to 0.53.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.48.0...v0.53.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 04:40:58 +00:00
CrazyMax 6a25f988bd Merge pull request #396 from crazy-max/bake-v6
update bake-action to v6
2025-01-08 18:54:07 +01:00
CrazyMax ca1af179f5 update bake-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 13:01:31 +01:00
Tõnis Tiigi 6524bf65af Merge pull request #390 from crazy-max/buildx-cloud-latest
make cloud prefix optional to download buildx if driver is cloud
2024-12-12 10:30:19 -08:00
CrazyMax 8d5e0747fc chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 15:39:12 +01:00
CrazyMax 7199e57b35 make cloud prefix optional to download buildx if driver is cloud
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 15:39:12 +01:00
CrazyMax db63cee3de Merge pull request #381 from docker/dependabot/github_actions/codecov/codecov-action-5
build(deps): bump codecov/codecov-action from 4 to 5
2024-12-12 15:07:22 +01:00
CrazyMax 043ebe137f Merge pull request #389 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.48.0
build(deps): bump @docker/actions-toolkit from 0.39.0 to 0.48.0
2024-12-12 15:07:04 +01:00
CrazyMax 686da9073d chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 15:04:35 +01:00
CrazyMax a3d74876b8 Merge pull request #382 from docker/dependabot/npm_and_yarn/cross-spawn-7.0.6
build(deps): bump cross-spawn from 7.0.3 to 7.0.6
2024-12-12 15:03:07 +01:00
dependabot[bot] 4dcdbcec48 build(deps): bump @docker/actions-toolkit from 0.39.0 to 0.48.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.39.0 to 0.48.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.39.0...v0.48.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-12 14:03:00 +00:00
CrazyMax 1a8ac74316 ci: fix deprecated input for codecov-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 15:02:42 +01:00
dependabot[bot] e827ebe8ba build(deps): bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 23:00:07 +00:00
dependabot[bot] adacc1474e build(deps): bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-15 04:48:17 +00:00
CrazyMax 0f069ddc17 Merge pull request #372 from crazy-max/publish-immutable-action
ci: publish as immutable action workflow
2024-10-26 00:40:56 +02:00
CrazyMax d036b3238c ci: publish as immutable action workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-25 13:22:55 +02:00
CrazyMax 460e45646d Merge pull request #370 from docker/dependabot/npm_and_yarn/actions/core-1.11.1
build(deps): bump @actions/core from 1.10.1 to 1.11.1
2024-10-07 14:19:44 +02:00
CrazyMax 93aa1c807f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-07 14:17:38 +02:00
CrazyMax d391aad55c remove uuid package and switch to crypto
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-07 14:16:41 +02:00
dependabot[bot] e5b688ea46 build(deps): bump @actions/core from 1.10.1 to 1.11.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.1 to 1.11.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 04:49:55 +00:00
CrazyMax c47758b77c Merge pull request #369 from crazy-max/revert-crypto
switch back to uuid package
2024-10-04 09:42:48 +02:00
CrazyMax 8fea382513 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-04 09:35:26 +02:00
CrazyMax 2874e980e8 switch back to uuid package
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-04 09:34:00 +02:00
CrazyMax 8026d2bc36 Merge pull request #362 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.39.0
build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.39.0
2024-10-03 09:29:53 +02:00
CrazyMax e51aab53e9 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 09:23:32 +02:00
dependabot[bot] fd7390e14d build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.39.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.35.0 to 0.39.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.35.0...v0.39.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-03 07:19:28 +00:00
CrazyMax 910a304005 Merge pull request #366 from crazy-max/remove-uuid
remove uuid package and switch to crypto
2024-10-03 09:18:07 +02:00
CrazyMax 3623ee443e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 09:16:05 +02:00
CrazyMax e0e5ecf670 remove uuid package and switch to crypto
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 09:15:20 +02:00
CrazyMax 5334dd0cdd Merge pull request #363 from crazy-max/set-buildkitd-flags-optin
always set buildkitd-flags if opt-in
2024-10-03 09:14:50 +02:00
CrazyMax 214bb6dac1 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 08:54:56 +02:00
CrazyMax 818c69a4ea always set buildkitd-flags if opt-in
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 08:54:55 +02:00
CrazyMax b467d6aa7a Merge pull request #354 from docker/dependabot/npm_and_yarn/path-to-regexp-6.3.0
build(deps): bump path-to-regexp from 6.2.2 to 6.3.0
2024-09-12 22:41:49 +02:00
dependabot[bot] 7594cf3831 build(deps): bump path-to-regexp from 6.2.2 to 6.3.0
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.2 to 6.3.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v6.2.2...v6.3.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-12 19:22:52 +00:00
CrazyMax 988b5a0280 Merge pull request #347 from crazy-max/skip-malformed-context
check for malformed docker context
2024-07-29 18:29:31 +02:00
CrazyMax 2c215620b8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-29 18:25:27 +02:00
CrazyMax 3382292cd5 check for malformed docker context
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-29 18:24:18 +02:00
CrazyMax 3d68780484 Merge pull request #341 from crazy-max/docker-context-tls
create docker context if default one has TLS data loaded
2024-07-29 15:34:28 +02:00
CrazyMax d069e98648 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-29 15:16:07 +02:00
CrazyMax 8b850f86dc create docker context if default one has TLS data loaded
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-29 15:12:05 +02:00
CrazyMax aa33708b10 Merge pull request #345 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.35.0
build(deps): bump @docker/actions-toolkit from 0.34.0 to 0.35.0
2024-07-22 11:48:29 +02:00
CrazyMax 2d99e3412d chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-22 11:45:40 +02:00
dependabot[bot] 4dab43650b build(deps): bump @docker/actions-toolkit from 0.34.0 to 0.35.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.34.0 to 0.35.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.34.0...v0.35.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 04:47:18 +00:00
CrazyMax 49a04d6890 Merge pull request #344 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.34.0
build(deps): bump @docker/actions-toolkit from 0.32.0 to 0.34.0
2024-07-19 13:09:43 +02:00
CrazyMax a6ade2e34f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-19 13:07:08 +02:00
CrazyMax 2f2694b8d1 switch to Docker exec
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-19 13:05:34 +02:00
dependabot[bot] 0a4bab6632 build(deps): bump @docker/actions-toolkit from 0.32.0 to 0.34.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.32.0 to 0.34.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.32.0...v0.34.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-18 04:06:15 +00:00
CrazyMax 2ad185228a Merge pull request #340 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.32.0
build(deps): bump @docker/actions-toolkit from 0.31.0 to 0.32.0
2024-07-05 11:38:19 +02:00
CrazyMax 560ac469d6 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-05 11:35:45 +02:00
dependabot[bot] b3a341759e build(deps): bump @docker/actions-toolkit from 0.31.0 to 0.32.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.31.0 to 0.32.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-05 09:33:37 +00:00
CrazyMax 4fd812986e Merge pull request #312 from docker/dependabot/npm_and_yarn/undici-5.28.4
build(deps): bump undici from 5.28.3 to 5.28.4
2024-07-04 00:59:46 +02:00
CrazyMax 3386dc4251 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-04 00:57:40 +02:00
dependabot[bot] d191aef416 build(deps): bump undici from 5.28.3 to 5.28.4
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 22:39:48 +00:00
CrazyMax f686054aab Merge pull request #338 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.31.0
build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.31.0
2024-07-04 00:36:59 +02:00
CrazyMax 78547859d7 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-04 00:28:28 +02:00
CrazyMax 830928c706 fix builder type path
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-04 00:28:27 +02:00
dependabot[bot] 26d2aec173 build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.31.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.23.0 to 0.31.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.23.0...v0.31.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 18:22:10 +00:00
CrazyMax ab17e3ec80 Merge pull request #339 from crazy-max/missing-types-jsyaml
missing types for js-yaml
2024-07-03 20:21:11 +02:00
CrazyMax d79cb80903 missing types for js-yaml
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-03 20:17:56 +02:00
CrazyMax 13cf78894f Merge pull request #326 from docker/dependabot/npm_and_yarn/uuid-10.0.0
build(deps): bump uuid from 9.0.1 to 10.0.0
2024-07-03 13:50:25 +02:00
CrazyMax 0e592087a0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-03 13:33:18 +02:00
CrazyMax 47032b9b53 missing types for uuid
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-03 13:33:17 +02:00
CrazyMax abe89fb761 Merge pull request #329 from docker/dependabot/npm_and_yarn/braces-3.0.3
build(deps): bump braces from 3.0.2 to 3.0.3
2024-06-20 18:01:53 +02:00
CrazyMax e027232c25 Merge pull request #332 from docker/dependabot/github_actions/docker/bake-action-5
build(deps): bump docker/bake-action from 4 to 5
2024-06-20 17:59:29 +02:00
CrazyMax 5d9397e7ca Merge pull request #331 from docker/dependabot/github_actions/docker/build-push-action-6
build(deps): bump docker/build-push-action from 5 to 6
2024-06-20 17:59:12 +02:00
dependabot[bot] e9ab4c6a14 build(deps): bump docker/bake-action from 4 to 5
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 4 to 5.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 04:09:56 +00:00
dependabot[bot] 748835b452 build(deps): bump docker/build-push-action from 5 to 6
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 04:09:53 +00:00
dependabot[bot] 554c728605 build(deps): bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-16 13:37:42 +00:00
dependabot[bot] 1c1261e632 build(deps): bump uuid from 9.0.1 to 10.0.0
Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.1 to 10.0.0.
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v9.0.1...v10.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 04:44:49 +00:00
CrazyMax 5138f76647 Merge pull request #322 from crazy-max/update-dev-deps
chore: update dev dependencies
2024-05-15 14:01:13 +02:00
CrazyMax eddcf46655 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 13:58:48 +02:00
CrazyMax 2740b29678 chore: update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 13:57:47 +02:00
CrazyMax 1113efed2b Merge pull request #321 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.23.0
build(deps): bump @docker/actions-toolkit from 0.20.0 to 0.23.0
2024-05-15 12:11:09 +02:00
CrazyMax 8a2a7ad780 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:09:16 +02:00
dependabot[bot] e3c7deb79b build(deps): bump @docker/actions-toolkit from 0.20.0 to 0.23.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.20.0 to 0.23.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.20.0...v0.23.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 04:12:14 +00:00
CrazyMax be3701b211 Merge pull request #319 from crazy-max/update-yarn
update to yarn 3.6.3
2024-05-07 15:48:31 +02:00
CrazyMax e2ed622d10 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 15:46:36 +02:00
CrazyMax b73b950903 chore: add plugin-interactive-tools yarn pkg
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 15:44:37 +02:00
CrazyMax 157d6d0106 update to yarn 3.6.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 15:43:51 +02:00
Tõnis Tiigi a530e948ad Merge pull request #315 from crazy-max/fix-err-output
throw error message instead of exit code
2024-04-15 16:53:40 -07:00
CrazyMax 28ecb964cd chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 12:22:12 +02:00
CrazyMax dc25d8b2ee throw error message instead of exit code
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 12:22:01 +02:00
Tõnis Tiigi d70bba72b1 Merge pull request #307 from crazy-max/bump-toolkit
bump @docker/actions-toolkit from 0.19.0 to 0.20.0
2024-04-04 09:52:13 -07:00
CrazyMax 7638634cb7 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-02 10:45:45 +02:00
CrazyMax c68420fe0b bump @docker/actions-toolkit from 0.19.0 to 0.20.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-02 10:44:53 +02:00
CrazyMax 2b51285047 Merge pull request #306 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.19.0
build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.19.0
2024-03-14 09:18:29 +01:00
CrazyMax 0f00370563 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-14 09:12:57 +01:00
dependabot[bot] 11c9683db9 build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.19.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.18.0 to 0.19.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.18.0...v0.19.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-14 04:07:37 +00:00
CrazyMax 56a16b8f2a Merge pull request #303 from crazy-max/fix-inputs
rename and align config inputs
2024-03-01 10:17:00 +01:00
CrazyMax c23f46eb91 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-01 10:10:01 +01:00
CrazyMax f876da6242 rename and align config inputs
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-01 10:10:00 +01:00
CrazyMax b7cf918227 Merge pull request #304 from crazy-max/rm-docs-dir
chore: remove docs dir
2024-03-01 10:08:27 +01:00
CrazyMax 0150f0ed7a chore: remove docs dir
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-01 09:42:40 +01:00
CrazyMax d89f1f9116 Merge pull request #302 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.18.0
build(deps): bump @docker/actions-toolkit from 0.17.0 to 0.18.0
2024-03-01 08:18:13 +01:00
CrazyMax 12d65f6595 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-01 08:16:43 +01:00
dependabot[bot] 8e1cfa56de build(deps): bump @docker/actions-toolkit from 0.17.0 to 0.18.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 04:29:56 +00:00
CrazyMax 0d103c3126 Merge pull request #300 from crazy-max/cache-binary
cache-binary input to enable/disable caching binary to GHA cache backend
2024-02-23 15:13:07 +01:00
CrazyMax f19477aacd chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 10:57:39 +01:00
CrazyMax a4180f835d cache-binary input to enable/disable caching binary to GHA cache backend
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 10:57:39 +01:00
CrazyMax 524315340d Merge pull request #299 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.17.0
build(deps): bump @docker/actions-toolkit from 0.14.0 to 0.17.0
2024-02-23 10:40:21 +01:00
CrazyMax 3679a54023 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 10:38:04 +01:00
dependabot[bot] 37a22a2fb2 build(deps): bump @docker/actions-toolkit from 0.14.0 to 0.17.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.14.0 to 0.17.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-23 09:32:50 +00:00
CrazyMax 65afe610a1 Merge pull request #297 from docker/dependabot/npm_and_yarn/undici-5.28.3
build(deps): bump undici from 5.26.3 to 5.28.3
2024-02-23 09:42:32 +01:00
CrazyMax fcb8f722fd chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:41:09 +01:00
CrazyMax f62b9a17c0 Merge pull request #298 from crazy-max/bump-gha
bump codecov/codecov-action from 3 to 4
2024-02-23 09:19:48 +01:00
CrazyMax 74c5b717e5 bump codecov/codecov-action from 3 to 4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:15:27 +01:00
dependabot[bot] 0d7aea7476 build(deps): bump undici from 5.26.3 to 5.28.3
Bumps [undici](https://github.com/nodejs/undici) from 5.26.3 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.26.3...v5.28.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-16 17:55:22 +00:00
CrazyMax edfb0fe620 Merge pull request #284 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.14.0
build(deps): bump @docker/actions-toolkit from 0.13.0 to 0.14.0
2023-12-01 03:57:18 -08:00
CrazyMax ee40da0772 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-01 12:55:15 +01:00
dependabot[bot] 02e65a5ab9 build(deps): bump @docker/actions-toolkit from 0.13.0 to 0.14.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-17 04:42:14 +00:00
CrazyMax 6d5347c402 Merge pull request #271 from docker/dependabot/npm_and_yarn/uuid-9.0.1
build(deps): bump uuid from 9.0.0 to 9.0.1
2023-10-26 07:14:17 -07:00
CrazyMax ab3fcb73e7 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-26 16:12:55 +02:00
CrazyMax 3762d454f3 Merge pull request #282 from docker/dependabot/npm_and_yarn/babel/traverse-7.23.2
build(deps): bump @babel/traverse from 7.17.3 to 7.23.2
2023-10-24 23:45:00 -07:00
dependabot[bot] cdd4983d88 build(deps): bump @babel/traverse from 7.17.3 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.17.3 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 20:37:31 +00:00
dependabot[bot] a3e8dc13a7 build(deps): bump uuid from 9.0.0 to 9.0.1
Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.0 to 9.0.1.
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v9.0.0...v9.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-13 12:20:28 +00:00
CrazyMax 5d98624985 Merge pull request #281 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.13.0
build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.13.0
2023-10-13 05:19:21 -07:00
CrazyMax fa0a3f8db8 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-13 14:17:50 +02:00
dependabot[bot] 0d99838e0e build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.13.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-13 12:11:54 +00:00
CrazyMax dedd61cf5d Merge pull request #275 from crazy-max/community-files
chore: github form templates
2023-09-13 11:42:16 +02:00
CrazyMax a9e6efb8d7 chore: github form templates
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:51:54 +02:00
CrazyMax 572af8c114 chore: update community files
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:51:48 +02:00
CrazyMax 8bda7f18d0 Merge pull request #274 from docker/dependabot/github_actions/docker/setup-qemu-action-3
build(deps): bump docker/setup-qemu-action from 2 to 3
2023-09-13 08:33:53 +02:00
CrazyMax 36dc84a6af Merge pull request #273 from docker/dependabot/github_actions/docker/bake-action-4
build(deps): bump docker/bake-action from 3 to 4
2023-09-13 08:32:14 +02:00
CrazyMax 1eaf7017ec Merge pull request #272 from docker/dependabot/github_actions/docker/build-push-action-5
build(deps): bump docker/build-push-action from 4 to 5
2023-09-13 08:32:00 +02:00
dependabot[bot] 35db0cdb94 build(deps): bump docker/setup-qemu-action from 2 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 04:57:57 +00:00
dependabot[bot] 524ee0563f build(deps): bump docker/bake-action from 3 to 4
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 3 to 4.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 04:57:52 +00:00
dependabot[bot] 91c74bb1dc build(deps): bump docker/build-push-action from 4 to 5
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 04:57:48 +00:00
CrazyMax 7d508e5a8a Merge pull request #268 from crazy-max/bump-major
docs: bump actions to latest major
2023-09-12 15:15:22 +02:00
CrazyMax c9db9161e9 docs: bump actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 14:18:18 +02:00
CrazyMax f95db51fdd Merge pull request #267 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
build(deps): bump @actions/core from 1.10.0 to 1.10.1
2023-09-12 08:50:08 +02:00
CrazyMax 998a87c2c1 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 08:38:49 +02:00
dependabot[bot] 28bae59336 build(deps): bump @actions/core from 1.10.0 to 1.10.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.0 to 1.10.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 04:54:27 +00:00
CrazyMax c215341715 Merge pull request #264 from crazy-max/update-node20
chore: node 20 as default runtime
2023-09-11 20:28:59 +02:00
CrazyMax 02e9319239 chore: node 20 as default runtime
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:42 +02:00
CrazyMax 5c9160effc chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:42 +02:00
CrazyMax 1283140f57 chore: fix author in package.json
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:42 +02:00
CrazyMax c6afe06e4a vendor: bump @docker/actions-toolkit from 0.10.0 to 0.12.0
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:42 +02:00
CrazyMax f35e0d5a04 chore: update dev dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:41 +02:00
CrazyMax baeb468fb2 dev: remove unneeded binaries
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:41 +02:00
CrazyMax 8e48232775 chore: update to node 20
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:41 +02:00
CrazyMax a52126db3d Merge pull request #262 from crazy-max/ci-concurrency
ci: missing concurrency checks
2023-09-05 11:13:02 +02:00
CrazyMax 2afcb42c88 ci: missing concurrency checks
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-05 11:09:23 +02:00
CrazyMax 2fbc37fd36 Merge pull request #260 from docker/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-05 08:45:19 +02:00
dependabot[bot] 23d726350c Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 04:34:21 +00:00
Tõnis Tiigi 885d1462b8 Merge pull request #258 from crazy-max/update-toolkit
bump @docker/actions-toolkit from 0.7.1 to 0.10.0
2023-08-27 18:39:52 -07:00
CrazyMax e5fad018d0 ci: check lab releases
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-26 14:03:23 +02:00
CrazyMax 45161fd92a update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-26 14:03:22 +02:00
CrazyMax a4d51f53dd bump @docker/actions-toolkit from 0.7.1 to 0.10.0
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-26 14:03:22 +02:00
CrazyMax 93b8ecaa2c ci: docker-ce packages are now installed on GitHub Runners
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-26 14:03:22 +02:00
CrazyMax 7703e82fbc Merge pull request #253 from docker/dependabot/npm_and_yarn/word-wrap-1.2.5
Bump word-wrap from 1.2.3 to 1.2.5
2023-08-08 13:17:08 +02:00
CrazyMax 0005881963 Merge pull request #254 from crazy-max/rm-codeowners
chore: remove CODEOWNERS
2023-08-08 12:55:44 +02:00
CrazyMax b699069f49 chore: remove CODEOWNERS
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 12:53:26 +02:00
dependabot[bot] 9bfc5497b8 Bump word-wrap from 1.2.3 to 1.2.5
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.5.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.5)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-08 10:46:55 +00:00
Tõnis Tiigi b92d4d8769 Merge pull request #252 from crazy-max/dependabot-update
chore: set increase as versioning strategy
2023-08-08 09:53:55 +03:00
CrazyMax 285be6c835 chore: set increase as versioning strategy
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 05:57:51 +02:00
CrazyMax 4c0219f9ac Merge pull request #248 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.7.1
Bump @docker/actions-toolkit from 0.7.0 to 0.7.1
2023-07-12 14:31:49 +02:00
CrazyMax 0db41bf51b update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-12 14:30:00 +02:00
dependabot[bot] 62fc1a1dd6 Bump @docker/actions-toolkit from 0.7.0 to 0.7.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.7.0...v0.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-12 12:28:25 +00:00
CrazyMax 2a1a44ac4a Merge pull request #246 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.7.0
Bump @docker/actions-toolkit from 0.6.0 to 0.7.0
2023-07-07 10:03:01 +02:00
CrazyMax a6c26a99ef update ci workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-06 23:24:05 +02:00
CrazyMax a5a7f565d9 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-06 23:17:35 +02:00
dependabot[bot] 7d7611f95b Bump @docker/actions-toolkit from 0.6.0 to 0.7.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 19:49:53 +00:00
CrazyMax 16c0bc4a6e Merge pull request #242 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.6.0
Bump @docker/actions-toolkit from 0.5.0 to 0.6.0
2023-06-28 17:24:42 +02:00
CrazyMax ebcacb9c21 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-28 17:22:25 +02:00
dependabot[bot] 496a823b8b Bump @docker/actions-toolkit from 0.5.0 to 0.6.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-28 15:16:58 +00:00
CrazyMax a56031a493 Merge pull request #241 from nicks/nicks/driver
context: only append flags if we know the driver supports them
2023-06-28 15:46:28 +02:00
Nick Santos 922550f064 context: only append flags if we know the driver supports them
Background: before this change, if i tried to use GHA with an experimental
driver, it would automatically append the flags

``
--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host
```

even if the underlying driver did not support them.

Signed-off-by: Nick Santos <nick.santos@docker.com>
2023-06-28 09:30:10 -04:00
CrazyMax ecf95283f0 Merge pull request #238 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.5.0
Bump @docker/actions-toolkit from 0.4.0 to 0.5.0
2023-06-13 11:55:02 +02:00
CrazyMax b2a38ee0c6 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 11:51:23 +02:00
dependabot[bot] 7f79690cac Bump @docker/actions-toolkit from 0.4.0 to 0.5.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 09:45:06 +00:00
CrazyMax bdd549bec0 Merge pull request #237 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.4.0
Bump @docker/actions-toolkit from 0.3.0 to 0.4.0
2023-06-10 02:08:25 +02:00
CrazyMax be4a3855af update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-10 02:05:18 +02:00
dependabot[bot] 6c4dbb29f6 Bump @docker/actions-toolkit from 0.3.0 to 0.4.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.3.0...v0.4.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 00:03:39 +00:00
CrazyMax 6a58db7e0d Merge pull request #236 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.3.0
Bump @docker/actions-toolkit from 0.2.0 to 0.3.0
2023-06-07 15:29:48 +02:00
CrazyMax d56292e348 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-07 15:26:35 +02:00
dependabot[bot] 790eb2db47 Bump @docker/actions-toolkit from 0.2.0 to 0.3.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.2.0 to 0.3.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 13:25:22 +00:00
CrazyMax 2a81c53912 Merge pull request #231 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.2.0
Bump @docker/actions-toolkit from 0.1.0 to 0.2.0
2023-06-06 14:20:23 +02:00
CrazyMax 00b2400aad update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-06 14:13:56 +02:00
dependabot[bot] 484614d7a1 Bump @docker/actions-toolkit from 0.1.0 to 0.2.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0 to 0.2.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0...v0.2.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 12:05:07 +00:00
CrazyMax d95759405f Merge pull request #219 from crazy-max/ci-k3s-append
set node name for k8s driver when appending nodes
2023-06-06 13:38:48 +02:00
CrazyMax 5bb6d36be0 ci: set up and build with k3s
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-02 14:27:38 +02:00
CrazyMax a99c5e53ef update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-02 14:03:28 +02:00
CrazyMax fc1a41d2e5 set node name for k8s driver when appending nodes
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-02 14:03:26 +02:00
CrazyMax 95cefc3c57 Merge pull request #230 from docker/dependabot/github_actions/docker/bake-action-3
Bump docker/bake-action from 2 to 3
2023-06-02 13:50:38 +02:00
dependabot[bot] 8ec3610541 Bump docker/bake-action from 2 to 3
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 2 to 3.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-19 04:57:04 +00:00
CrazyMax a946f06b5d Merge pull request #229 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.1.0
Bump @docker/actions-toolkit from 0.1.0-beta.19 to 0.1.0
2023-04-17 06:43:00 +02:00
CrazyMax ce223e774e update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 02:59:38 +02:00
CrazyMax d267e74486 use new implementation from toolkit
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 02:59:25 +02:00
CrazyMax d350de3bba update dev dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 02:56:56 +02:00
dependabot[bot] 45a8690f10 Bump @docker/actions-toolkit from 0.1.0-beta.19 to 0.1.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.19 to 0.1.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.19...v0.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 04:57:20 +00:00
CrazyMax b167a89702 Merge pull request #221 from crazy-max/update-workflows
ci: split validate and test workflow
2023-03-15 15:20:34 +00:00
CrazyMax 81d4866861 ci: split validate and test workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-12 13:58:14 +01:00
CrazyMax 07aea5fc9c Merge pull request #220 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.1.0-beta.19
Bump @docker/actions-toolkit from 0.1.0-beta.18 to 0.1.0-beta.19
2023-03-11 21:09:01 +00:00
CrazyMax 1d91983c26 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-11 22:04:18 +01:00
dependabot[bot] 496312bcb8 Bump @docker/actions-toolkit from 0.1.0-beta.18 to 0.1.0-beta.19
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.18 to 0.1.0-beta.19.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.18...v0.1.0-beta.19)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-11 21:02:49 +00:00
CrazyMax 4b4e9c3e2d Merge pull request #216 from awendland/patch-1
nit typo in README.md, csv is comma-delimited
2023-03-10 09:29:49 +00:00
CrazyMax eb27bcbef3 Merge pull request #218 from crazy-max/fix-builder-removal
do not remove builder using the docker driver
2023-03-10 09:28:46 +00:00
CrazyMax b7471d4240 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-10 00:06:27 +01:00
CrazyMax e2df91e851 check builder exists before removal
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-10 00:05:22 +01:00
CrazyMax 85ce96bcbc do not remove builder using the docker driver
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-09 10:08:41 +01:00
CrazyMax f549413411 Merge pull request #217 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.1.0-beta.18
Bump @docker/actions-toolkit from 0.1.0-beta.16 to 0.1.0-beta.18
2023-03-09 08:47:13 +00:00
CrazyMax 99988698a5 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-09 09:42:37 +01:00
dependabot[bot] e30725c029 Bump @docker/actions-toolkit from 0.1.0-beta.16 to 0.1.0-beta.18
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.16 to 0.1.0-beta.18.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.16...v0.1.0-beta.18)

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-08 19:13:39 +01:00
CrazyMax f1dc97ee10 Merge pull request #213 from crazy-max/cleanup-input
cleanup input to remove builder and temp files
2023-03-08 17:53:19 +00:00
Alex Wendland 51ecd0a47f nit typo in README.md, csv is comma-delimited
Signed-off-by: Alex Wendland <me@alexwendland.com>
2023-03-07 11:09:55 -05:00
CrazyMax 830f01a409 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-03 12:08:20 +01:00
CrazyMax 8b13d483f2 cleanup input to remove builder and temp files
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-03 12:08:20 +01:00
CrazyMax 03a7a3d9fb Merge pull request #209 from crazy-max/docker-context
fix current context as builder name for docker driver
2023-03-03 10:51:02 +01:00
CrazyMax 30389db034 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-02 19:49:22 +01:00
CrazyMax 05ca2e6f5e fix current context as builder name for docker driver
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-02 19:49:22 +01:00
CrazyMax 774ea5c2f1 Merge pull request #204 from crazy-max/switch-toolkit
switch to actions-toolkit implementation
2023-03-02 19:47:30 +01:00
CrazyMax 534bd3c5e6 readme: update screenshot
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-25 13:27:17 +01:00
CrazyMax 0f5a2d6712 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-25 13:27:17 +01:00
CrazyMax 987520896f switch to actions-toolkit implementation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-25 13:27:17 +01:00
CrazyMax a19c171088 Merge pull request #208 from crazy-max/fix-docs-links
docs: updates
2023-02-24 14:47:01 +01:00
CrazyMax 347dac9901 docs: updates
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-24 03:22:30 +01:00
CrazyMax 2dd22fa31c Merge pull request #203 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-2
Bump crazy-max/ghaction-dump-context from 1 to 2
2023-02-13 11:36:01 +01:00
dependabot[bot] dd904132a2 Bump crazy-max/ghaction-dump-context from 1 to 2
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 1 to 2.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Changelog](https://github.com/crazy-max/ghaction-dump-context/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/v1...v2)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 04:56:50 +00:00
CrazyMax f03ac48505 Merge pull request #199 from docker/dependabot/npm_and_yarn/csv-parse-5.3.4
Bump csv-parse from 5.3.3 to 5.3.4
2023-02-06 12:36:43 +01:00
dependabot[bot] c8c479bb5b Bump csv-parse from 5.3.3 to 5.3.4
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.3.3 to 5.3.4.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [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.3.4/packages/csv-parse)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 11:33:37 +00:00
CrazyMax 379311a773 Merge pull request #200 from crazy-max/toolkit
Get releases from actions toolkit
2023-02-06 12:32:31 +01:00
CrazyMax 6842354d08 Get releases from actions toolkit
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-03 14:51:57 +01:00
CrazyMax 7ce9a1f69d add @docker/actions-toolkit
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-03 14:38:14 +01:00
CrazyMax 11e8a2e291 Merge pull request #197 from crazy-max/update-build-push
update build-push-action to v4
2023-01-31 15:10:09 +01:00
CrazyMax 9407e67a52 update build-push-action to v4
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-30 19:39:05 +01:00
CrazyMax 15c905b16b Merge pull request #196 from crazy-max/dl-no-token
don't depend on the GitHub API to check release
2023-01-30 12:02:49 +01:00
CrazyMax a25d6a0130 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-30 11:56:13 +01:00
CrazyMax 39322d9057 don't depend on the GitHub API to check release
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-30 11:56:13 +01:00
Justin Chadwell 0648fd6fd6 Merge pull request #195 from crazy-max/fix-readme
fix action version in README
2023-01-28 13:36:35 +00:00
CrazyMax 30d8a59ee0 fix action version in README
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 14:03:18 +01:00
CrazyMax 71320d2e17 Merge pull request #193 from fevrin/update-gh-doc-url
update GH doc URL
2023-01-28 13:37:04 +01:00
Chrissy Weeks 272f8b84cf update GH doc URL
Signed-off-by: Fevrin <fevrin@users.noreply.github.com>
2023-01-28 01:46:35 -05:00
CrazyMax 5e716dcfd6 Merge pull request #192 from crazy-max/support-ghes
enforce baseUrl to api.github.com if action used on GHES
2023-01-28 03:02:07 +01:00
CrazyMax a83788eef0 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 02:47:03 +01:00
CrazyMax d0d9a72195 pass the token input through on GHES
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 02:45:17 +01:00
CrazyMax a8165e7b70 enforce baseUrl to api.github.com if action used on GHES
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 02:44:08 +01:00
CrazyMax a024221c60 Merge pull request #191 from crazy-max/fix-dl-release
use Octokit client to download buildx
2023-01-28 02:08:06 +01:00
CrazyMax 4c3fce4ab2 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 01:48:35 +01:00
CrazyMax 7c965aebec use Octokit client to download buildx
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 01:48:35 +01:00
CrazyMax 7932f6210d Merge pull request #189 from docker/version-pinning-docs
docs: add version pinning information to the README
2023-01-25 14:10:54 +01:00
Justin Chadwell 70deadb37a docs: add version pinning information to the README
This should provide an easy reference for users starting to use this
action who want to pin versions, so that they can easily identify the
different versioning pattern used by this action.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2023-01-25 13:07:15 +00:00
CrazyMax 165fe681b8 Merge pull request #184 from docker/dependabot/npm_and_yarn/json5-2.2.3
Bump json5 from 2.2.0 to 2.2.3
2023-01-08 18:33:12 +01:00
dependabot[bot] 2d305372c4 Bump json5 from 2.2.0 to 2.2.3
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-07 04:55:11 +00:00
CrazyMax c252a3bb80 Merge pull request #181 from docker/dependabot/npm_and_yarn/csv-parse-5.3.3
Bump csv-parse from 5.3.1 to 5.3.3
2022-12-19 21:09:29 +01:00
CrazyMax 4661366cb8 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-12-19 21:03:54 +01:00
dependabot[bot] 03d7e8ebf0 Bump csv-parse from 5.3.1 to 5.3.3
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.3.1 to 5.3.3.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [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.3.3/packages/csv-parse)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 19:37:47 +00:00
CrazyMax 22f6533f7c Merge pull request #182 from docker/dependabot/npm_and_yarn/minimatch-3.1.2
Bump minimatch from 3.0.4 to 3.1.2
2022-12-19 20:27:47 +01:00
CrazyMax b30c61b0de readme: fix badges
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-12-19 20:23:49 +01:00
CrazyMax 51cc8966ea update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-12-19 20:22:54 +01:00
dependabot[bot] db8b80b0d3 Bump minimatch from 3.0.4 to 3.1.2
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-29 17:55:03 +00:00
CrazyMax 39a1a82492 Merge pull request #180 from crazy-max/upd-docs
docs: moved to docs website
2022-11-10 18:25:55 +01:00
CrazyMax c77919d12e docs: add contributing section
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-11-10 16:02:34 +01:00
CrazyMax 341de1b1a5 docs: moved to docs website
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-11-10 16:01:32 +01:00
CrazyMax 8c0edbc76e Merge pull request #175 from crazy-max/input-list-quotes
escape surrounding quotes for platforms input
2022-10-18 11:15:32 +02:00
CrazyMax 1fb9cbdb32 escape surrounding quotes for platforms input
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-18 11:06:34 +02:00
CrazyMax 693fdd6ca6 Merge pull request #174 from crazy-max/input-quote
preserve quotes surrounding fields in input list
2022-10-18 10:37:08 +02:00
CrazyMax fe4c1ac86d preserve quotes surrounding fields in input list
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-17 20:44:03 +02:00
CrazyMax c74574e6c8 Merge pull request #172 from docker/dependabot/npm_and_yarn/csv-parse-5.3.1
Bump csv-parse from 5.3.0 to 5.3.1
2022-10-17 15:11:27 +02:00
CrazyMax 2d0cf98781 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-17 15:08:30 +02:00
dependabot[bot] 5f1d4ea81f Bump csv-parse from 5.3.0 to 5.3.1
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [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.3.1/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>
2022-10-17 04:04:47 +00:00
Tõnis Tiigi 59b5ed6124 Merge pull request #165 from crazy-max/append
append nodes to builder support
2022-10-14 11:30:50 -07:00
CrazyMax bd61d52837 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-14 11:47:46 +02:00
CrazyMax f6efb5fcbb platforms input
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-14 11:47:46 +02:00
CrazyMax 2dfca373f3 append nodes to builder support
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-14 11:46:19 +02:00
CrazyMax 95cb08cb26 Merge pull request #171 from crazy-max/rmsync
Fix deprecated fs.rmdir
2022-10-12 12:09:19 +02:00
CrazyMax eb5c2a6eea Fix deprecated fs.rmdir
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 12:05:06 +02:00
CrazyMax 83612bea36 Merge pull request #170 from crazy-max/setOutput
Remove workaround for setOutput
2022-10-12 11:51:02 +02:00
CrazyMax 40fefd8a58 Remove workaround for setOutput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 11:44:21 +02:00
CrazyMax 90a1e4619e Merge pull request #169 from crazy-max/context-module
move args logic to context module and add tests
2022-10-12 11:43:19 +02:00
CrazyMax 5a9fc40575 move args logic to context module and add tests
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 11:38:58 +02:00
CrazyMax 6c48dad5f0 Merge pull request #159 from docker/dependabot/npm_and_yarn/uuid-9.0.0
Bump uuid from 8.3.2 to 9.0.0
2022-10-12 11:15:57 +02:00
CrazyMax 16c2ddbfa7 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 11:04:04 +02:00
dependabot[bot] 0fe8589bf4 Bump uuid from 8.3.2 to 9.0.0
Bumps [uuid](https://github.com/uuidjs/uuid) from 8.3.2 to 9.0.0.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v8.3.2...v9.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 09:03:26 +00:00
CrazyMax f3692cbe43 Merge pull request #167 from docker/dependabot/npm_and_yarn/actions/core-1.10.0
Bump @actions/core from 1.9.1 to 1.10.0
2022-10-12 10:53:12 +02:00
CrazyMax 51ce2e7281 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 10:50:51 +02:00
dependabot[bot] 1759384a3b Bump @actions/core from 1.9.1 to 1.10.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 04:10:30 +00:00
CrazyMax d5234d6605 Merge pull request #162 from crazy-max/nodes-output
nodes metadata JSON ouput
2022-09-22 11:05:09 +02:00
CrazyMax ec8fe6a2ec update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 03:02:22 +02:00
CrazyMax c6ec880f34 add tests for inspect parsing
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 03:01:46 +02:00
CrazyMax 69d3837448 return driver opts and buildkit version from nodes metadata
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 03:01:46 +02:00
CrazyMax aa0df6f73a nodes metadata JSON ouput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 03:01:45 +02:00
Tõnis Tiigi f0ad70c1de Merge pull request #164 from crazy-max/node-auth
auth support for tls endpoint
2022-09-21 17:59:10 -07:00
CrazyMax 1a6cf9b6d7 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 02:48:42 +02:00
CrazyMax 1c2ad20e10 auth support for tls endpoint
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 02:48:36 +02:00
Tõnis Tiigi f5bc16b105 Merge pull request #163 from crazy-max/update-docs
update and split docs
2022-09-19 16:18:24 -07:00
CrazyMax 86f43c11f1 update and split docs
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-18 02:34:19 +02:00
CrazyMax f385c9ed95 Merge pull request #161 from crazy-max/fix-remote
skip setting buildkitd flags and config for remote driver
2022-09-16 18:35:19 +02:00
CrazyMax 798ed00eea skip setting buildkitd flags and config for remote driver
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-16 18:12:29 +02:00
CrazyMax bea6a01aa4 Merge pull request #157 from docker/dependabot/npm_and_yarn/actions/core-1.9.1
Bump @actions/core from 1.8.2 to 1.9.1
2022-08-24 13:15:56 +02:00
CrazyMax 3a2cc9a001 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-08-24 12:34:51 +02:00
dependabot[bot] 7a18bafc06 Bump @actions/core from 1.8.2 to 1.9.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.8.2 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-09 04:03:44 +00:00
CrazyMax 312f67c662 Merge pull request #149 from docker/dependabot/npm_and_yarn/actions/http-client-2.0.1
Bump @actions/http-client from 1.0.11 to 2.0.1
2022-06-07 12:07:38 +02:00
CrazyMax b8ba4729df Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-07 12:05:02 +02:00
dependabot[bot] afe5b71b31 Bump @actions/http-client from 1.0.11 to 2.0.1
Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 1.0.11 to 2.0.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [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-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 10:00:02 +00:00
CrazyMax 6f5431bef1 Merge pull request #150 from docker/dependabot/npm_and_yarn/actions/tool-cache-2.0.1
Bump @actions/tool-cache from 1.7.2 to 2.0.1
2022-06-07 11:58:06 +02:00
CrazyMax da30c94fcd Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-07 11:51:26 +02:00
dependabot[bot] 718cf00a00 Bump @actions/tool-cache from 1.7.2 to 2.0.1
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.7.2 to 2.0.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 09:49:41 +00:00
CrazyMax c4fbfe3f62 Merge pull request #151 from docker/dependabot/npm_and_yarn/actions/core-1.8.2
Bump @actions/core from 1.6.0 to 1.8.2
2022-06-07 11:48:17 +02:00
CrazyMax 449215757a Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-07 11:46:00 +02:00
CrazyMax cafcc1d31f Merge pull request #152 from rodrigc/readme-clarify-install
Clarify install option in example
2022-05-28 11:26:39 +02:00
CrazyMax 7560281ec7 Merge pull request #145 from Firefishy/patch-1
Minor README.md update - use newer action versions
2022-05-28 11:26:08 +02:00
Grant 9102fb725f Minor README.md update - use newer action versions
Signed-off-by: Grant Slater <git@firefishy.com>
2022-05-27 00:52:01 +01:00
Craig Rodrigues 43262924e3 Clarify description for install option
"docker build" is actually aliased to "docker build buildx"

Signed-off-by: Craig Rodrigues <rodrigc@crodrigues.org>
2022-05-26 18:23:16 -04:00
Craig RodriguesandCrazyMax 455b065be4 Clarify install option in example
Co-authored-by: CrazyMax <github@crazymax.dev>
Signed-off-by: Craig Rodrigues <rodrigc@crodrigues.org>
2022-05-26 17:59:37 -04:00
dependabot[bot] 26f93d2e65 Bump @actions/core from 1.6.0 to 1.8.2
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.6.0 to 1.8.2.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 04:04:08 +00:00
CrazyMax 91cb32d715 Merge pull request #142 from crazy-max/update-refs
Bump all Docker actions to latest major
2022-05-05 19:46:51 +02:00
CrazyMax 7085ac52c5 Bump all Docker actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-05 19:43:45 +02:00
CrazyMax dc7b9719a9 Merge pull request #131 from crazy-max/node16
Node 16 as default runtime
2022-05-05 18:44:52 +02:00
CrazyMax f55bc08278 Merge pull request #141 from crazy-max/fix-test
ci: fix standalone test
2022-05-05 18:38:22 +02:00
CrazyMax aa877a9d36 ci: fix standalone test
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-05 18:33:06 +02:00
CrazyMax f211e3e9de Merge pull request #136 from docker/dependabot/npm_and_yarn/semver-7.3.7
Bump semver from 7.3.5 to 7.3.7
2022-04-28 07:40:22 +02:00
CrazyMax b23216e504 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-04-28 07:39:41 +02:00
dependabot[bot] be7e600e20 Bump semver from 7.3.5 to 7.3.7
Bumps [semver](https://github.com/npm/node-semver) from 7.3.5 to 7.3.7.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.5...v7.3.7)

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-28 07:39:20 +02:00
CrazyMax 7117987c01 Merge pull request #119 from crazy-max/standalone
Standalone mode
2022-04-26 14:16:39 +02:00
CrazyMax 17ebdd4d65 ci: add jobs to check standalone behavior
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-04-17 17:22:11 +02:00
CrazyMax 3472856dd9 support standalone mode and display version
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-04-17 17:22:11 +02:00
CrazyMax 74283caced Merge pull request #133 from docker/dependabot/github_actions/codecov/codecov-action-3
Bump codecov/codecov-action from 2 to 3
2022-04-12 13:44:42 +02:00
dependabot[bot] 5b77ad49e8 Bump codecov/codecov-action from 2 to 3
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-06 04:02:53 +00:00
CrazyMax 2a6fbda6d8 Merge pull request #132 from docker/dependabot/npm_and_yarn/minimist-1.2.6
Bump minimist from 1.2.5 to 1.2.6
2022-03-28 15:57:13 +02:00
dependabot[bot] 03815bdb06 Bump minimist from 1.2.5 to 1.2.6
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-27 13:36:56 +00:00
CrazyMax 130c56f342 Node 16 as default runtime
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-03-21 13:50:20 +01:00
CrazyMax 20111c6447 Merge pull request #130 from crazy-max/update-dev
chore: update dev dependencies and workflow
2022-03-21 13:48:45 +01:00
CrazyMax 2e23606dc9 chore: update dev dependencies and workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-03-21 13:43:41 +01:00
CrazyMax c62171c994 Merge pull request #129 from docker/dependabot/npm_and_yarn/actions/exec-1.1.1
Bump @actions/exec from 1.1.0 to 1.1.1
2022-03-21 09:15:00 +01:00
CrazyMax 63e7b23412 Merge pull request #128 from docker/dependabot/npm_and_yarn/actions/tool-cache-1.7.2
Bump @actions/tool-cache from 1.7.1 to 1.7.2
2022-03-21 09:14:45 +01:00
dependabot[bot] a7c4ed7e88 Bump @actions/exec from 1.1.0 to 1.1.1
Bumps [@actions/exec](https://github.com/actions/toolkit/tree/HEAD/packages/exec) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/exec/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/tool-cache@1.1.1/packages/exec)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 04:04:01 +00:00
dependabot[bot] 1f1648ab3d Bump @actions/tool-cache from 1.7.1 to 1.7.2
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 04:03:51 +00:00
CrazyMax 766152f6a9 Merge pull request #126 from docker/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-03-02 07:32:06 +01:00
dependabot[bot] 2895b304f6 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 04:03:41 +00:00
CrazyMax 79abd3f86f Merge pull request #114 from crazy-max/update-workflow
dev: update workflow
2021-11-16 21:58:03 +01:00
CrazyMax 292fc577e1 dev: update workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-11-16 21:53:30 +01:00
CrazyMax 5146db6c4d Merge pull request #110 from docker/dependabot/npm_and_yarn/actions/core-1.6.0
Bump @actions/core from 1.5.0 to 1.6.0
2021-10-04 13:44:57 +02:00
CrazyMax a8ba68b618 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-10-04 13:42:40 +02:00
dependabot[bot] 68780ae5cd Bump @actions/core from 1.5.0 to 1.6.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-29 04:04:10 +00:00
CrazyMax f76216067a Merge pull request #109 from docker/dependabot/npm_and_yarn/ansi-regex-5.0.1
Bump ansi-regex from 5.0.0 to 5.0.1
2021-09-24 14:53:07 +02:00
dependabot[bot] 92ae2888fa Bump ansi-regex from 5.0.0 to 5.0.1
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-24 12:07:19 +00:00
CrazyMax e2e5a5f8da Merge pull request #108 from docker/dependabot/npm_and_yarn/tmpl-1.0.5
Bump tmpl from 1.0.4 to 1.0.5
2021-09-24 14:06:54 +02:00
dependabot[bot] 50d73b9aba Bump tmpl from 1.0.4 to 1.0.5
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-22 01:51:23 +00:00
CrazyMax 94ab11c41e Merge pull request #106 from crazy-max/config-inline
Add `config-inline` input
2021-09-03 22:23:23 +02:00
CrazyMax 34e94a5fed Add config-inline input
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-09-03 22:21:33 +02:00
CrazyMax ee7ac3140a Merge pull request #104 from docker/dependabot/npm_and_yarn/actions/core-1.5.0
Bump @actions/core from 1.4.0 to 1.5.0
2021-08-20 10:58:12 +02:00
CrazyMax 93fe949311 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-08-20 10:56:04 +02:00
dependabot[bot] 75abbe0a7b Bump @actions/core from 1.4.0 to 1.5.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-20 04:04:09 +00:00
CrazyMax e639814ab4 Merge pull request #101 from docker/dependabot/github_actions/codecov/codecov-action-2.0.1
Bump codecov/codecov-action from 1 to 2.0.1
2021-07-23 13:01:36 +02:00
CrazyMax 96016fa2cf Use major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-23 12:56:44 +02:00
CrazyMax cddc6485b4 Merge pull request #102 from crazy-max/update-deps
Use official images
2021-07-20 10:35:27 +02:00
CrazyMax 1e85bf381a Use official images
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-20 10:29:24 +02:00
dependabot[bot] 7c99741146 Bump codecov/codecov-action from 1 to 2.0.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 2.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v2.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-20 04:02:19 +00:00
CrazyMax abe5d8f79a Merge pull request #100 from crazy-max/explicit-semver
Explicit version spec for caching
2021-07-12 13:23:18 +02:00
CrazyMax 580d5c72a2 Explicit version spec for caching
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-11 22:42:24 +02:00
CrazyMax e673438944 Merge pull request #99 from crazy-max/build-ref
Allow building buildx from source
2021-07-02 10:49:07 +02:00
CrazyMax f40e8894f1 Allow building buildx from source
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-02 07:02:33 +02:00
CrazyMax a1c666d855 Merge pull request #97 from crazy-max/fix-get-buildkit-version
Fix `docker: invalid reference format`
2021-06-29 14:04:53 +02:00
CrazyMax d5b70f51d8 Fix docker: invalid reference format
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-29 14:02:48 +02:00
CrazyMax 2e941f2def Merge pull request #95 from crazy-max/dev-deps
Update dev deps
2021-06-23 17:12:30 +02:00
CrazyMax eef74457f7 Update dev deps
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 17:03:04 +02:00
CrazyMax e168301d39 Merge pull request #94 from crazy-max/exec-output
Use built-in `getExecOutput`
2021-06-23 16:42:15 +02:00
CrazyMax 29f1eeb9e5 Use built-in getExecOutput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 16:11:57 +02:00
CrazyMax faca7837b0 Merge pull request #93 from crazy-max/bool-input
Use `core.getBooleanInput`
2021-06-23 15:49:45 +02:00
CrazyMax dffa64995b Use core.getBooleanInput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 15:43:25 +02:00
CrazyMax c0e291b502 Merge pull request #86 from docker/dependabot/npm_and_yarn/actions/tool-cache-1.7.1
Bump @actions/tool-cache from 1.7.0 to 1.7.1
2021-06-23 15:01:18 +02:00
CrazyMax 2323559062 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 14:59:36 +02:00
dependabot[bot] e80b8cc6d8 Bump @actions/tool-cache from 1.7.0 to 1.7.1
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 12:30:27 +00:00
CrazyMax 31e7cc5f84 Merge pull request #85 from docker/dependabot/npm_and_yarn/actions/exec-1.1.0
Bump @actions/exec from 1.0.4 to 1.1.0
2021-06-23 14:28:46 +02:00
CrazyMax 9db0a23fb3 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 14:26:04 +02:00
dependabot[bot] 90e26af07a Bump @actions/exec from 1.0.4 to 1.1.0
Bumps [@actions/exec](https://github.com/actions/toolkit/tree/HEAD/packages/exec) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/exec/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/core@1.1.0/packages/exec)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 12:17:11 +00:00
CrazyMax 01ed3f7910 Merge pull request #87 from docker/dependabot/npm_and_yarn/actions/core-1.4.0
Bump @actions/core from 1.3.0 to 1.4.0
2021-06-23 14:11:09 +02:00
CrazyMax 11ae4c31f6 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 13:56:24 +02:00
CrazyMax 983bf3e000 Merge pull request #91 from docker/dependabot/npm_and_yarn/y18n-4.0.3
Bump y18n from 4.0.0 to 4.0.3
2021-06-23 12:10:31 +02:00
CrazyMax 9a462131b5 Merge pull request #89 from docker/dependabot/npm_and_yarn/hosted-git-info-2.8.9
Bump hosted-git-info from 2.8.8 to 2.8.9
2021-06-23 12:09:47 +02:00
CrazyMax 1806a02fac Merge pull request #90 from docker/dependabot/npm_and_yarn/ws-7.5.0
Bump ws from 7.3.1 to 7.5.0
2021-06-23 12:09:30 +02:00
CrazyMax c1f17c078a Merge pull request #92 from docker/dependabot/npm_and_yarn/lodash-4.17.21
Bump lodash from 4.17.19 to 4.17.21
2021-06-23 12:01:51 +02:00
dependabot[bot] 76bfd425d8 Bump lodash from 4.17.19 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 09:58:26 +00:00
dependabot[bot] 5a93241d03 Bump y18n from 4.0.0 to 4.0.3
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.3.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/y18n-v4.0.3/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/compare/v4.0.0...y18n-v4.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 09:58:22 +00:00
dependabot[bot] 2f13c4010e Bump hosted-git-info from 2.8.8 to 2.8.9
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

---
updated-dependencies:
- dependency-name: hosted-git-info
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 09:58:22 +00:00
dependabot[bot] 1dd5af0c3a Bump ws from 7.3.1 to 7.5.0
Bumps [ws](https://github.com/websockets/ws) from 7.3.1 to 7.5.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.3.1...7.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 09:58:22 +00:00
dependabot[bot] 55dd79473c Bump @actions/core from 1.3.0 to 1.4.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-08 04:04:34 +00:00
CrazyMax b1f1f719c7 Merge pull request #82 from docker/dependabot/npm_and_yarn/actions/tool-cache-1.7.0
Bump @actions/tool-cache from 1.6.1 to 1.7.0
2021-05-30 16:43:16 +02:00
CrazyMax 68810d1ede Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-05-30 16:41:24 +02:00
dependabot[bot] cd8b844a0a Bump @actions/tool-cache from 1.6.1 to 1.7.0
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-28 04:03:56 +00:00
CrazyMax 894f000c27 Merge pull request #80 from docker/dependabot/npm_and_yarn/actions/core-1.3.0
Bump @actions/core from 1.2.7 to 1.3.0
2021-05-25 02:57:25 +02:00
CrazyMax f080c7125b Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-05-25 02:52:57 +02:00
dependabot[bot] 49b8353604 Bump @actions/core from 1.2.7 to 1.3.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.7 to 1.3.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-24 04:10:09 +00:00
CrazyMax 0d135e0c2f Merge pull request #72 from crazy-max/buildkit-version
Display BuildKit version
2021-04-28 22:06:10 +02:00
CrazyMax 36d8e005ca Display BuildKit version
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-28 18:09:01 +02:00
CrazyMax 012185ccbe Merge pull request #71 from crazy-max/remove-limitation
Remove os limitation
2021-04-23 23:12:37 +02:00
CrazyMax 881cacd606 Remove os limitation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-23 22:43:09 +02:00
CrazyMax 076026291d Merge pull request #68 from crazy-max/config-test
Add test job for config input
2021-04-23 22:37:54 +02:00
CrazyMax f4b1b8d38d Add test job for config input
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-23 22:26:59 +02:00
CrazyMax 316c3e4a7c Merge pull request #70 from crazy-max/debug-buildkitd
BuildKit container logs
2021-04-23 22:24:19 +02:00
CrazyMax 5b1c96aee8 Display BuildKit container logs
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-23 22:08:45 +02:00
CrazyMax 0f034385ce Merge pull request #69 from crazy-max/inspect
Enhance builder inspection
2021-04-23 19:34:42 +02:00
CrazyMax 72750233ac Enhance builder inspection
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-23 18:14:58 +02:00
CrazyMax abdb186058 Merge pull request #67 from GMartinez-Sisti/config-input
Add config input
2021-04-22 15:24:39 +02:00
Gabriel Martinez 9b365965c1 Add config input
Signed-off-by: Gabriel Martinez <gabrielmartinez@sisti.pt>
2021-04-22 14:05:31 +01:00
CrazyMax 583a3147f8 Merge pull request #65 from docker/dependabot/npm_and_yarn/actions/core-1.2.7
Bump @actions/core from 1.2.6 to 1.2.7
2021-04-16 15:23:02 +02:00
CrazyMax 2913c18445 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-16 14:49:12 +02:00
dependabot[bot] 26e1d017b6 Bump @actions/core from 1.2.6 to 1.2.7
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.6 to 1.2.7.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-14 04:08:35 +00:00
CrazyMax 2a4b53665e Merge pull request #63 from crazy-max/doc
Fix doc links
2021-04-06 16:35:30 +02:00
CrazyMax 03951fea2c Merge pull request #61 from docker/dependabot/npm_and_yarn/actions/http-client-1.0.11
Bump @actions/http-client from 1.0.9 to 1.0.11
2021-04-03 21:40:57 +02:00
CrazyMax 04f80b2fda Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-03 21:28:07 +02:00
dependabot[bot] 240d54e928 Bump @actions/http-client from 1.0.9 to 1.0.11
Bumps [@actions/http-client](https://github.com/actions/http-client) from 1.0.9 to 1.0.11.
- [Release notes](https://github.com/actions/http-client/releases)
- [Changelog](https://github.com/actions/http-client/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/http-client/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-03 19:12:54 +00:00
CrazyMax 070ea47eff Fix doc links
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-03 20:57:52 +02:00
CrazyMax d3872b2920 Merge pull request #62 from crazy-max/workflow
Enhance workflow
2021-04-02 11:23:21 +02:00
CrazyMax cb02c5f3d1 Enhance workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-02 01:19:20 +02:00
CrazyMax f0d07f4abd Merge pull request #59 from docker/dependabot/npm_and_yarn/semver-7.3.5
Bump semver from 7.3.4 to 7.3.5
2021-03-23 18:29:51 +01:00
CrazyMax 31740423d9 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-03-23 18:24:17 +01:00
dependabot[bot] f25fc8d621 Bump semver from 7.3.4 to 7.3.5
Bumps [semver](https://github.com/npm/node-semver) from 7.3.4 to 7.3.5.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.4...v7.3.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-23 05:49:51 +00:00
CrazyMax 8d9ae5d563 Merge pull request #58 from crazy-max/cleanup
Remove label workflow
2021-03-18 20:11:23 +01:00
CrazyMax 33d65376eb Remove label workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-03-18 20:08:45 +01:00
CrazyMax 4ad06cec8a Merge pull request #56 from crazy-max/doc
Enhance doc
2021-02-17 19:06:17 +01:00
CrazyMax bae85ae215 Enhance doc
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-02-17 18:30:12 +01:00
56 changed files with 13679 additions and 14048 deletions

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
/coverage
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+2
View File
@@ -1,2 +1,4 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/dist/** linguist-generated=true
/lib/** linguist-generated=true
-1
View File
@@ -1 +0,0 @@
* @crazy-max
+3
View File
@@ -0,0 +1,3 @@
# Code of conduct
- [Moby community guidelines](https://github.com/moby/moby/blob/master/CONTRIBUTING.md#moby-community-guidelines)
+11 -22
View File
@@ -2,35 +2,24 @@
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE).
Contributions to this project are [released](https://docs.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license)
to the public under the [project's open source license](LICENSE).
## Submitting a pull request
1. [Fork](https://github.com/docker/setup-buildx-action/fork) and clone the repository
2. Configure and install the dependencies: `yarn install`
3. Create a new branch: `git checkout -b my-branch-name`
4. Make your change, add tests, and make sure the tests still pass
5. Run pre-checkin: `yarn run pre-checkin`
6. Push to your fork and [submit a pull request](https://github.com/docker/setup-buildx-action/compare)
7. Pat yourself on the back and wait for your pull request to be reviewed and merged.
## Container based developer flow
If you don't want to maintain a Node developer environment that fits this project you can use containerized commands instead of invoking yarn directly.
```
# format code and build javascript artifacts
docker buildx bake pre-checkin
# validate all code has correctly formatted and built
docker buildx bake validate
# run tests
docker buildx bake test
```
4. Make your changes
5. Make sure the tests pass: `docker buildx bake test`
6. Format code and build javascript artifacts: `docker buildx bake pre-checkin`
7. Validate all code has correctly formatted and built: `docker buildx bake validate`
8. Push to your fork and [submit a pull request](https://github.com/docker/setup-buildx-action/compare)
9. Pat your self on the back and wait for your pull request to be reviewed and merged.
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
- Write tests.
- Make sure the `README.md` and any other relevant **documentation are kept up-to-date**.
- We try to follow [SemVer v2.0.0](https://semver.org/). Randomly breaking public APIs is not an option.
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as **separate pull requests**.
@@ -39,5 +28,5 @@ Here are a few things you can do that will increase the likelihood of your pull
## Resources
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
- [GitHub Help](https://help.github.com)
- [Using Pull Requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests)
- [GitHub Help](https://docs.github.com/en)
+101
View File
@@ -0,0 +1,101 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Bug Report
description: Report a bug
labels:
- status/triage
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report a bug!
If this is a security issue please report it to the [Docker Security team](mailto:security@docker.com).
- type: checkboxes
attributes:
label: Contributing guidelines
description: >
Make sure you've read the contributing guidelines before proceeding.
options:
- label: I've read the [contributing guidelines](https://github.com/docker/setup-buildx-action/blob/master/.github/CONTRIBUTING.md) and wholeheartedly agree
required: true
- type: checkboxes
attributes:
label: "I've found a bug, and:"
description: |
Make sure that your request fulfills all of the following requirements.
If one requirement cannot be satisfied, explain in detail why.
options:
- label: The documentation does not mention anything about my problem
- label: There are no open or closed issues that are related to my problem
- type: textarea
attributes:
label: Description
description: >
Provide a brief description of the bug in 1-2 sentences.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
description: >
Describe precisely what you'd expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Actual behaviour
description: >
Describe precisely what is actually happening.
validations:
required: true
- type: input
attributes:
label: Repository URL
description: >
Enter the URL of the repository where you are experiencing the
issue. If your repository is private, provide a link to a minimal
repository that reproduces the issue.
- type: input
attributes:
label: Workflow run URL
description: >
Enter the URL of the GitHub Action workflow run if public (e.g.
`https://github.com/<user>/<repo>/actions/runs/<id>`)
- type: textarea
attributes:
label: YAML workflow
description: |
Provide the YAML of the workflow that's causing the issue.
Make sure to remove any sensitive information.
render: yaml
validations:
required: true
- type: textarea
attributes:
label: Workflow logs
description: >
[Attach](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files)
the [log file of your workflow run](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
and make sure to remove any sensitive information.
- type: textarea
attributes:
label: BuildKit logs
description: >
If applicable, provide the [BuildKit container logs](https://docs.docker.com/build/ci/github-actions/configure-builder/#buildkit-container-logs)
render: text
- type: textarea
attributes:
label: Additional info
description: |
Provide any additional information that could be useful.
-33
View File
@@ -1,33 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
### Behaviour
#### Steps to reproduce this issue
1.
2.
3.
#### Expected behaviour
> Tell us what should happen
#### Actual behaviour
> Tell us what happens instead
### Configuration
* Repository URL (if public):
* Build URL (if public):
```yml
# paste your YAML workflow file here and remove sensitive data
```
### Logs
> Download the [log file of your build](https://help.github.com/en/actions/configuring-and-managing-workflows/managing-a-workflow-run#downloading-logs) and [attach it](https://help.github.com/en/github/managing-your-work-on-github/file-attachments-on-issues-and-pull-requests) to this issue.
+9
View File
@@ -0,0 +1,9 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: true
contact_links:
- name: Questions and Discussions
url: https://github.com/docker/setup-buildx-action/discussions/new
about: Use Github Discussions to ask questions and/or open discussion topics.
- name: Documentation
url: https://docs.docker.com/build/ci/github-actions/
about: Read the documentation.
+15
View File
@@ -0,0 +1,15 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Feature request
description: Missing functionality? Come tell us about it!
labels:
- kind/enhancement
- status/triage
body:
- type: textarea
id: description
attributes:
label: Description
description: What is the feature you want to see?
validations:
required: true
+12
View File
@@ -0,0 +1,12 @@
# Reporting security issues
The project maintainers take security seriously. If you discover a security
issue, please bring it to their attention right away!
**Please _DO NOT_ file a public issue**, instead send your report privately to
[security@docker.com](mailto:security@docker.com).
Security reports are greatly appreciated, and we will publicly thank you for it.
We also like to send gifts&mdash;if you'd like Docker swag, make sure to let
us know. We currently do not offer a paid security bounty program, but are not
ruling it out in the future.
-31
View File
@@ -1,31 +0,0 @@
# Support [![](https://isitmaintained.com/badge/resolution/docker/setup-buildx-action.svg)](https://isitmaintained.com/project/docker/setup-buildx-action)
First, [be a good guy](https://github.com/kossnocorp/etiquette/blob/master/README.md).
## Reporting an issue
Please do a search in [open issues](https://github.com/docker/setup-buildx-action/issues?utf8=%E2%9C%93&q=) to see if the issue or feature request has already been filed.
If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment.
:+1: - upvote
:-1: - downvote
If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below.
## Writing good bug reports and feature requests
File a single issue per problem and feature request.
* Do not enumerate multiple bugs or feature requests in the same issue.
* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.
You are now ready to [create a new issue](https://github.com/docker/setup-buildx-action/issues/new/choose)!
## Closure policy
* Issues that don't have the information requested above (when applicable) will be closed immediately and the poster directed to the support guidelines.
* Issues that go a week without a response from original poster are subject to closure at our discretion.
+15 -8
View File
@@ -4,19 +4,26 @@ updates:
directory: "/"
schedule:
interval: "daily"
time: "06:00"
timezone: "Europe/Paris"
cooldown:
default-days: 2
groups:
crazy-max-dot-github:
patterns:
- "crazy-max/.github/*"
labels:
- ":game_die: dependencies"
- ":robot: bot"
- "dependencies"
- "bot"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
time: "06:00"
timezone: "Europe/Paris"
cooldown:
default-days: 2
exclude:
- "@docker/actions-toolkit"
versioning-strategy: "increase"
allow:
- dependency-type: "production"
labels:
- ":game_die: dependencies"
- ":robot: bot"
- "dependencies"
- "bot"
-77
View File
@@ -1,77 +0,0 @@
## more info https://github.com/crazy-max/ghaction-github-labeler
- # automerge
name: ":bell: automerge"
color: "8f4fbc"
description: ""
- # bot
name: ":robot: bot"
color: "69cde9"
description: ""
- # bug
name: ":bug: bug"
color: "b60205"
description: ""
- # dependencies
name: ":game_die: dependencies"
color: "0366d6"
description: ""
- # documentation
name: ":memo: documentation"
color: "c5def5"
description: ""
- # duplicate
name: ":busts_in_silhouette: duplicate"
color: "cccccc"
description: ""
- # enhancement
name: ":sparkles: enhancement"
color: "0054ca"
description: ""
- # feature request
name: ":bulb: feature request"
color: "0e8a16"
description: ""
- # feedback
name: ":mega: feedback"
color: "03a9f4"
description: ""
- # future maybe
name: ":rocket: future maybe"
color: "fef2c0"
description: ""
- # good first issue
name: ":hatching_chick: good first issue"
color: "7057ff"
description: ""
- # help wanted
name: ":pray: help wanted"
color: "4caf50"
description: ""
- # hold
name: ":hand: hold"
color: "24292f"
description: ""
- # invalid
name: ":no_entry_sign: invalid"
color: "e6e6e6"
description: ""
- # maybe bug
name: ":interrobang: maybe bug"
color: "ff5722"
description: ""
- # needs more info
name: ":thinking: needs more info"
color: "795548"
description: ""
- # question
name: ":question: question"
color: "3f51b5"
description: ""
- # upstream
name: ":eyes: upstream"
color: "fbca04"
description: ""
- # wontfix
name: ":coffin: wontfix"
color: "ffffff"
description: ""
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 15 KiB

+441 -47
View File
@@ -1,18 +1,23 @@
name: ci
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
schedule:
- cron: '0 10 * * *'
push:
branches:
- master
- releases/v*
paths-ignore:
- "**.md"
- 'master'
- 'releases/v*'
tags:
- 'v*'
pull_request:
branches:
- master
- releases/v*
paths-ignore:
- "**.md"
jobs:
main:
@@ -21,13 +26,16 @@ jobs:
fail-fast: false
matrix:
buildx-version:
- latest
- v0.4.1
- ""
- "latest"
- "v0.4.1"
- "cloud:latest"
- "cloud:v0.11.2-desktop.2"
- "lab:latest"
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
id: buildx
@@ -35,51 +43,80 @@ jobs:
with:
version: ${{ matrix.buildx-version }}
-
name: Builder instance name
run: echo ${{ steps.buildx.outputs.name }}
-
name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
-
name: Dump context
uses: crazy-max/ghaction-dump-context@v1
name: Nodes output
run: |
cat << EOF
${{ steps.buildx.outputs.nodes }}
EOF
multi:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx 1
id: buildx1
uses: ./
-
name: Builder 1 instance name
run: echo ${{ steps.buildx1.outputs.name }}
-
name: Set up Docker Buildx 2
id: buildx2
uses: ./
-
name: Builder 2 instance name
run: echo ${{ steps.buildx2.outputs.name }}
install:
error:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Stop docker
run: |
sudo systemctl stop docker docker.socket
-
name: Set up Docker Buildx
id: buildx
continue-on-error: true
uses: ./
-
name: Check
run: |
echo "${{ toJson(steps.buildx) }}"
if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then
echo "::error::Should have failed"
exit 1
fi
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@4d9eeaf15dd59aa4346919ea84a84ccf514b4db8 # v3.1.0
debug:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
RUN uname -a
EOL
-
name: Set up QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
-
name: Set up Docker Buildx
uses: ./
with:
install: true
buildkitd-flags: --debug
-
name: Check cmd
run: |
docker build --help
name: Build
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: .
platforms: linux/amd64,linux/arm64,linux/ppc64le
use:
runs-on: ubuntu-latest
@@ -92,7 +129,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
uses: ./
@@ -115,7 +152,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
uses: ./
@@ -128,7 +165,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
uses: ./
@@ -147,7 +184,7 @@ jobs:
runs-on: ubuntu-latest
services:
dind:
image: docker:dind
image: docker:29.3-dind@sha256:4d90f1f6c400315c2dba96d3ec93c01e64198395cbba04f79d12adce4f737029
options: >-
--privileged
--health-cmd "docker info"
@@ -161,7 +198,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Create context
run: |
@@ -175,6 +212,67 @@ jobs:
uses: ./
with:
endpoint: mycontext
env:
DOCKER_CONTEXT: mycontext
buildkitd-config:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Create buildkitd conf
run: |
cat > /tmp/buildkitd.toml <<EOL
debug = true
[registry."docker.io"]
mirrors = ["mirror.gcr.io"]
EOL
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Set up Docker Buildx
uses: ./
with:
buildkitd-flags: --debug
buildkitd-config: /tmp/buildkitd.toml
-
name: Build
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: .
buildkitd-config-inline:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Set up Docker Buildx
uses: ./
with:
buildkitd-flags: --debug
buildkitd-config-inline: |
debug = true
[registry."docker.io"]
mirrors = ["mirror.gcr.io"]
-
name: Build
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: .
with-qemu:
runs-on: ubuntu-latest
@@ -182,8 +280,7 @@ jobs:
fail-fast: false
matrix:
buildx-version:
- latest
- v0.4.1
- v0.9.1
- ""
qemu-platforms:
- all
@@ -191,10 +288,10 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
with:
platforms: ${{ matrix.qemu-platforms }}
-
@@ -204,8 +301,305 @@ jobs:
with:
version: ${{ matrix.buildx-version }}
-
name: Available platforms
name: List builder platforms
run: echo ${{ steps.buildx.outputs.platforms }}
build-ref:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ref:
- master
- refs/tags/v0.5.1
- refs/pull/731/head
- cb185f095fd3d9444e0aa605d3789e9e05f2a1e7
steps:
-
name: Builder instance name
run: echo ${{ steps.buildx.outputs.name }}
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
uses: ./
with:
version: https://github.com/docker/buildx.git#${{ matrix.ref }}
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Build
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: .
standalone-cmd:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Uninstall docker cli
run: |
if dpkg -s "docker-ce" >/dev/null 2>&1; then
sudo dpkg -r --force-depends docker-ce-cli docker-buildx-plugin
else
sudo apt-get purge -y moby-cli moby-buildx
fi
-
name: Set up Docker Buildx
uses: ./
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Build
run: |
buildx build .
standalone-action:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Uninstall docker cli
run: |
if dpkg -s "docker-ce" >/dev/null 2>&1; then
sudo dpkg -r --force-depends docker-ce-cli docker-buildx-plugin
else
sudo apt-get purge -y moby-cli moby-buildx
fi
-
name: Set up Docker Buildx
uses: ./
with:
version: ${{ matrix.buildx-version }}
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Build
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: .
append:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Create dummy contexts
run: |
docker context create ctxbuilder2
docker context create ctxbuilder3
-
name: Set up Docker Buildx
id: buildx
uses: ./
with:
append: |
- name: builder2
endpoint: ctxbuilder2
platforms: linux/amd64
driver-opts:
- image=moby/buildkit:master
- network=host
- endpoint: ctxbuilder3
platforms: linux/arm64
-
name: List builder platforms
run: echo ${{ steps.buildx.outputs.platforms }}
platforms:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
-
name: Set up Docker Buildx
uses: ./
with:
platforms: linux/amd64
docker-context:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Create Docker context
run: |
docker context create foo
docker context use foo
-
name: Set up Docker Buildx
uses: ./
with:
driver: docker
cleanup:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cleanup:
- true
- false
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
uses: ./
with:
cleanup: ${{ matrix.cleanup }}
k3s:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version:
- latest
- v0.11.0
- v0.10.5
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Install k3s
uses: crazy-max/.github/.github/actions/install-k3s@46267a6e61cd56aac2fc79943df180152f4c89d6 # v1.10.1
-
name: Set up Docker Buildx
id: buildx
uses: ./
with:
version: ${{ matrix.version }}
driver: kubernetes
platforms: linux/amd64
driver-opts: |
image=moby/buildkit:buildx-stable-1
qemu.install=true
append: |
- platforms: linux/arm64
driver-opts:
- image=moby/buildkit:buildx-stable-1
- qemu.install=true
- platforms: linux/s390x
driver-opts:
- image=moby/buildkit:buildx-stable-1
- qemu.install=true
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
RUN uname -a
EOL
-
name: Build
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: .
cache-binary:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cache:
- true
- false
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
uses: ./
with:
version: v0.11.2
cache-binary: ${{ matrix.cache }}
windows-error:
runs-on: windows-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
id: buildx
continue-on-error: true
uses: ./
-
name: Check
run: |
echo "${{ toJson(steps.buildx) }}"
if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then
echo "::error::Should have failed"
exit 1
fi
shell: bash
keep-state:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
uses: ./
with:
name: foo
keep-state: true
-
name: Set up Docker Buildx
uses: ./
with:
name: foo
keep-state: true
keep-state-error:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Set up Docker Buildx
id: buildx
continue-on-error: true
uses: ./
with:
driver: docker
keep-state: true
-
name: Check
run: |
echo "${{ toJson(steps.buildx) }}"
if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then
echo "::error::Should have failed"
exit 1
fi
+46
View File
@@ -0,0 +1,46 @@
name: codeql
permissions:
contents: read
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
env:
NODE_VERSION: "24"
jobs:
analyze:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Enable corepack
run: |
corepack enable
yarn --version
-
name: Set up Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
with:
languages: javascript-typescript
build-mode: none
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
with:
category: "/language:javascript-typescript"
-20
View File
@@ -1,20 +0,0 @@
name: labels
on:
push:
branches:
- 'master'
paths:
- '.github/labels.yml'
- '.github/workflows/labels.yml'
jobs:
labeler:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v3
+17
View File
@@ -0,0 +1,17 @@
name: pr-assign-author
permissions:
contents: read
on:
pull_request_target: # zizmor: ignore[dangerous-triggers] safe to use without checkout
types:
- opened
- reopened
jobs:
run:
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@46267a6e61cd56aac2fc79943df180152f4c89d6 # v1.10.1
permissions:
contents: read
pull-requests: write
+28
View File
@@ -0,0 +1,28 @@
name: publish
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
release:
types:
- published
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Publish
uses: actions/publish-immutable-action@4bc8754ffc40f27910afb20287dbbbb675a4e978 # v0.0.4
+18 -26
View File
@@ -1,46 +1,38 @@
name: test
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- master
- releases/v*
paths-ignore:
- "**.md"
- 'master'
- 'releases/v*'
pull_request:
paths-ignore:
- "**.md"
jobs:
test-containerized:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Validate
run: docker buildx bake validate
-
name: Test
run: docker buildx bake test
test:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Install
run: yarn install
name: Set up Docker Buildx
uses: ./
-
name: Test
run: yarn run test
uses: docker/bake-action@6614cfa25eff9a0b2b2697efb0b6159e7680d584 # v7.2.0
with:
source: .
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v1
if: success()
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage/clover.xml
+58
View File
@@ -0,0 +1,58 @@
name: update-dist
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
types:
- opened
- synchronize
jobs:
update-dist:
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == github.event.pull_request.head.repo.full_name
runs-on: ubuntu-latest
steps:
-
name: GitHub auth token from GitHub App
id: docker-read-app
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }}
private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }}
owner: docker
repositories: setup-buildx-action
permission-contents: write
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
token: ${{ steps.docker-read-app.outputs.token }}
-
name: Build
uses: docker/bake-action@6614cfa25eff9a0b2b2697efb0b6159e7680d584 # v7.2.0
with:
source: .
targets: build
-
name: Commit and push dist
run: |
if [ -n "$(git status --porcelain -- dist)" ]; then
(
set -x
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add dist
git commit -m "[dependabot skip] chore: update generated content"
git push
)
else
echo "No changes in dist"
fi
+46
View File
@@ -0,0 +1,46 @@
name: validate
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.generate.outputs.matrix }}
steps:
-
name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-
name: Generate matrix
id: generate
uses: docker/bake-action/subaction/matrix@6614cfa25eff9a0b2b2697efb0b6159e7680d584 # v7.2.0
with:
target: validate
validate:
runs-on: ubuntu-latest
needs:
- prepare
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.prepare.outputs.matrix) }}
steps:
-
name: Validate
uses: docker/bake-action@6614cfa25eff9a0b2b2697efb0b6159e7680d584 # v7.2.0
with:
targets: ${{ matrix.target }}
+29
View File
@@ -0,0 +1,29 @@
name: zizmor
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- 'master'
- 'releases/v*'
tags:
- 'v*'
pull_request:
jobs:
zizmor:
uses: crazy-max/.github/.github/workflows/zizmor.yml@46267a6e61cd56aac2fc79943df180152f4c89d6 # v1.10.1
permissions:
contents: read
security-events: write
with:
min-severity: medium
min-confidence: medium
persona: pedantic
+14 -57
View File
@@ -1,12 +1,5 @@
/.dev
node_modules
lib
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Jetbrains
/.idea
/*.iml
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
@@ -14,6 +7,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@@ -24,34 +18,14 @@ pids
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
@@ -61,36 +35,19 @@ typings/
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
# dotenv environment variable files
.env
.env.test
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+6
View File
@@ -0,0 +1,6 @@
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/
+2 -3
View File
@@ -1,11 +1,10 @@
{
"printWidth": 120,
"printWidth": 240,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": false,
"arrowParens": "avoid",
"parser": "typescript"
"arrowParens": "avoid"
}
+24
View File
@@ -0,0 +1,24 @@
# https://yarnpkg.com/configuration/yarnrc
nodeLinker: node-modules
logFilters:
- code: YN0004
level: discard
- code: YN0013
level: discard
- code: YN0019
level: discard
- code: YN0076
level: discard
- code: YN0086
level: discard
npmPreapprovedPackages:
- "@docker/actions-toolkit"
compressionLevel: mixed
enableGlobalCache: false
enableHardenedMode: true
enableScripts: false
npmMinimalAgeGate: 2d
-52
View File
@@ -1,52 +0,0 @@
#syntax=docker/dockerfile:1.1-experimental
FROM node:14 AS deps
WORKDIR /src
COPY package.json yarn.lock ./
RUN --mount=type=cache,target=/usr/local/share/.cache/yarn \
yarn install
FROM scratch AS update-yarn
COPY --from=deps /src/yarn.lock /
FROM deps AS validate-yarn
COPY .git .git
RUN status=$(git status --porcelain -- yarn.lock); if [ -n "$status" ]; then echo $status; exit 1; fi
FROM deps AS base
COPY . .
FROM base AS build
RUN yarn build
FROM deps AS test
COPY --from=docker /usr/local/bin/docker /usr/bin/
ARG TARGETOS
ARG TARGETARCH
ARG BUILDX_VERSION=v0.4.2
ENV RUNNER_TEMP=/tmp/github_runner
ENV RUNNER_TOOL_CACHE=/tmp/github_tool_cache
RUN mkdir -p /usr/local/lib/docker/cli-plugins && \
curl -fsSL https://github.com/docker/buildx/releases/download/$BUILDX_VERSION/buildx-$BUILDX_VERSION.$TARGETOS-$TARGETARCH > /usr/local/lib/docker/cli-plugins/docker-buildx && \
chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx && \
docker buildx version
COPY . .
RUN yarn run test
FROM base AS run-format
RUN yarn run format
FROM scratch AS format
COPY --from=run-format /src/src/*.ts /src/
FROM base AS validate-format
RUN yarn run format-check
FROM scratch AS dist
COPY --from=build /src/dist/ /dist/
FROM build AS validate-build
RUN status=$(git status --porcelain -- dist); if [ -n "$status" ]; then echo $status; exit 1; fi
FROM base AS dev
ENTRYPOINT ["bash"]
+97 -114
View File
@@ -1,37 +1,35 @@
[![GitHub release](https://img.shields.io/github/release/docker/setup-buildx-action.svg?style=flat-square)](https://github.com/docker/setup-buildx-action/releases/latest)
[![GitHub marketplace](https://img.shields.io/badge/marketplace-docker--setup--buildx-blue?logo=github&style=flat-square)](https://github.com/marketplace/actions/docker-setup-buildx)
[![CI workflow](https://img.shields.io/github/workflow/status/docker/setup-buildx-action/ci?label=ci&logo=github&style=flat-square)](https://github.com/docker/setup-buildx-action/actions?workflow=ci)
[![Test workflow](https://img.shields.io/github/workflow/status/docker/setup-buildx-action/test?label=test&logo=github&style=flat-square)](https://github.com/docker/setup-buildx-action/actions?workflow=test)
[![CI workflow](https://img.shields.io/github/actions/workflow/status/docker/setup-buildx-action/ci.yml?branch=master&label=ci&logo=github&style=flat-square)](https://github.com/docker/setup-buildx-action/actions?workflow=ci)
[![Test workflow](https://img.shields.io/github/actions/workflow/status/docker/setup-buildx-action/test.yml?branch=master&label=test&logo=github&style=flat-square)](https://github.com/docker/setup-buildx-action/actions?workflow=test)
[![Codecov](https://img.shields.io/codecov/c/github/docker/setup-buildx-action?logo=codecov&style=flat-square)](https://codecov.io/gh/docker/setup-buildx-action)
## About
GitHub Action to set up Docker [Buildx](https://github.com/docker/buildx).
> :bulb: See also:
> * [login](https://github.com/docker/login-action) action
> * [setup-qemu](https://github.com/docker/setup-qemu-action) action
> * [build-push](https://github.com/docker/build-push-action) action
This action will create and boot a builder that can be used in the following
steps of your workflow if you're using Buildx or the [`build-push` action](https://github.com/docker/build-push-action/).
By default, the [`docker-container` driver](https://docs.docker.com/build/building/drivers/docker-container/)
will be used to be able to build multi-platform images and export cache using
a [BuildKit](https://github.com/moby/buildkit) container.
![Screenshot](.github/setup-buildx-action.png)
___
* [Usage](#usage)
* [Quick start](#quick-start)
* [With QEMU](#with-qemu)
* [Install by default](#install-by-default)
* [Configuring your builder](#configuring-your-builder)
* [Customizing](#customizing)
* [inputs](#inputs)
* [outputs](#outputs)
* [environment variables](#environment-variables)
* [Keep up-to-date with GitHub Dependabot](#keep-up-to-date-with-github-dependabot)
* [Limitation](#limitation)
* [Notes](#notes)
* [`nodes` output](#nodes-output)
* [Contributing](#contributing)
## Usage
### Quick start
```yaml
name: ci
@@ -43,136 +41,121 @@ jobs:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
-
name: Builder instance name
run: echo ${{ steps.buildx.outputs.name }}
-
name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
```
### With QEMU
If you want support for more platforms you can use our [setup-qemu](https://github.com/docker/setup-qemu-action) action:
```yaml
name: ci
on:
push:
jobs:
buildx:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
# Add support for more platforms with QEMU (optional)
# https://github.com/docker/setup-qemu-action
name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v4
-
name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
-
name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
uses: docker/setup-buildx-action@v4
```
### Install by default
## Configuring your builder
Implemented with https://github.com/docker/buildx#setting-buildx-as-default-builder-in-docker-1903
```yaml
name: ci
on:
push:
jobs:
buildx:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
uses: docker/setup-buildx-action@v1
id: buildx
with:
install: true
-
name: Build
run: |
docker build . # will run buildx
```
* [Version pinning](https://docs.docker.com/build/ci/github-actions/configure-builder/#version-pinning): Pin to a specific Buildx or BuildKit version
* [BuildKit container logs](https://docs.docker.com/build/ci/github-actions/configure-builder/#buildkit-container-logs): Enable BuildKit container logs for debugging purposes
* [BuildKit Daemon configuration](https://docs.docker.com/build/ci/github-actions/configure-builder/#buildkit-daemon-configuration)
* [Registry mirror](https://docs.docker.com/build/ci/github-actions/configure-builder/#registry-mirror): Configure a registry mirror for your builds
* [Max parallelism](https://docs.docker.com/build/ci/github-actions/configure-builder/#max-parallelism): Configure the maximum parallelism for your builds
* [Append additional nodes to the builder](https://docs.docker.com/build/ci/github-actions/configure-builder/#append-additional-nodes-to-the-builder): Create additional nodes for your builder
* [Authentication for remote builders](https://docs.docker.com/build/ci/github-actions/configure-builder/#authentication-for-remote-builders)
* [SSH authentication](https://docs.docker.com/build/ci/github-actions/configure-builder/#ssh-authentication): Authenticate to a remote builder using SSH
* [TLS authentication](https://docs.docker.com/build/ci/github-actions/configure-builder/#tls-authentication): Authenticate to a remote builder using TLS
* [Standalone mode](https://docs.docker.com/build/ci/github-actions/configure-builder/#standalone-mode): Use Buildx as a standalone binary (without the Docker CLI)
* [Isolated builders](https://docs.docker.com/build/ci/github-actions/configure-builder/#isolated-builders): Create isolated builders for your builds
## Customizing
### inputs
Following inputs can be used as `step.with` keys
The following inputs can be used as `step.with` keys:
| Name | Type | Description |
|--------------------|---------|-----------------------------------|
| `version` | String | [Buildx](https://github.com/docker/buildx) version. (eg. `v0.3.0`, `latest`) |
| `driver` | String | Sets the [builder driver](https://github.com/docker/buildx#--driver-driver) to be used (default `docker-container`) |
| `driver-opts` | CSV | List of additional [driver-specific options](https://github.com/docker/buildx#--driver-opt-options) (eg. `image=moby/buildkit:master`) |
| `buildkitd-flags` | String | [Flags for buildkitd](https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md) daemon (since [buildx v0.3.0](https://github.com/docker/buildx/releases/tag/v0.3.0)) |
| `install` | Bool | Sets up `docker build` command as an alias to `docker buildx` (default `false`) |
| `use` | Bool | Switch to this builder instance (default `true`) |
| `endpoint` | String | [Optional address for docker socket](https://github.com/docker/buildx#buildx-create-options-contextendpoint) or context from `docker context ls` |
> `CSV` type must be a newline-delimited string
> ```yaml
> driver-opts: image=moby/buildkit:master
> ```
> `List` type is a newline-delimited string
> ```yaml
> driver-opts: |
> image=moby/buildkit:master
> network=host
> ```
> `CSV` type must be a comma-delimited string
> ```yaml
> platforms: linux/amd64,linux/arm64
> ```
| Name | Type | Default | Description |
|------------------------------|----------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `version` | String | | [Buildx](https://github.com/docker/buildx) version. (eg. `v0.3.0`, `latest`, `https://github.com/docker/buildx.git#master`) |
| `name` | String | | Name of the builder. If not specified, one will be generated or if it already exists, it will be used instead of creating a new one |
| `driver` | String | `docker-container` | Sets the [builder driver](https://docs.docker.com/engine/reference/commandline/buildx_create/#driver) to be used |
| `driver-opts` | List | | List of additional [driver-specific options](https://docs.docker.com/engine/reference/commandline/buildx_create/#driver-opt) (eg. `image=moby/buildkit:master`) |
| `buildkitd-flags` | String | | [BuildKit daemon flags](https://docs.docker.com/engine/reference/commandline/buildx_create/#buildkitd-flags) |
| `buildkitd-config` \* | String | | [BuildKit daemon config file](https://docs.docker.com/engine/reference/commandline/buildx_create/#config) |
| `buildkitd-config-inline` \* | String | | Same as `buildkitd-config` but inline |
| `use` | Bool | `true` | Switch to this builder instance |
| `endpoint` | String | | [Optional address for docker socket](https://docs.docker.com/engine/reference/commandline/buildx_create/#description) or context from `docker context ls` |
| `platforms` | List/CSV | | Fixed [platforms](https://docs.docker.com/engine/reference/commandline/buildx_create/#platform) for current node. If not empty, values take priority over the detected ones |
| `append` | YAML | | [Append additional nodes](https://docs.docker.com/build/ci/github-actions/configure-builder/#append-additional-nodes-to-the-builder) to the builder |
| `keep-state` | Bool | `false` | Keep BuildKit state on `cleanup`. This is only useful on persistent self-hosted runners |
| `cache-binary` | Bool | `true` | Cache buildx binary to GitHub Actions cache backend |
| `cleanup` | Bool | `true` | Cleanup temp files and remove builder at the end of a job |
> [!IMPORTANT]
> If you set the `buildkitd-flags` input, the default flags (`--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host`)
> will be reset. If you want to retain the default behavior, make sure to
> include these flags in your custom `buildkitd-flags` value.
> [!NOTE]
> `buildkitd-config` and `buildkitd-config-inline` are mutually exclusive.
### outputs
Following outputs are available
The following outputs are available:
| Name | Type | Description |
|---------------|---------|---------------------------------------|
| `name` | String | Builder instance name |
| `platforms` | String | Available platforms (comma separated) |
| Name | Type | Description |
|-------------|--------|-----------------------------------------------------|
| `name` | String | Builder name |
| `driver` | String | Builder driver |
| `platforms` | String | Builder node platforms (preferred and/or available) |
| `nodes` | JSON | Builder [nodes metadata](#nodes-output) |
### environment variables
The following [official docker environment variables](https://docs.docker.com/engine/reference/commandline/cli/#environment-variables) are supported:
| Name | Type | Default | Description |
|-----------------|---------|-------------|-------------------------------------------------|
| `DOCKER_CONFIG` | String | `~/.docker` | The location of your client configuration files |
| Name | Type | Default | Description |
|-----------------|--------|-------------|-------------------------------------------------|
| `DOCKER_CONFIG` | String | `~/.docker` | The location of your client configuration files |
## Keep up-to-date with GitHub Dependabot
## Notes
Since [Dependabot](https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-github-dependabot)
has [native GitHub Actions support](https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#package-ecosystem),
to enable it on your GitHub repo all you need to do is add the `.github/dependabot.yml` file:
### `nodes` output
```yaml
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
| Name | Type | Description |
|-------------------|--------|----------------------------|
| `name` | String | Node name |
| `endpoint` | String | Node endpoint |
| `driver-opts` | List | Options for the driver |
| `status` | String | Node status |
| `buildkitd-flags` | String | Flags for buildkitd daemon |
| `buildkit` | String | BuildKit version |
| `platforms` | String | Platforms available |
Example:
```json
[
{
"name": "builder-8fa135e1-9bce-4a29-9368-46a09a1d750d0",
"endpoint": "unix:///var/run/docker.sock",
"status": "running",
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
"buildkit": "v0.27.1",
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/386"
}
]
```
## Limitation
## Contributing
This action is only available for Linux [virtual environments](https://docs.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#supported-virtual-environments-and-hardware-resources).
Want to contribute? Awesome! You can find information about contributing to
this project in the [CONTRIBUTING.md](/.github/CONTRIBUTING.md)
-56
View File
@@ -1,56 +0,0 @@
import fs = require('fs');
import * as docker from '../src/docker';
import * as buildx from '../src/buildx';
import * as path from 'path';
import * as os from 'os';
import * as semver from 'semver';
import * as exec from '@actions/exec';
describe('getVersion', () => {
it('valid', async () => {
await exec.exec('docker', ['buildx', 'version']);
const version = await buildx.getVersion();
console.log(`version: ${version}`);
expect(semver.valid(version)).not.toBeNull();
}, 100000);
});
describe('parseVersion', () => {
test.each([
['github.com/docker/buildx 0.4.1+azure bda4882a65349ca359216b135896bddc1d92461c', '0.4.1'],
['github.com/docker/buildx v0.4.1 bda4882a65349ca359216b135896bddc1d92461c', '0.4.1'],
['github.com/docker/buildx v0.4.2 fb7b670b764764dc4716df3eba07ffdae4cc47b2', '0.4.2']
])('given %p', async (stdout, expected) => {
expect(await buildx.parseVersion(stdout)).toEqual(expected);
});
});
describe('platforms', () => {
async function isDaemonRunning() {
return await docker.isDaemonRunning();
}
(isDaemonRunning() ? it : it.skip)(
'valid',
async () => {
const platforms = buildx.platforms();
console.log(`platforms: ${platforms}`);
expect(platforms).not.toBeUndefined();
expect(platforms).not.toEqual('');
},
100000
);
});
describe('install', () => {
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'setup-buildx-'));
it('acquires v0.4.1 version of buildx', async () => {
const buildxBin = await buildx.install('v0.4.1', tmpDir);
console.log(buildxBin);
expect(fs.existsSync(buildxBin)).toBe(true);
}, 100000);
it('acquires latest version of buildx', async () => {
const buildxBin = await buildx.install('latest', tmpDir);
console.log(buildxBin);
expect(fs.existsSync(buildxBin)).toBe(true);
}, 100000);
});
+485 -68
View File
@@ -1,81 +1,498 @@
import * as context from '../src/context';
import {beforeEach, describe, expect, test, vi} from 'vitest';
import * as fs from 'fs';
import * as os from 'os';
import * as path from 'path';
describe('getInputList', () => {
it('handles single line correctly', async () => {
await setInput('foo', 'bar');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar']);
});
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
import {Context} from '@docker/actions-toolkit/lib/context.js';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
it('handles multiple lines correctly', async () => {
setInput('foo', 'bar\nbaz');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
it('remove empty lines correctly', async () => {
setInput('foo', 'bar\n\nbaz');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
import * as context from '../src/context.js';
it('handles comma correctly', async () => {
setInput('foo', 'bar,baz');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
const fixturesDir = path.join(__dirname, 'fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'context-'));
const tmpName = path.join(tmpDir, '.tmpname-vi');
it('remove empty result correctly', async () => {
setInput('foo', 'bar,baz,');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('handles different new lines correctly', async () => {
setInput('foo', 'bar\r\nbaz');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('handles different new lines and comma correctly', async () => {
setInput('foo', 'bar\r\nbaz,bat');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz', 'bat']);
});
it('handles multiple lines and ignoring comma correctly', async () => {
setInput('driver-opts', 'image=moby/buildkit:master\nnetwork=host');
const res = await context.getInputList('driver-opts', true);
console.log(res);
expect(res).toEqual(['image=moby/buildkit:master', 'network=host']);
});
it('handles different new lines and ignoring comma correctly', async () => {
setInput('driver-opts', 'image=moby/buildkit:master\r\nnetwork=host');
const res = await context.getInputList('driver-opts', true);
console.log(res);
expect(res).toEqual(['image=moby/buildkit:master', 'network=host']);
});
vi.spyOn(Context, 'tmpDir').mockImplementation((): string => {
if (!fs.existsSync(tmpDir)) {
fs.mkdirSync(tmpDir, {recursive: true});
}
return tmpDir;
});
describe('asyncForEach', () => {
it('executes async tasks sequentially', async () => {
const testValues = [1, 2, 3, 4, 5];
const results: number[] = [];
vi.spyOn(Context, 'tmpName').mockImplementation((): string => {
return tmpName;
});
await context.asyncForEach(testValues, async value => {
results.push(value);
});
vi.mock('crypto', async () => {
return {
...(await vi.importActual('crypto')),
randomUUID: vi.fn(() => '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d')
};
});
expect(results).toEqual(testValues);
vi.spyOn(Docker, 'context').mockImplementation((): Promise<string> => {
return Promise.resolve('default');
});
describe('getCreateArgs', () => {
beforeEach(() => {
process.env = Object.keys(process.env).reduce((object, key) => {
if (!key.startsWith('INPUT_')) {
object[key] = process.env[key];
}
return object;
}, {});
});
// prettier-ignore
test.each([
[
0,
'v0.10.3',
new Map<string, string>([
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--use'
]
],
[
1,
'v0.10.3',
new Map<string, string>([
['driver', 'docker'],
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'default',
'--driver', 'docker',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--use'
]
],
[
2,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['driver-opts', 'image=moby/buildkit:master\nnetwork=host'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--driver-opt', 'image=moby/buildkit:master',
'--driver-opt', 'network=host',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
]
],
[
3,
'v0.10.3',
new Map<string, string>([
['driver', 'remote'],
['endpoint', 'tls://foo:1234'],
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'remote',
'--use',
'tls://foo:1234'
]
],
[
4,
'v0.10.3',
new Map<string, string>([
['driver', 'remote'],
['platforms', 'linux/arm64,linux/arm/v7'],
['endpoint', 'tls://foo:1234'],
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'remote',
'--platform', 'linux/arm64,linux/arm/v7',
'--use',
'tls://foo:1234'
]
],
[
5,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['driver-opts', `"env.no_proxy=localhost,127.0.0.1,.mydomain"`],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--driver-opt', '"env.no_proxy=localhost,127.0.0.1,.mydomain"',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
]
],
[
6,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['platforms', 'linux/amd64\n"linux/arm64,linux/arm/v7"'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--platform', 'linux/amd64,linux/arm64,linux/arm/v7'
]
],
[
7,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['driver', 'unknown'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'unknown',
]
],
[
8,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['buildkitd-config', path.join(fixturesDir, 'buildkitd.toml')],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--config', tmpName,
]
],
[
9,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['buildkitd-config-inline', 'debug = true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--config', tmpName,
]
],
[
10,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['driver', 'cloud'],
['buildkitd-flags', '--allow-insecure-entitlement network.host'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'cloud',
'--buildkitd-flags', '--allow-insecure-entitlement network.host',
]
],
[
11,
'v0.10.3',
new Map<string, string>([
['use', 'true'],
['cleanup', 'true'],
['cache-binary', 'true'],
['keep-state', 'false'],
['name', 'test-builder-name'],
]),
[
'create',
'--name', 'test-builder-name',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--use'
]
],
[
12,
'v0.10.3',
new Map<string, string>([
['use', 'true'],
['cleanup', 'true'],
['cache-binary', 'true'],
['keep-state', 'true'],
['name', 'test-builder-name'],
]),
[
'create',
'--name', 'test-builder-name',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--use',
]
],
])(
'[%d] given buildx %o and %o as inputs, returns %o',
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => {
inputs.forEach((value: string, name: string) => {
setInput(name, value);
});
const toolkit = new Toolkit();
vi.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
return buildxVersion;
});
const inp = await context.getInputs();
const res = await context.getCreateArgs(inp, toolkit);
expect(res).toEqual(expected);
}
);
});
describe('getAppendArgs', () => {
beforeEach(() => {
process.env = Object.keys(process.env).reduce((object, key) => {
if (!key.startsWith('INPUT_')) {
object[key] = process.env[key];
}
return object;
}, {});
});
// prettier-ignore
test.each([
[
0,
'v0.10.3',
new Map<string, string>([
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
{
"name": "aws_graviton2",
"endpoint": "ssh://me@graviton2",
"driver-opts": [
"image=moby/buildkit:latest"
],
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
"platforms": "linux/arm64"
},
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--append',
'--node', 'aws_graviton2',
'--driver-opt', 'image=moby/buildkit:latest',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--platform', 'linux/arm64',
'ssh://me@graviton2'
]
]
])(
'[%d] given buildx %o and %o as inputs, returns %o',
async (num: number, buildxVersion: string, inputs: Map<string, string>, node: Node, expected: Array<string>) => {
inputs.forEach((value: string, name: string) => {
setInput(name, value);
});
const toolkit = new Toolkit();
vi.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
return buildxVersion;
});
const inp = await context.getInputs();
const res = await context.getAppendArgs(inp, node, toolkit);
expect(res).toEqual(expected);
}
);
});
describe('getVersion', () => {
beforeEach(() => {
process.env = Object.keys(process.env).reduce((object, key) => {
if (!key.startsWith('INPUT_')) {
object[key] = process.env[key];
}
return object;
}, {});
});
// prettier-ignore
test.each([
[
0,
new Map<string, string>([
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
''
],
[
1,
new Map<string, string>([
['version', 'latest'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'latest'
],
[
2,
new Map<string, string>([
['version', 'edge'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'edge'
],
[
3,
new Map<string, string>([
['version', 'v0.19.2'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'v0.19.2'
],
[
4,
new Map<string, string>([
['version', 'latest'],
['driver', 'cloud'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:latest'
],
[
5,
new Map<string, string>([
['version', 'edge'],
['driver', 'cloud'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:edge'
],
[
6,
new Map<string, string>([
['driver', 'cloud'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:latest'
],
[
7,
new Map<string, string>([
['version', 'cloud:v0.11.2-desktop.2'],
['driver', 'cloud'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:v0.11.2-desktop.2'
],
[
8,
new Map<string, string>([
['version', 'cloud:v0.11.2-desktop.2'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:v0.11.2-desktop.2'
],
])(
'[%d] given %o as inputs, returns version %o',
async (num: number, inputs: Map<string, string>, expected: string) => {
inputs.forEach((value: string, name: string) => {
setInput(name, value);
});
const inp = await context.getInputs();
expect(context.getVersion(inp)).toEqual(expected);
}
);
});
// See: https://github.com/actions/toolkit/blob/master/packages/core/src/core.ts#L67
+1
View File
@@ -0,0 +1 @@
debug = true
-17
View File
@@ -1,17 +0,0 @@
import * as github from '../src/github';
describe('github', () => {
it('returns latest buildx GitHub release', async () => {
const release = await github.getRelease('latest');
console.log(release);
expect(release).not.toBeNull();
expect(release?.tag_name).not.toEqual('');
});
it('returns v0.2.2 buildx GitHub release', async () => {
const release = await github.getRelease('v0.2.2');
console.log(release);
expect(release).not.toBeNull();
expect(release?.tag_name).toEqual('v0.2.2');
});
});
+12
View File
@@ -0,0 +1,12 @@
import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-setup-buildx-action-'));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/setup-buildx-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
});
+42 -10
View File
@@ -18,28 +18,60 @@ inputs:
description: 'List of additional driver-specific options. (eg. image=moby/buildkit:master)'
required: false
buildkitd-flags:
description: 'Flags for buildkitd daemon'
default: '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
description: 'BuildKit daemon flags'
required: false
install:
description: 'Sets up docker build command as an alias to docker buildx'
default: 'false'
buildkitd-config:
description: 'BuildKit daemon config file'
required: false
buildkitd-config-inline:
description: 'Inline BuildKit daemon config'
required: false
use:
description: 'Switch to this builder instance'
default: 'true'
required: false
name:
description: 'Name of the builder. If not specified, one will be generated or if it already exists, it will be used instead of creating a new one.'
required: false
endpoint:
description: 'Optional address for docker socket or context from `docker context ls`'
required: false
platforms:
description: 'Fixed platforms for current node. If not empty, values take priority over the detected ones'
required: false
append:
description: 'Append additional nodes to the builder'
required: false
keep-state:
description: 'Keep BuildKit state on cleanup. This is only useful on persistent self-hosted runners.'
default: 'false'
required: false
cache-binary:
description: 'Cache buildx binary to GitHub Actions cache backend'
default: 'true'
required: false
cleanup:
description: 'Cleanup temp files and remove builder at the end of a job'
default: 'true'
required: false
outputs:
name:
description: 'Builder instance name'
description: 'Builder name'
driver:
description: 'Builder driver'
platforms:
description: 'Available platforms (comma separated)'
description: 'Builder node platforms (preferred or available)'
nodes:
description: 'Builder nodes metadata'
endpoint:
description: 'Builder node endpoint (deprecated, use nodes output instead)'
status:
description: 'Builder node status (deprecated, use nodes output instead)'
flags:
description: 'Builder node flags (deprecated, use nodes output instead)'
runs:
using: 'node12'
main: 'dist/index.js'
post: 'dist/index.js'
using: 'node24'
main: 'dist/index.cjs'
post: 'dist/index.cjs'
+3
View File
@@ -0,0 +1,3 @@
comment: false
github_checks:
annotations: false
+89
View File
@@ -0,0 +1,89 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=24
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git rsync
WORKDIR /src
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
set -e
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
EOT
FROM base AS deps
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn install --immutable && mkdir /vendor && cp yarn.lock /vendor
FROM scratch AS vendor-update
COPY --from=deps /vendor /
FROM deps AS vendor-validate
RUN --mount=type=bind,target=.,rw <<EOT
set -e
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock
exit 1
fi
EOT
FROM deps AS build
RUN --mount=target=/context \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules <<EOT
set -e
rsync -a /context/. .
rm -rf dist
yarn run build
mkdir /out
cp -r dist /out
EOT
FROM scratch AS build-update
COPY --from=build /out /
FROM build AS build-validate
RUN --mount=target=/context \
--mount=target=.,type=tmpfs <<EOT
set -e
rsync -a /context/. .
git add -A
rm -rf dist
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
git status --porcelain -- dist
exit 1
fi
EOT
FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /
FROM deps AS lint
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run lint
FROM deps AS test
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
FROM scratch AS test-coverage
COPY --from=test /tmp/coverage /
Generated Vendored
+246
View File
@@ -0,0 +1,246 @@
var que=Object.create;var _E=Object.defineProperty;var Gue=Object.getOwnPropertyDescriptor;var Hue=Object.getOwnPropertyNames;var Vue=Object.getPrototypeOf,zue=Object.prototype.hasOwnProperty;var o=(t,e)=>_E(t,"name",{value:e,configurable:!0});var m=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Jue=(t,e)=>{for(var r in e)_E(t,r,{get:e[r],enumerable:!0})},$ue=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Hue(e))!zue.call(t,s)&&s!==r&&_E(t,s,{get:()=>e[s],enumerable:!(n=Gue(e,s))||n.enumerable});return t};var w=(t,e,r)=>(r=t!=null?que(Vue(t)):{},$ue(e||!t||!t.__esModule?_E(r,"default",{value:t,enumerable:!0}):r,t));var PG=m(md=>{"use strict";var y6e=require("net"),WAe=require("tls"),Qx=require("http"),RG=require("https"),jAe=require("events"),C6e=require("assert"),KAe=require("util");md.httpOverHttp=XAe;md.httpsOverHttp=ZAe;md.httpOverHttps=epe;md.httpsOverHttps=tpe;function XAe(t){var e=new ra(t);return e.request=Qx.request,e}o(XAe,"httpOverHttp");function ZAe(t){var e=new ra(t);return e.request=Qx.request,e.createSocket=TG,e.defaultPort=443,e}o(ZAe,"httpsOverHttp");function epe(t){var e=new ra(t);return e.request=RG.request,e}o(epe,"httpOverHttps");function tpe(t){var e=new ra(t);return e.request=RG.request,e.createSocket=TG,e.defaultPort=443,e}o(tpe,"httpsOverHttps");function ra(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||Qx.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",o(function(n,s,i,a){for(var c=vG(s,i,a),l=0,u=e.requests.length;l<u;++l){var d=e.requests[l];if(d.host===c.host&&d.port===c.port){e.requests.splice(l,1),d.request.onSocket(n);return}}n.destroy(),e.removeSocket(n)},"onFree"))}o(ra,"TunnelingAgent");KAe.inherits(ra,jAe.EventEmitter);ra.prototype.addRequest=o(function(e,r,n,s){var i=this,a=Rx({request:e},i.options,vG(r,n,s));if(i.sockets.length>=this.maxSockets){i.requests.push(a);return}i.createSocket(a,function(c){c.on("free",l),c.on("close",u),c.on("agentRemove",u),e.onSocket(c);function l(){i.emit("free",c,a)}o(l,"onFree");function u(d){i.removeSocket(c),c.removeListener("free",l),c.removeListener("close",u),c.removeListener("agentRemove",u)}o(u,"onCloseOrRemove")})},"addRequest");ra.prototype.createSocket=o(function(e,r){var n=this,s={};n.sockets.push(s);var i=Rx({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(i.localAddress=e.localAddress),i.proxyAuth&&(i.headers=i.headers||{},i.headers["Proxy-Authorization"]="Basic "+new Buffer(i.proxyAuth).toString("base64")),ic("making CONNECT request");var a=n.request(i);a.useChunkedEncodingByDefault=!1,a.once("response",c),a.once("upgrade",l),a.once("connect",u),a.once("error",d),a.end();function c(A){A.upgrade=!0}o(c,"onResponse");function l(A,p,f){process.nextTick(function(){u(A,p,f)})}o(l,"onUpgrade");function u(A,p,f){if(a.removeAllListeners(),p.removeAllListeners(),A.statusCode!==200){ic("tunneling socket could not be established, statusCode=%d",A.statusCode),p.destroy();var h=new Error("tunneling socket could not be established, statusCode="+A.statusCode);h.code="ECONNRESET",e.request.emit("error",h),n.removeSocket(s);return}if(f.length>0){ic("got illegal response body from proxy"),p.destroy();var h=new Error("got illegal response body from proxy");h.code="ECONNRESET",e.request.emit("error",h),n.removeSocket(s);return}return ic("tunneling connection has established"),n.sockets[n.sockets.indexOf(s)]=p,r(p)}o(u,"onConnect");function d(A){a.removeAllListeners(),ic(`tunneling socket could not be established, cause=%s
`,A.message,A.stack);var p=new Error("tunneling socket could not be established, cause="+A.message);p.code="ECONNRESET",e.request.emit("error",p),n.removeSocket(s)}o(d,"onError")},"createSocket");ra.prototype.removeSocket=o(function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var n=this.requests.shift();n&&this.createSocket(n,function(s){n.request.onSocket(s)})}},"removeSocket");function TG(t,e){var r=this;ra.prototype.createSocket.call(r,t,function(n){var s=t.request.getHeader("host"),i=Rx({},r.options,{socket:n,servername:s?s.replace(/:.*$/,""):t.host}),a=WAe.connect(0,i);r.sockets[r.sockets.indexOf(n)]=a,e(a)})}o(TG,"createSecureSocket");function vG(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}o(vG,"toOptions");function Rx(t){for(var e=1,r=arguments.length;e<r;++e){var n=arguments[e];if(typeof n=="object")for(var s=Object.keys(n),i=0,a=s.length;i<a;++i){var c=s[i];n[c]!==void 0&&(t[c]=n[c])}}return t}o(Rx,"mergeOptions");var ic;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?ic=o(function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)},"debug"):ic=o(function(){},"debug");md.debug=ic});var Qf=m((b6e,_G)=>{_G.exports=PG()});var dt=m((w6e,kG)=>{kG.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var Pe=m((S6e,iH)=>{"use strict";var DG=Symbol.for("undici.error.UND_ERR"),At=class extends Error{static{o(this,"UndiciError")}constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[DG]===!0}[DG]=!0},OG=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),Tx=class extends At{static{o(this,"ConnectTimeoutError")}constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[OG]===!0}[OG]=!0},MG=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),vx=class extends At{static{o(this,"HeadersTimeoutError")}constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[MG]===!0}[MG]=!0},LG=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),Px=class extends At{static{o(this,"HeadersOverflowError")}constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[LG]===!0}[LG]=!0},FG=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),_x=class extends At{static{o(this,"BodyTimeoutError")}constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT" Line truncated
`)||t.includes("\r")||t.includes("\0"))===!1}o(EV,"isValidHeaderValue");function ghe(t,e){let{headersList:r}=e,n=(r.get("referrer-policy",!0)??"").split(","),s="";if(n.length>0)for(let i=n.length;i!==0;i--){let a=n[i-1].trim();if(the.has(a)){s=a;break}}s!==""&&(t.referrerPolicy=s)}o(ghe,"setRequestReferrerPolicyOnRedirect");function Ehe(){return"allowed"}o(Ehe,"crossOriginResourcePolicyCheck");function yhe(){return"success"}o(yhe,"corsCheck");function Che(){return"success"}o(Che,"TAOCheck");function Ihe(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}o(Ihe,"appendFetchMetadata");function Bhe(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&NQ(t.origin)&&!NQ(Mf(t))&&(e=null);break;case"same-origin":Ay(t,Mf(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}o(Bhe,"appendRequestOriginHeader");function Nd(t,e){return t}o(Nd,"coarsenTime");function bhe(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:Nd(t.domainLookupStartTime,r),domainLookupEndTime:Nd(t.domainLookupEndTime,r),connectionStartTime:Nd(t.connectionStartTime,r),connectionEndTime:Nd(t.connectionEndTime,r),secureConnectionStartTime:Nd(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}o(bhe,"clampAndCoarsenConnectionTimingInfo");function whe(t){return Nd(ohe.now(),t)}o(whe,"coarsenedSharedCurrentTime");function She(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}o(She,"createOpaqueTimingInfo");function yV(){return{referrerPolicy:"strict-origin-when-cross-origin"}}o(yV,"makePolicyContainer");function Nhe(t){return{referrerPolicy:t.referrerPolicy}}o(Nhe,"clonePolicyContainer");function xhe(t){let e=t.referrerPolicy;Sl(e);let r=null;if(t.referrer==="client"){let c=pV();if(!c||c.origin==="null")return"no-referrer";r=new URL(c)}else t.referrer instanceof URL&&(r=t.referrer);let n=SQ(r),s=SQ(r,!0);n.toString().length>4096&&(n=s);let i=Ay(t,n),a=Of(n)&&!Of(t.url);switch(e){case"origin":return s??SQ(r,!0);case"unsafe-url":return n;case"same-origin":return i?s:"no-referrer";case"origin-when-cross-origin":return i?n:s;case"strict-origin-when-cross-origin":{let c=Mf(t);return Ay(n,c)?n:Of(n)&&!Of(c)?"no-referrer":s}default:return a?"no-referrer":s}}o(xhe,"determineRequestsReferrer");function SQ(t,e){return Sl(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}o(SQ,"stripURLForReferrer");function Of(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(r){if(r==null||r==="null")return!1;let n=new URL(r);return!!(n.protocol==="https:"||n.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(n.hostname)||n.hostname==="localhost"||n.hostname.includes("localhost.")||n.hostname.endsWith(".localhost"))}}o(Of,"isURLPotentiallyTrustworthy");function Qhe(t,e){if(dy===void 0)return!0;let r=CV(e);if(r==="no metadata"||r.length===0)return!0;let n=The(r),s=vhe(r,n);for(let i of s){let a=i.algo,c=i.hash,l=dy.createHash(a).update(t).digest("base64");if(l[l.length-1]==="="&&(l[l.length-2]==="="?l=l.slice(0,-2):l=l.slice(0,-1)),Phe(l,c))return!0}return!1}o(Qhe,"bytesMatch");var Rhe=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function CV(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let s=Rhe.exec(n);if(s===null||s.groups===void 0||s.groups.algo===void 0)continue;let i=s.groups.algo.toLowerCase();hV.includes(i)&&e.push(s.groups)}return r===!0?"no metadata":e}o(CV,"parseMetadata");function The(t){let e=t[0].algo;if(e[3]==="5")return e;for(let r=1;r<t.length;++r){let n=t[r];if(n.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;n.algo[3]==="3"&&(e="sha384")}}return e}o(The,"getStrongestMetadata");function vhe(t,e){if(t.length===1)return t;let r=0;for(let n=0;n<t.length;++n)t[n].algo===e&&(t[r++]=t[n]);return t.length=r,t}o(vhe,"filterMetadataListByAlgorithm");function Phe(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r]){if(t[r]==="+"&&e[r]==="-"||t[r]==="/"&&e[r]==="_")continue;return!1}return!0}o(Phe,"compareBase64Mixed");function _he(t){}o(_he,"tryUpgradeReque Line truncated
`);function hme(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}o(hme,"isAsciiString");function mme(t){let e=t.length;if(e<27||e>70)return!1;for(let r=0;r<e;++r){let n=t.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}o(mme,"validateBoundary");function gme(t,e){fy(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)return"failure";let n=Buffer.from(`--${r}`,"utf8"),s=[],i={position:0};for(;t[i.position]===13&&t[i.position+1]===10;)i.position+=2;let a=t.length;for(;t[a-1]===10&&t[a-2]===13;)a-=2;for(a!==t.length&&(t=t.subarray(0,a));;){if(t.subarray(i.position,i.position+n.length).equals(n))i.position+=n.length;else return"failure";if(i.position===t.length-2&&hy(t,pme,i)||i.position===t.length-4&&hy(t,fme,i))return s;if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let c=Eme(t,i);if(c==="failure")return"failure";let{name:l,filename:u,contentType:d,encoding:A}=c;i.position+=2;let p;{let h=t.indexOf(n.subarray(2),i.position);if(h===-1)return"failure";p=t.subarray(i.position,h-4),i.position+=p.length,A==="base64"&&(p=Buffer.from(p.toString(),"base64"))}if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let f;u!==null?(d??="text/plain",hme(d)||(d=""),f=new dme([p],u,{type:d})):f=ome(Buffer.from(p)),fy(_V(l)),fy(typeof f=="string"&&_V(f)||cme(f)),s.push(lme(l,f,u))}}o(gme,"multipartFormDataParser");function Eme(t,e){let r=null,n=null,s=null,i=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return r===null?"failure":{name:r,filename:n,contentType:s,encoding:i};let a=Qd(c=>c!==10&&c!==13&&c!==58,t,e);if(a=_Q(a,!0,!0,c=>c===9||c===32),!ame.test(a.toString())||t[e.position]!==58)return"failure";switch(e.position++,Qd(c=>c===32||c===9,t,e),ime(a)){case"content-disposition":{if(r=n=null,!hy(t,Ame,e)||(e.position+=17,r=OV(t,e),r===null))return"failure";if(hy(t,DV,e)){let c=e.position+DV.length;if(t[c]===42&&(e.position+=1,c+=1),t[c]!==61||t[c+1]!==34||(e.position+=12,n=OV(t,e),n===null))return"failure"}break}case"content-type":{let c=Qd(l=>l!==10&&l!==13,t,e);c=_Q(c,!1,!0,l=>l===9||l===32),s=kV(c);break}case"content-transfer-encoding":{let c=Qd(l=>l!==10&&l!==13,t,e);c=_Q(c,!1,!0,l=>l===9||l===32),i=kV(c);break}default:Qd(c=>c!==10&&c!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}o(Eme,"parseMultipartFormDataHeaders");function OV(t,e){fy(t[e.position-1]===34);let r=Qd(n=>n!==10&&n!==13&&n!==34,t,e);return t[e.position]!==34?null:(e.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,`
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),r)}o(OV,"parseMultipartFormDataName");function Qd(t,e,r){let n=r.position;for(;n<e.length&&t(e[n]);)++n;return e.subarray(r.position,r.position=n)}o(Qd,"collectASequenceOfBytes");function _Q(t,e,r,n){let s=0,i=t.length-1;if(e)for(;s<t.length&&n(t[s]);)s++;if(r)for(;i>0&&n(t[i]);)i--;return s===0&&i===t.length-1?t:t.subarray(s,i+1)}o(_Q,"removeChars");function hy(t,e,r){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[r.position+n])return!1;return!0}o(hy,"bufferStartsWith");MV.exports={multipartFormDataParser:gme,validateBoundary:mme}});var vd=m((dKe,YV)=>{"use strict";var Uf=Ie(),{ReadableStreamFrom:yme,isBlobLike:FV,isReadableStreamLike:Cme,readableStreamClose:Ime,createDeferredPromise:Bme,fullyReadBody:bme,extractMimeType:wme,utf8DecodeBytes:GV}=Ln(),{FormData:UV}=Ff(),{kState:Td}=oc(),{webidl:Sme}=Er(),{Blob:Nme}=require("node:buffer"),kQ=require("node:assert"),{isErrored:HV,isDisturbed:xme}=require("node:stream"),{isArrayBuffer:Qme}=require("node:util/types"),{serializeAMimeType:Rme}=dn(),{multipartFormDataParser:Tme}=LV(),DQ;try{let t=require("node:crypto");DQ=o(e=>t.randomInt(0,e),"random")}catch{DQ=o(t=>Math.floor(Math.random(t)),"random")}var my=new TextEncoder;function vme(){}o(vme,"noop");var VV=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,zV;VV&&(zV=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!xme(e)&&!HV(e)&&e.cancel("Response object has been garbage collected").catch(vme)}));function JV(t,e=!1){let r=null;t instanceof ReadableStream?r=t:FV(t)?r=t.stream():r=new ReadableStream({async pull(l){let u=typeof s=="string"?my.encode(s):s;u.byteLength&&l.enqueue(u),queueMicrotask(()=>Ime(l))},start(){},type:"bytes"}),kQ(Cme(r));let n=null,s=null,i=null,a=null;if(typeof t=="string")s=t,a="text/plain;charset=UTF-8";else if(t instanceof URLSearchParams)s=t.toString(),a="application/x-www-form-urlencoded;charset=UTF-8";else if(Qme(t))s=new Uint8Array(t.slice());else if(ArrayBuffer.isView(t))s=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));else if(Uf.isFormDataLike(t)){let l=`----formdata-undici-0${`${DQ(1e11)}`.padStart(11,"0")}`,u=`--${l}\r
Content-Disposition: form-data`;let d=o(y=>y.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"escape"),A=o(y=>y.replace(/\r?\n|\r/g,`\r
`),"normalizeLinefeeds"),p=[],f=new Uint8Array([13,10]);i=0;let h=!1;for(let[y,E]of t)if(typeof E=="string"){let C=my.encode(u+`; name="${d(A(y))}"\r
\r
${A(E)}\r
`);p.push(C),i+=C.byteLength}else{let C=my.encode(`${u}; name="${d(A(y))}"`+(E.name?`; filename="${d(E.name)}"`:"")+`\r
Content-Type: ${E.type||"application/octet-stream"}\r
\r
`);p.push(C,E,f),typeof E.size=="number"?i+=C.byteLength+E.size+f.byteLength:h=!0}let g=my.encode(`--${l}--\r
`);p.push(g),i+=g.byteLength,h&&(i=null),s=t,n=o(async function*(){for(let y of p)y.stream?yield*y.stream():yield y},"action"),a=`multipart/form-data; boundary=${l}`}else if(FV(t))s=t,i=t.size,t.type&&(a=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(Uf.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:yme(t)}if((typeof s=="string"||Uf.isBuffer(s))&&(i=Buffer.byteLength(s)),n!=null){let l;r=new ReadableStream({async start(){l=n(t)[Symbol.asyncIterator]()},async pull(u){let{value:d,done:A}=await l.next();if(A)queueMicrotask(()=>{u.close(),u.byobRequest?.respond(0)});else if(!HV(r)){let p=new Uint8Array(d);p.byteLength&&u.enqueue(p)}return u.desiredSize>0},async cancel(u){await l.return()},type:"bytes"})}return[{stream:r,source:s,length:i},a]}o(JV,"extractBody");function Pme(t,e=!1){return t instanceof ReadableStream&&(kQ(!Uf.isDisturbed(t),"The body has already been consumed."),kQ(!t.locked,"The stream is locked.")),JV(t,e)}o(Pme,"safelyExtractBody");function _me(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}o(_me,"cloneBody");function kme(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}o(kme,"throwIfAborted");function Dme(t){return{blob(){return Rd(this,r=>{let n=qV(this);return n===null?n="":n&&(n=Rme(n)),new Nme([r],{type:n})},t)},arrayBuffer(){return Rd(this,r=>new Uint8Array(r).buffer,t)},text(){return Rd(this,GV,t)},json(){return Rd(this,Mme,t)},formData(){return Rd(this,r=>{let n=qV(this);if(n!==null)switch(n.essence){case"multipart/form-data":{let s=Tme(r,n);if(s==="failure")throw new TypeError("Failed to parse body as FormData.");let i=new UV;return i[Td]=s,i}case"application/x-www-form-urlencoded":{let s=new URLSearchParams(r.toString()),i=new UV;for(let[a,c]of s)i.append(a,c);return i}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return Rd(this,r=>new Uint8Array(r),t)}}}o(Dme,"bodyMixinMethods");function Ome(t){Object.assign(t.prototype,Dme(t))}o(Ome,"mixinBody");async function Rd(t,e,r){if(Sme.brandCheck(t,r),$V(t))throw new TypeError("Body is unusable: Body has already been read");kme(t[Td]);let n=Bme(),s=o(a=>n.reject(a),"errorSteps"),i=o(a=>{try{n.resolve(e(a))}catch(c){s(c)}},"successSteps");return t[Td].body==null?(i(Buffer.allocUnsafe(0)),n.promise):(await bme(t[Td].body,i,s),n.promise)}o(Rd,"consumeBody");function $V(t){let e=t[Td].body;return e!=null&&(e.stream.locked||Uf.isDisturbed(e.stream))}o($V,"bodyUnusable");function Mme(t){return JSON.parse(GV(t))}o(Mme,"parseJSONFromBytes");function qV(t){let e=t[Td].headersList,r=wme(e);return r==="failure"?null:r}o(qV,"bodyMimeType");YV.exports={extractBody:JV,safelyExtractBody:Pme,cloneBody:_me,mixinBody:Ome,streamRegistry:zV,hasFinalizationRegistry:VV,bodyUnusable:$V}});var uz=m((pKe,lz)=>{"use strict";var X=require("node:assert"),te=Ie(),{channels:WV}=Ed(),OQ=gQ(),{RequestContentLengthMismatchError:Nl,ResponseContentLengthMismatchError:jV,RequestAbortedError:sz,HeadersTimeoutError:Lme,HeadersOverflowError:Fme,SocketError:Pd,InformationalError:_d,BodyTimeoutError:Ume,HTTPParserError:qme,ResponseExceededMaxSizeError:Gme}=Pe(),{kUrl:iz,kReset:An,kClient:Cy,kParser:nt,kBlocking:Hf,kRunning:Vt,kPending:oz,kSize:KV,kWriting:ac,kQueue:ni,kNoRef:qf,kKeepAliveDefaultTimeout:Hme,kHostHeader:Vme,kPendingIdx:zme,kRunningIdx:ms,kError:Gr,kPipelining:Iy,kSocket:Ql,kKeepAliveTimeoutValue:by,kMaxHeadersSize:MQ,kKeepAliveMaxTimeout:Jme,kKeepAliveTimeoutThreshold:$me,kHeadersTimeout:Yme,kBodyTimeout:Wme,kStrictContentLength:UQ,kMaxRequests:XV,kCounter:jme,kMaxResponseSize:Kme,kOnError:ZV,kResume:ca,kHTTPContext:az}=dt(),Fn=zH(),ez=Buffer.alloc(0),gy=Buffer[Symbol.species],Ey=te.addListener,Xme=te.removeAllListeners,Rl=Symbol("kIdleSocketValidation"),xl=Symbol("kIdleSocketValidationTimeout"),VQ=Symbol("kSocketUsed"),LQ;async function Zme(){let t=process.env.JEST_WORKER_ID?CQ():void 0,e;try{e=await WebAssembly.compile(YH())}catch{e=await WebAssembly.compile(t||CQ())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:o((r,n,s)=>0,"wasm_on_url"),wasm_on_status:o((r,n,s)=>{X(bt.ptr===r);let i=n-Li+Mi.byteOffset;return bt.onStatus(new gy(Mi.buffer,i,s))||0},"wasm_on_status"),wasm_on_message_begin:o(r=>(X(bt.ptr===r),bt.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:o((r,n,s)=>{X(bt.ptr===r);let i=n-Li+Mi.byteOffset;return bt.onHeaderField(new gy(Mi.buffer,i,s))||0},"wasm_on_header_field"),wasm_on_header_value:o((r,n,s)=>{X(bt.ptr===r);let i=n-Li+Mi.byteOffset;return bt.onHeaderValue(new gy(Mi.buffer,i,s))||0},"wasm_on_header_value"),wasm_on_headers_complete:o((r,n,s,i)=>(X(bt.ptr===r),bt.onHeadersComplete(n,!!s,!!i)||0),"wasm_on_headers_complete"),wasm_on_body:o((r,n,s)=>{X(bt.ptr===r);let i=n-Li+Mi.byteOffset;return bt.onBody(new gy(Mi.buffer,i, Line truncated
`;if(typeof s=="string"?g+=`host: ${s}\r
`:g+=t[Vme],i?g+=`connection: upgrade\r
upgrade: ${i}\r
`:t[Iy]&&!f[An]?g+=`connection: keep-alive\r
`:g+=`connection: close\r
`,Array.isArray(u))for(let y=0;y<u.length;y+=2){let E=u[y+0],C=u[y+1];if(Array.isArray(C))for(let I=0;I<C.length;I++)g+=`${E}: ${C[I]}\r
`;else g+=`${E}: ${C}\r
`}return WV.sendHeaders.hasSubscribers&&WV.sendHeaders.publish({request:e,headers:g,socket:f}),!l||p===0?rz(h,null,t,e,f,d,g,A):te.isBuffer(l)?rz(h,l,t,e,f,d,g,A):te.isBlobLike(l)?typeof l.stream=="function"?nz(h,l.stream(),t,e,f,d,g,A):age(h,l,t,e,f,d,g,A):te.isStream(l)?oge(h,l,t,e,f,d,g,A):te.isIterable(l)?nz(h,l,t,e,f,d,g,A):X(!1),!0}o(ige,"writeH1");function oge(t,e,r,n,s,i,a,c){X(i!==0||r[Vt]===0,"stream body cannot be pipelined");let l=!1,u=new wy({abort:t,socket:s,request:n,contentLength:i,client:r,expectsPayload:c,header:a}),d=o(function(h){if(!l)try{!u.write(h)&&this.pause&&this.pause()}catch(g){te.destroy(this,g)}},"onData"),A=o(function(){l||e.resume&&e.resume()},"onDrain"),p=o(function(){if(queueMicrotask(()=>{e.removeListener("error",f)}),!l){let h=new sz;queueMicrotask(()=>f(h))}},"onClose"),f=o(function(h){if(!l){if(l=!0,X(s.destroyed||s[ac]&&r[Vt]<=1),s.off("drain",A).off("error",f),e.removeListener("data",d).removeListener("end",f).removeListener("close",p),!h)try{u.end()}catch(g){h=g}u.destroy(h),h&&(h.code!=="UND_ERR_INFO"||h.message!=="reset")?te.destroy(e,h):te.destroy(e)}},"onFinished");e.on("data",d).on("end",f).on("error",f).on("close",p),e.resume&&e.resume(),s.on("drain",A).on("error",f),e.errorEmitted??e.errored?setImmediate(()=>f(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>f(null)),(e.closeEmitted??e.closed)&&setImmediate(p)}o(oge,"writeStream");function rz(t,e,r,n,s,i,a,c){try{e?te.isBuffer(e)&&(X(i===e.byteLength,"buffer body must have content length"),s.cork(),s.write(`${a}content-length: ${i}\r
\r
`,"latin1"),s.write(e),s.uncork(),n.onBodySent(e),!c&&n.reset!==!1&&(s[An]=!0)):i===0?s.write(`${a}content-length: 0\r
\r
`,"latin1"):(X(i===null,"no body must not have content length"),s.write(`${a}\r
`,"latin1")),n.onRequestSent(),r[ca]()}catch(l){t(l)}}o(rz,"writeBuffer");async function age(t,e,r,n,s,i,a,c){X(i===e.size,"blob body must have content length");try{if(i!=null&&i!==e.size)throw new Nl;let l=Buffer.from(await e.arrayBuffer());s.cork(),s.write(`${a}content-length: ${i}\r
\r
`,"latin1"),s.write(l),s.uncork(),n.onBodySent(l),n.onRequestSent(),!c&&n.reset!==!1&&(s[An]=!0),r[ca]()}catch(l){t(l)}}o(age,"writeBlob");async function nz(t,e,r,n,s,i,a,c){X(i!==0||r[Vt]===0,"iterator body cannot be pipelined");let l=null;function u(){if(l){let p=l;l=null,p()}}o(u,"onDrain");let d=o(()=>new Promise((p,f)=>{X(l===null),s[Gr]?f(s[Gr]):l=p}),"waitForDrain");s.on("close",u).on("drain",u);let A=new wy({abort:t,socket:s,request:n,contentLength:i,client:r,expectsPayload:c,header:a});try{for await(let p of e){if(s[Gr])throw s[Gr];A.write(p)||await d()}A.end()}catch(p){A.destroy(p)}finally{s.off("close",u).off("drain",u)}}o(nz,"writeIterable");var wy=class{static{o(this,"AsyncWriter")}constructor({abort:e,socket:r,request:n,contentLength:s,client:i,expectsPayload:a,header:c}){this.socket=r,this.request=n,this.contentLength=s,this.client=i,this.bytesWritten=0,this.expectsPayload=a,this.header=c,this.abort=e,r[ac]=!0}write(e){let{socket:r,request:n,contentLength:s,client:i,bytesWritten:a,expectsPayload:c,header:l}=this;if(r[Gr])throw r[Gr];if(r.destroyed)return!1;let u=Buffer.byteLength(e);if(!u)return!0;if(s!==null&&a+u>s){if(i[UQ])throw new Nl;process.emitWarning(new Nl)}r.cork(),a===0&&(!c&&n.reset!==!1&&(r[An]=!0),s===null?r.write(`${l}transfer-encoding: chunked\r
`,"latin1"):r.write(`${l}content-length: ${s}\r
\r
`,"latin1")),s===null&&r.write(`\r
${u.toString(16)}\r
`,"latin1"),this.bytesWritten+=u;let d=r.write(e);return r.uncork(),n.onBodySent(e),d||r[nt].timeout&&r[nt].timeoutType===kd&&r[nt].timeout.refresh&&r[nt].timeout.refresh(),d}end(){let{socket:e,contentLength:r,client:n,bytesWritten:s,expectsPayload:i,header:a,request:c}=this;if(c.onRequestSent(),e[ac]=!1,e[Gr])throw e[Gr];if(!e.destroyed){if(s===0?i?e.write(`${a}content-length: 0\r
\r
`,"latin1"):e.write(`${a}\r
`,"latin1"):r===null&&e.write(`\r
0\r
\r
`,"latin1"),r!==null&&s!==r){if(n[UQ])throw new Nl;process.emitWarning(new Nl)}e[nt].timeout&&e[nt].timeoutType===kd&&e[nt].timeout.refresh&&e[nt].timeout.refresh(),n[ca]()}}destroy(e){let{socket:r,client:n,abort:s}=this;r[ac]=!1,e&&(X(n[Vt]<=1,"pipeline should only contain this request"),s(e))}};lz.exports=tge});var Ez=m((hKe,gz)=>{"use strict";var gs=require("node:assert"),{pipeline:cge}=require("node:stream"),Se=Ie(),{RequestContentLengthMismatchError:zQ,RequestAbortedError:dz,SocketError:Vf,InformationalError:JQ}=Pe(),{kUrl:Sy,kReset:xy,kClient:Dd,kRunning:Qy,kPending:lge,kQueue:cc,kPendingIdx:$Q,kRunningIdx:si,kError:oi,kSocket:lr,kStrictContentLength:uge,kOnError:YQ,kMaxConcurrentStreams:mz,kHTTP2Session:ii,kResume:lc,kSize:dge,kHTTPContext:Age}=dt(),la=Symbol("open streams"),Az,pz=!1,Ny;try{Ny=require("node:http2")}catch{Ny={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:pge,HTTP2_HEADER_METHOD:fge,HTTP2_HEADER_PATH:hge,HTTP2_HEADER_SCHEME:mge,HTTP2_HEADER_CONTENT_LENGTH:gge,HTTP2_HEADER_EXPECT:Ege,HTTP2_HEADER_STATUS:yge}}=Ny;function Cge(t){let e=[];for(let[r,n]of Object.entries(t))if(Array.isArray(n))for(let s of n)e.push(Buffer.from(r),Buffer.from(s));else e.push(Buffer.from(r),Buffer.from(n));return e}o(Cge,"parseH2Headers");async function Ige(t,e){t[lr]=e,pz||(pz=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=Ny.connect(t[Sy],{createConnection:o(()=>e,"createConnection"),peerMaxConcurrentStreams:t[mz]});r[la]=0,r[Dd]=t,r[lr]=e,Se.addListener(r,"error",bge),Se.addListener(r,"frameError",wge),Se.addListener(r,"end",Sge),Se.addListener(r,"goaway",Nge),Se.addListener(r,"close",function(){let{[Dd]:s}=this,{[lr]:i}=s,a=this[lr][oi]||this[oi]||new Vf("closed",Se.getSocketInfo(i));if(s[ii]=null,s.destroyed){gs(s[lge]===0);let c=s[cc].splice(s[si]);for(let l=0;l<c.length;l++){let u=c[l];Se.errorRequest(s,u,a)}}}),r.unref(),t[ii]=r,e[ii]=r,Se.addListener(e,"error",function(s){gs(s.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[oi]=s,this[Dd][YQ](s)}),Se.addListener(e,"end",function(){Se.destroy(this,new Vf("other side closed",Se.getSocketInfo(this)))}),Se.addListener(e,"close",function(){let s=this[oi]||new Vf("closed",Se.getSocketInfo(this));t[lr]=null,this[ii]!=null&&this[ii].destroy(s),t[$Q]=t[si],gs(t[Qy]===0),t.emit("disconnect",t[Sy],[t],s),t[lc]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...s){return Qge(t,...s)},resume(){Bge(t)},destroy(s,i){n?queueMicrotask(i):e.destroy(s).on("close",i)},get destroyed(){return e.destroyed},busy(){return!1}}}o(Ige,"connectH2");function Bge(t){let e=t[lr];e?.destroyed===!1&&(t[dge]===0&&t[mz]===0?(e.unref(),t[ii].unref()):(e.ref(),t[ii].ref()))}o(Bge,"resumeH2");function bge(t){gs(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[lr][oi]=t,this[Dd][YQ](t)}o(bge,"onHttp2SessionError");function wge(t,e,r){if(r===0){let n=new JQ(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[lr][oi]=n,this[Dd][YQ](n)}}o(wge,"onHttp2FrameError");function Sge(){let t=new Vf("other side closed",Se.getSocketInfo(this[lr]));this.destroy(t),Se.destroy(this[lr],t)}o(Sge,"onHttp2SessionEnd");function Nge(t){let e=this[oi]||new Vf(`HTTP/2: "GOAWAY" frame received with code ${t}`,Se.getSocketInfo(this)),r=this[Dd];if(r[lr]=null,r[Age]=null,this[ii]!=null&&(this[ii].destroy(e),this[ii]=null),Se.destroy(this[lr],e),r[si]<r[cc].length){let n=r[cc][r[si]];r[cc][r[si]++]=null,Se.errorRequest(r,n,e),r[$Q]=r[si]}gs(r[Qy]===0),r.emit("disconnect",r[Sy],[r],e),r[lc]()}o(Nge,"onHTTP2GoAway");function xge(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}o(xge,"shouldSendContentLength");function Qge(t,e){let r=t[ii],{method:n,path:s,host:i,upgrade:a,expectContinue:c,signal:l,headers:u}=e,{body:d}=e;if(a)return Se.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let A={};for(let B=0;B<u.length;B+=2){let N=u[B+0],Q=u[B+1];if(Array.isArray(Q))for(let D=0;D<Q.length;D++)A[N]?A[N]+=`,${Q[D]}`:A[N]=Q[D];else A[N]=Q}let p,{hostname:f,port:h}=t[Sy];A[pge]=i||`${f}${h?`:${h}`:""}`,A[fge]=n;let g=o(B=>{e.aborted||e.completed||(B=B||new dz,Se.errorRequest(t,e,B),p!=null&&Se.destroy(p,B),Se.destroy(d,B),t[cc][t[si]++]=null,t[lc]())},"abort");try{e.onConnect(g)}catch(B){Se.errorRequest(t,e,B)}if(e.aborted)return!1;if(n==="CONNECT")return r.ref(),p=r.request(A,{endStream:!1,signal:l}),p.id&&!p.pending?(e.onUpgrade(null,null,p),++r[la],t[cc][t[si]++]=null):p.once("ready",()=>{e.onUpgrade(null,null,p),++r[la],t[cc][t[si]++]=null}),p.once("close",()=>{r[la]-=1,r[la]===0&&r.unref()}),!0;A[hge]=s,A[mge]="https";let y=n==="PUT"||n==="POST"||n==="PATCH";d&&typeof d.read=="function"&&d.read(0);let E=Se.bodyLength(d);if(Se.isFormDataLike(d)){Az??=vd().extractBody;let[B,N]=Az(d);A["content-type"]=N,d=B.stream,E=B.length}if(E==null&&(E=e.contentLength),(E===0||!y)&&(E=null),xge(n)&&E>0&&e.contentLength!=null&&e.contentLength!==E){if(t[uge])return Se.errorRequest(t,e,n Line truncated
`,this[eEe]=l??3e5,this[Zge]=s??3e5,this[tEe]=C??!0,this[rEe]=B,this[XQ]=Q,this[dc]=null,this[aEe]=ue>-1?ue:-1,this[lEe]=qe??100,this[kt]=null,this[ai]=[],this[da]=0,this[ci]=0,this[Yf]=de=>eR(this,de),this[cEe]=de=>Tz(this,de)}get pipelining(){return this[Py]}set pipelining(e){this[Py]=e,this[Yf](!0)}get[Kf](){return this[ai].length-this[ci]}get[jf](){return this[ci]-this[da]}get[Wf](){return this[ai].length-this[da]}get[Jge](){return!!this[kt]&&!this[Md]&&!this[kt].destroyed}get[KQ](){return!!(this[kt]?.busy(null)||this[Wf]>=(Rz(this)||1)||this[Kf]>0)}[zge](e){vz(this),this.once("connect",e)}[oEe](e,r){let n=e.origin||this[Ui].origin,s=new Fge(n,e,r);return this[ai].push(s),this[vl]||(Tl.bodyLength(s.body)==null&&Tl.isIterable(s.body)?(this[vl]=1,queueMicrotask(()=>eR(this))):this[Yf](!0)),this[vl]&&this[Ac]!==2&&this[KQ]&&(this[Ac]=2),this[Ac]<2}async[sEe](){return new Promise(e=>{this[Wf]?this[dc]=e:e(null)})}async[iEe](e){return new Promise(r=>{let n=this[ai].splice(this[ci]);for(let i=0;i<n.length;i++){let a=n[i];Tl.errorRequest(this,a,e)}let s=o(()=>{this[dc]&&(this[dc](),this[dc]=null),r(null)},"callback");this[kt]?(this[kt].destroy(e,s),this[kt]=null):queueMicrotask(s),this[Yf]()})}},AEe=vy();function Tz(t,e){if(t[jf]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){ua(t[ci]===t[da]);let r=t[ai].splice(t[da]);for(let n=0;n<r.length;n++){let s=r[n];Tl.errorRequest(t,s,e)}ua(t[Wf]===0)}}o(Tz,"onError");async function vz(t){ua(!t[Md]),ua(!t[kt]);let{host:e,hostname:r,protocol:n,port:s}=t[Ui];if(r[0]==="["){let i=r.indexOf("]");ua(i!==-1);let a=r.substring(1,i);ua(Qz.isIP(a)),r=a}t[Md]=!0,Od.beforeConnect.hasSubscribers&&Od.beforeConnect.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[kt]?.version,servername:t[uc],localAddress:t[$f]},connector:t[Jf]});try{let i=await new Promise((a,c)=>{t[Jf]({host:e,hostname:r,protocol:n,port:s,servername:t[uc],localAddress:t[$f]},(l,u)=>{l?c(l):a(u)})});if(t.destroyed){Tl.destroy(i.on("error",Nz),new Gge);return}ua(i);try{t[kt]=i.alpnProtocol==="h2"?await dEe(t,i):await uEe(t,i)}catch(a){throw i.destroy().on("error",Nz),a}t[Md]=!1,i[nEe]=0,i[XQ]=t[XQ],i[Vge]=t,i[Yge]=null,Od.connected.hasSubscribers&&Od.connected.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[kt]?.version,servername:t[uc],localAddress:t[$f]},connector:t[Jf],socket:i}),t.emit("connect",t[Ui],[t])}catch(i){if(t.destroyed)return;if(t[Md]=!1,Od.connectError.hasSubscribers&&Od.connectError.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[kt]?.version,servername:t[uc],localAddress:t[$f]},connector:t[Jf],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(ua(t[jf]===0);t[Kf]>0&&t[ai][t[ci]].servername===t[uc];){let a=t[ai][t[ci]++];Tl.errorRequest(t,a,i)}else Tz(t,i);t.emit("connectionError",t[Ui],[t],i)}t[Yf]()}o(vz,"connect");function xz(t){t[Ac]=0,t.emit("drain",t[Ui],[t])}o(xz,"emitDrain");function eR(t,e){t[vl]!==2&&(t[vl]=2,pEe(t,e),t[vl]=0,t[da]>256&&(t[ai].splice(0,t[da]),t[ci]-=t[da],t[da]=0))}o(eR,"resume");function pEe(t,e){for(;;){if(t.destroyed){ua(t[Kf]===0);return}if(t[dc]&&!t[Wf]){t[dc](),t[dc]=null;return}if(t[kt]&&t[kt].resume(),t[KQ])t[Ac]=2;else if(t[Ac]===2){e?(t[Ac]=1,queueMicrotask(()=>xz(t))):xz(t);continue}if(t[Kf]===0||t[jf]>=(Rz(t)||1))return;let r=t[ai][t[ci]];if(t[Ui].protocol==="https:"&&t[uc]!==r.servername){if(t[jf]>0)return;t[uc]=r.servername,t[kt]?.destroy(new qge("servername changed"),()=>{t[kt]=null,eR(t)})}if(t[Md])return;if(!t[kt]){vz(t);return}if(t[kt].destroyed||t[kt].busy(r))return;!r.aborted&&t[kt].write(r)?t[ci]++:t[ai].splice(t[ci],1)}}o(pEe,"_resume");Pz.exports=ZQ});var tR=m((wKe,_z)=>{"use strict";var _y=class{static{o(this,"FixedCircularBuffer")}constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};_z.exports=class{static{o(this,"FixedQueue")}constructor(){this.head=this.tail=new _y}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new _y),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var Dz=m((NKe,kz)=>{var{kFree:fEe,kConnected:hEe,kPending:mEe,kQueued:gEe,kRunning:EEe,kSize:yEe}=dt(),Pl=Symbol("pool"),rR=class{static{o(this,"PoolStats")}constructor(e){this[Pl]=e}get connected(){return this[Pl][hEe]}get free(){return this[Pl][fEe]}get pending(){return this[Pl][mEe]}get queued(){return this[Pl][gEe]}get running(){return this[Pl][EEe]}get size(){return this[Pl][yEe]}};kz.exports=rR});var cR=m((QKe,zz)=>{"use strict";var CEe=Bd(),IEe=tR(),{kConnected:nR,kSize:Oz,kRunning:Mz,kPending:Lz,kQueued:Xf,kBusy:BEe,kFree:bEe,kUrl:wEe,kClose:SEe,kDestroy:NEe,kDispatch:xEe}=dt(),QEe=Dz(),pn=Symbol("cl Line truncated
${n.count} ${n.noun} ${n.is} pending:
${e.format(r)}
`.trim())}};K$.exports=cT});var Ky=m((NXe,rY)=>{"use strict";var Z$=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:eIe}=Pe(),tIe=Ud();tY()===void 0&&eY(new tIe);function eY(t){if(!t||typeof t.dispatch!="function")throw new eIe("Argument agent must implement Agent");Object.defineProperty(globalThis,Z$,{value:t,writable:!0,enumerable:!1,configurable:!1})}o(eY,"setGlobalDispatcher");function tY(){return globalThis[Z$]}o(tY,"getGlobalDispatcher");rY.exports={setGlobalDispatcher:eY,getGlobalDispatcher:tY}});var Xy=m((RXe,nY)=>{"use strict";nY.exports=class{static{o(this,"DecoratorHandler")}#e;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=e}onConnect(...e){return this.#e.onConnect?.(...e)}onError(...e){return this.#e.onError?.(...e)}onUpgrade(...e){return this.#e.onUpgrade?.(...e)}onResponseStarted(...e){return this.#e.onResponseStarted?.(...e)}onHeaders(...e){return this.#e.onHeaders?.(...e)}onData(...e){return this.#e.onData?.(...e)}onComplete(...e){return this.#e.onComplete?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}}});var iY=m((vXe,sY)=>{"use strict";var rIe=Ty();sY.exports=t=>{let e=t?.maxRedirections;return r=>o(function(s,i){let{maxRedirections:a=e,...c}=s;if(!a)return r(s,i);let l=new rIe(r,a,s,i);return r(c,l)},"redirectInterceptor")}});var aY=m((_Xe,oY)=>{"use strict";var nIe=qy();oY.exports=t=>e=>o(function(n,s){return e(n,new nIe({...n,retryOptions:{...t,...n.retryOptions}},{handler:s,dispatch:e}))},"retryInterceptor")});var lY=m((DXe,cY)=>{"use strict";var sIe=Ie(),{InvalidArgumentError:iIe,RequestAbortedError:oIe}=Pe(),aIe=Xy(),lT=class extends aIe{static{o(this,"DumpHandler")}#e=1024*1024;#t=null;#n=!1;#r=!1;#s=0;#i=null;#a=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new iIe("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#a=r}onConnect(e){this.#t=e,this.#a.onConnect(this.#o.bind(this))}#o(e){this.#r=!0,this.#i=e}onHeaders(e,r,n,s){let a=sIe.parseHeaders(r)["content-length"];if(a!=null&&a>this.#e)throw new oIe(`Response size (${a}) larger than maxSize (${this.#e})`);return this.#r?!0:this.#a.onHeaders(e,r,n,s)}onError(e){this.#n||(e=this.#i??e,this.#a.onError(e))}onData(e){return this.#s=this.#s+e.length,this.#s>=this.#e&&(this.#n=!0,this.#r?this.#a.onError(this.#i):this.#a.onComplete([])),!0}onComplete(e){if(!this.#n){if(this.#r){this.#a.onError(this.reason);return}this.#a.onComplete(e)}}};function cIe({maxSize:t}={maxSize:1024*1024}){return e=>o(function(n,s){let{dumpMaxSize:i=t}=n,a=new lT({maxSize:i},s);return e(n,a)},"Intercept")}o(cIe,"createDumpInterceptor");cY.exports=cIe});var AY=m((MXe,dY)=>{"use strict";var{isIP:lIe}=require("node:net"),{lookup:uIe}=require("node:dns"),dIe=Xy(),{InvalidArgumentError:jd,InformationalError:AIe}=Pe(),uY=Math.pow(2,31)-1,uT=class{static{o(this,"DNSInstance")}#e=0;#t=0;#n=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#r,this.pick=e.pick??this.#s}get full(){return this.#n.size===this.#t}runLookup(e,r,n){let s=this.#n.get(e.hostname);if(s==null&&this.full){n(null,e.origin);return}let i={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...r.dns,maxTTL:this.#e,maxItems:this.#t};if(s==null)this.lookup(e,i,(a,c)=>{if(a||c==null||c.length===0){n(a??new AIe("No DNS entries found"));return}this.setRecords(e,c);let l=this.#n.get(e.hostname),u=this.pick(e,l,i.affinity),d;typeof u.port=="number"?d=`:${u.port}`:e.port!==""?d=`:${e.port}`:d="",n(null,`${e.protocol}//${u.family===6?`[${u.address}]`:u.address}${d}`)});else{let a=this.pick(e,s,i.affinity);if(a==null){this.#n.delete(e.hostname),this.runLookup(e,r,n);return}let c;typeof a.port=="number"?c=`:${a.port}`:e.port!==""?c=`:${e.port}`:c="",n(null,`${e.protocol}//${a.family===6?`[${a.address}]`:a.address}${c}`)}}#r(e,r,n){uIe(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,i)=>{if(s)return n(s);let a=new Map;for(let c of i)a.set(`${c.address}:${c.family}`,c);n(null,a.values())})}#s(e,r,n){let s=null,{records:i,offset:a}=r,c;if(this.dualStack?(n==null&&(a==null||a===uY?(r.offset=0,n=4):(r.offset++,n=(r.offset&1)===1?6:4)),i[n]!=null&&i[n].ips.length>0?c=i[n]:c=i[n===4?6:4]):c=i[n],c==null||c.ips.length===0)return s;c.offset==null||c.offset===uY?c.offset=0:c.offset++;let l=c.offset%c.ips.length;return s=c.ips[l]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(c.ips.splice(l,1),this.pick(e,r,n)):s}setRecords(e,r){let n=Date.now(),s={records:{4:null,6:null}};for(let i of r){i.timestamp=n,typeof i.ttl=="number"?i.ttl=Math.min(i.ttl,this.#e):i.ttl=this.#e;let a=s.records[i.family]??{ips:[]};a.ips.push(i),s.records[i.family]=a}this.#n.set(e.hostname,s)}getHandler(e,r){return new dT(this,e,r)}},dT=class extends dIe{static{o(this,"DNSDispatchHandler")}#e=null;#t=null;#n=null Line truncated
${i}`;break;case"retry":zW(i)&&(r[s]=i);break;case"id":JW(i)&&(r[s]=i);break;case"event":i.length>0&&(r[s]=i);break}}processEvent(e){e.retry&&zW(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&JW(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};$W.exports={EventSourceStream:XT}});var rj=m((UZe,tj)=>{"use strict";var{pipeline:C0e}=require("node:stream"),{fetching:I0e}=Ah(),{makeRequest:B0e}=Zd(),{webidl:ma}=Er(),{EventSourceStream:b0e}=YW(),{parseMIMEType:w0e}=dn(),{createFastMessageEvent:S0e}=iA(),{isNetworkError:WW}=uh(),{delay:N0e}=jT(),{kEnumerableProperty:$l}=Ie(),{environmentSettingsObject:jW}=Ln(),KW=!1,XW=3e3,Nh=0,ZW=1,xh=2,x0e="anonymous",Q0e="use-credentials",uA=class t extends EventTarget{static{o(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#n=!1;#r=Nh;#s=null;#i=null;#a;#o;constructor(e,r={}){super(),ma.util.markAsUncloneable(this);let n="EventSource constructor";ma.argumentLengthCheck(arguments,1,n),KW||(KW=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=ma.converters.USVString(e,n,"url"),r=ma.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#a=r.dispatcher,this.#o={lastEventId:"",reconnectionTime:XW};let s=jW,i;try{i=new URL(e,s.settingsObject.baseUrl),this.#o.origin=i.origin}catch(l){throw new DOMException(l,"SyntaxError")}this.#t=i.href;let a=x0e;r.withCredentials&&(a=Q0e,this.#n=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=jW.settingsObject,c.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],c.cache="no-store",c.initiator="other",c.urlList=[new URL(this.#t)],this.#s=B0e(c),this.#l()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#l(){if(this.#r===xh)return;this.#r=Nh;let e={request:this.#s,dispatcher:this.#a},r=o(n=>{WW(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#c()},"processEventSourceEndOfBody");e.processResponseEndOfBody=r,e.processResponse=n=>{if(WW(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#c();return}let s=n.headersList.get("content-type",!0),i=s!==null?w0e(s):"failure",a=i!=="failure"&&i.essence==="text/event-stream";if(n.status!==200||a===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=ZW,this.dispatchEvent(new Event("open")),this.#o.origin=n.urlList[n.urlList.length-1].origin;let c=new b0e({eventSourceSettings:this.#o,push:o(l=>{this.dispatchEvent(S0e(l.type,l.options))},"push")});C0e(n.body.stream,c,l=>{l?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#i=I0e(e)}async#c(){this.#r!==xh&&(this.#r=Nh,this.dispatchEvent(new Event("error")),await N0e(this.#o.reconnectionTime),this.#r===Nh&&(this.#o.lastEventId.length&&this.#s.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#l()))}close(){ma.brandCheck(this,t),this.#r!==xh&&(this.#r=xh,this.#i.abort(),this.#s=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}},ej={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Nh,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:ZW,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:xh,writable:!1}};Object.defineProperties(uA,ej);Object.defineProperties(uA.prototype,ej);Object.defineProperties(uA.prototype,{close:$l,onerror:$l,onmessage:$l,onopen:$l,readyState:$l,url:$l,withCredentials:$l});ma.converters.EventSourceInitDict=ma.dictionaryConverter([{key:"withCredentials",converter:ma.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"dispatcher",converter:ma.converters.any}]);tj.exports={EventSource:uA,defaultReconnectionTime:XW}});var AA=m((GZe,ne)=>{"use strict";var R0e=Ld(),nj=Tf(),T0e=Fd(),v0e=eJ(),P0e=Ud(),_0e=IR(),k0e=wJ(),D0e=TJ(),sj=Pe(),FC=Ie(),{InvalidArgumentError:LC}=sj,dA=m$(),O0e=Pf(),M0e=rT(),L0e=X$(),F0e=iT(),U0e=HR(),q0e=qy(),{getGlobalDispatcher:ij,setGlobalDispatcher:G0e}=Ky(),H0e=Xy(),V0e=Ty(),z0e=vy();Object.assign(nj.prototype,dA);ne.exports.Dispatcher=nj;ne.exports.Client=R0e;ne.exports.Pool=T0e;ne.exports.BalancedPool=v0e;ne.exports.Agent=P0e;ne.exports. Line truncated
%s`,N,N,C,n);var Q=C.type==="*"?rP:C.type==="?"?tP:"\\"+C.type;s=!0,n=n.slice(0,C.reStart)+Q+"\\("+N}h(),i&&(n+="\\\\");var D=!1;switch(n.charAt(0)){case"[":case".":case"(":D=!0}for(var ue=c.length-1;ue>-1;ue--){var xe=c[ue],ke=n.slice(0,xe.reStart),qe=n.slice(xe.reStart,xe.reEnd-8),Ce=n.slice(xe.reEnd-8,xe.reEnd),Xe=n.slice(xe.reEnd);Ce+=Xe;var de=ke.split("(").length-1,Lr=Xe;for(g=0;g<de;g++)Lr=Lr.replace(/\)[+*?]?/,"");Xe=Lr;var J="";Xe===""&&e!==cI&&(J="$");var Ge=ke+qe+Xe+J+Ce;n=Ge}if(n!==""&&s&&(n="(?=.)"+n),D&&(n=p+n),e===cI)return[n,s];if(!s)return lRe(t);var Pi=r.nocase?"i":"";try{var tc=new RegExp("^"+n+"$",Pi)}catch{return new RegExp("$.")}return tc._glob=t,tc._src=n,tc}o(aRe,"parse");jn.makeRe=function(t,e){return new $t(t,e||{}).makeRe()};$t.prototype.makeRe=cRe;function cRe(){if(this.regexp||this.regexp===!1)return this.regexp;var t=this.set;if(!t.length)return this.regexp=!1,this.regexp;var e=this.options,r=e.noglobstar?rP:e.dot?eRe:tRe,n=e.nocase?"i":"",s=t.map(function(i){return i.map(function(a){return a===Zl?r:typeof a=="string"?uRe(a):a._src}).join("\\/")}).join("|");s="^(?:"+s+")$",this.negate&&(s="^(?!"+s+").*$");try{this.regexp=new RegExp(s,n)}catch{this.regexp=!1}return this.regexp}o(cRe,"makeRe");jn.match=function(t,e,r){r=r||{};var n=new $t(e,r);return t=t.filter(function(s){return n.match(s)}),n.options.nonull&&!t.length&&t.push(e),t};$t.prototype.match=o(function(e,r){if(typeof r>"u"&&(r=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;var n=this.options;jh.sep!=="/"&&(e=e.split(jh.sep).join("/")),e=e.split(c8),this.debug(this.pattern,"split",e);var s=this.set;this.debug(this.pattern,"set",s);var i,a;for(a=e.length-1;a>=0&&(i=e[a],!i);a--);for(a=0;a<s.length;a++){var c=s[a],l=e;n.matchBase&&c.length===1&&(l=[i]);var u=this.matchOne(l,c,r);if(u)return n.flipNegate?!0:!this.negate}return n.flipNegate?!1:this.negate},"match");$t.prototype.matchOne=function(t,e,r){return e.indexOf(Zl)!==-1?this._matchGlobstar(t,e,r,0,0):this._matchOne(t,e,r,0,0)};$t.prototype._matchGlobstar=function(t,e,r,n,s){var i,a=-1;for(i=s;i<e.length;i++)if(e[i]===Zl){a=i;break}var c=-1;for(i=e.length-1;i>=0;i--)if(e[i]===Zl){c=i;break}var l=e.slice(s,a),u=r?e.slice(a+1):e.slice(a+1,c),d=r?[]:e.slice(c+1);if(l.length){var A=t.slice(n,n+l.length);if(!this._matchOne(A,l,r,0,0))return!1;n+=l.length}var p=0;if(d.length){if(d.length+n>t.length)return!1;var f=t.length-d.length;if(this._matchOne(t,d,r,f,0))p=d.length;else{if(t[t.length-1]!==""||n+d.length===t.length||(f--,!this._matchOne(t,d,r,f,0)))return!1;p=d.length+1}}if(!u.length){var h=!!p;for(i=n;i<t.length-p;i++){var g=String(t[i]);if(h=!0,g==="."||g===".."||!this.options.dot&&g.charAt(0)===".")return!1}return r||h}for(var y=[[[],0]],E=y[0],C=0,I=[0],B=0;B<u.length;B++){var N=u[B];N===Zl?(I.push(C),E=[[],0],y.push(E)):(E[0].push(N),C++)}for(var Q=y.length-1,D=t.length-p,ue=0;ue<y.length;ue++)y[ue][1]=D-(I[Q--]+y[ue][0].length);return!!this._matchGlobStarBodySections(t,y,n,0,r,0,!!p)};$t.prototype._matchGlobStarBodySections=function(t,e,r,n,s,i,a){var c=e[n];if(!c){for(var l=r;l<t.length;l++){a=!0;var u=t[l];if(u==="."||u===".."||!this.options.dot&&u.charAt(0)===".")return!1}return a}for(var d=c[0],A=c[1];r<=A;){var p=this._matchOne(t.slice(0,r+d.length),d,s,r,0);if(p&&i<this.maxGlobstarRecursion){var f=this._matchGlobStarBodySections(t,e,r+d.length,n+1,s,i+1,a);if(f!==!1)return f}var u=t[r];if(u==="."||u===".."||!this.options.dot&&u.charAt(0)===".")return!1;r++}return s||null};$t.prototype._matchOne=function(t,e,r,n,s){var i,a,c,l;for(i=n,a=s,c=t.length,l=e.length;i<c&&a<l;i++,a++){this.debug("matchOne loop");var u=e[a],d=t[i];if(this.debug(e,u,d),u===!1||u===Zl)return!1;var A;if(typeof u=="string"?(A=d===u,this.debug("string match",u,d,A)):(A=d.match(u),this.debug("pattern match",u,d,A)),!A)return!1}if(i===c&&a===l)return!0;if(i===c)return r;if(a===l)return i===c-1&&t[i]==="";throw new Error("wtf?")};function lRe(t){return t.replace(/\\(.)/g,"$1")}o(lRe,"globUnescape");function uRe(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}o(uRe,"regExpEscape")});var bA=m((Cnt,h8)=>{"use strict";var ERe="2.0.0",yRe=Number.MAX_SAFE_INTEGER||9007199254740991,CRe=16,IRe=250,BRe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];h8.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:CRe,MAX_SAFE_BUILD_LENGTH:IRe,MAX_SAFE_INTEGER:yRe,RELEASE_TYPES:BRe,SEMVER_SPEC_VERSION:ERe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Zh=m((Int,m8)=>{"use strict";var bRe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};m8.exports=bRe});var wA=m((Wi,g8)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:sP,MAX_SAFE_BUILD_LENGTH:wRe,MAX_LENGTH:SRe}=bA(),NRe=Zh();Wi=g8.exports={};var xRe=Wi.re=[],QRe=Wi.safeRe=[],L=Wi.src=[],RRe=Wi.safeSrc=[],F=Wi.t={},TRe=0,iP="[a-zA-Z0-9-]",vRe=[["\\s",1],["\\d", Line truncated
`).join(`
`+i),t.push(s+"m+"+KI.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=I_e()+e+" "+t[0]}o(C_e,"formatArgs");function I_e(){return Br.inspectOpts.hideDate?"":new Date().toISOString()+" "}o(I_e,"getDate");function B_e(...t){return process.stderr.write(jI.format(...t)+`
`)}o(B_e,"log");function b_e(t){t?process.env.DEBUG=t:delete process.env.DEBUG}o(b_e,"save");function w_e(){return process.env.DEBUG}o(w_e,"load");function S_e(t){t.inspectOpts={};let e=Object.keys(Br.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Br.inspectOpts[e[r]]}o(S_e,"init");KI.exports=YP()(Br);var{formatters:eK}=KI.exports;eK.o=function(t){return this.inspectOpts.colors=this.useColors,jI.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};eK.O=function(t){return this.inspectOpts.colors=this.useColors,jI.inspect(t,this.inspectOpts)}});var XI=m((Aat,XP)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?XP.exports=W6():XP.exports=tK()});var sK=m(yn=>{"use strict";var N_e=yn&&yn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),x_e=yn&&yn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),rK=yn&&yn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&N_e(e,t,r);return x_e(e,t),e};Object.defineProperty(yn,"__esModule",{value:!0});yn.req=yn.json=yn.toBuffer=void 0;var Q_e=rK(require("http")),R_e=rK(require("https"));async function nK(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}o(nK,"toBuffer");yn.toBuffer=nK;async function T_e(t){let r=(await nK(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let s=n;throw s.message+=` (input: ${r})`,s}}o(T_e,"json");yn.json=T_e;function v_e(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?R_e:Q_e).request(t,e),s=new Promise((i,a)=>{n.once("response",i).once("error",a).end()});return n.then=s.then.bind(s),n}o(v_e,"req");yn.req=v_e});var cK=m(es=>{"use strict";var oK=es&&es.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),P_e=es&&es.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),aK=es&&es.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&oK(e,t,r);return P_e(e,t),e},__e=es&&es.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oK(e,t,r)};Object.defineProperty(es,"__esModule",{value:!0});es.Agent=void 0;var k_e=aK(require("net")),iK=aK(require("http")),D_e=require("https");__e(sK(),es);var Zi=Symbol("AgentBaseInternalState"),ZP=class extends iK.Agent{static{o(this,"Agent")}constructor(e){super(e),this[Zi]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new k_e.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],s=n.indexOf(r);s!==-1&&(n.splice(s,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?D_e.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let s={...r,secureEndpoint:this.isSecureEndpoint(r)},i=this.getName(s),a=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(e,s)).then(c=>{if(this.decrementSockets(i,a),c instanceof iK.Agent)try{return c.addRequest(e,s)}catch(l){return n(l)}this[Zi].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(i,a),n(c)})}createConnection(){let e=this[Zi].currentSocket;if(this[Zi].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Zi].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Zi]&&(this[Zi].defaultPort=e)}get protocol(){return this[Zi].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Zi]&&(this[Zi].protocol=e)}};es.Agent=ZP});var lK=m(kA=>{"use strict";var O_e=kA&&kA.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kA,"__esModule",{value:!0});kA.parseProxyResponse=void 0;var M_e=O_e(XI()),ZI=(0,M_e.default)("https-proxy-agent:parse-proxy-response");function L_e(t){return new Promise((e,r)=>{let n=0,s=[];function i(){let d=t.read();d?u(d):t.once("readable",i)}o(i,"read");function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",i)}o(a,"cleanup");function c(){a(),ZI("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}o(c,"onend");function l(d){a(),ZI("onerror %o",d),r(d)}o(l,"onerror");function u(d){s.push(d),n+=d.length;let A=Buffer.concat(s,n),p=A.indexOf(`\r
\r
`);if(p===-1){ZI("have not received end of HTTP headers yet..."),i();return}let f=A.slice(0,p).toString("ascii").split(`\r
`),h=f.shift();if(!h)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let g=h.split(" "),y=+g[1],E=g.slice(2).join(" "),C={};for(let I of f){if(!I)continue;let B=I.indexOf(":");if(B===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${I}"`));let N=I.slice(0,B).toLowerCase(),Q=I.slice(B+1).trimStart(),D=C[N];typeof D=="string"?C[N]=[D,Q]:Array.isArray(D)?D.push(Q):C[N]=Q}ZI("got proxy server response: %o %o",h,C),a(),e({connect:{statusCode:y,statusText:E,headers:C},buffered:A})}o(u,"ondata"),t.on("error",l),t.on("end",c),i()})}o(L_e,"parseProxyResponse");kA.parseProxyResponse=L_e});var hK=m(vs=>{"use strict";var F_e=vs&&vs.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),U_e=vs&&vs.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),pK=vs&&vs.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&F_e(e,t,r);return U_e(e,t),e},fK=vs&&vs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vs,"__esModule",{value:!0});vs.HttpsProxyAgent=void 0;var eB=pK(require("net")),uK=pK(require("tls")),q_e=fK(require("assert")),G_e=fK(XI()),H_e=cK(),V_e=require("url"),z_e=lK(),fm=(0,G_e.default)("https-proxy-agent"),dK=o(t=>t.servername===void 0&&t.host&&!eB.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),tB=class extends H_e.Agent{static{o(this,"HttpsProxyAgent")}constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new V_e.URL(e):e,this.proxyHeaders=r?.headers??{},fm("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?AK(r,"headers"):null,host:n,port:s}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let s;n.protocol==="https:"?(fm("Creating `tls.Socket`: %o",this.connectOpts),s=uK.connect(dK(this.connectOpts))):(fm("Creating `net.Socket`: %o",this.connectOpts),s=eB.connect(this.connectOpts));let i=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=eB.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
`;if(n.username||n.password){let p=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;i["Proxy-Authorization"]=`Basic ${Buffer.from(p).toString("base64")}`}i.Host=`${a}:${r.port}`,i["Proxy-Connection"]||(i["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let p of Object.keys(i))c+=`${p}: ${i[p]}\r
`;let l=(0,z_e.parseProxyResponse)(s);s.write(`${c}\r
`);let{connect:u,buffered:d}=await l;if(e.emit("proxyConnect",u),this.emit("proxyConnect",u,e),u.statusCode===200)return e.once("socket",J_e),r.secureEndpoint?(fm("Upgrading socket connection to TLS"),uK.connect({...AK(dK(r),"host","path","port"),socket:s})):s;s.destroy();let A=new eB.Socket({writable:!1});return A.readable=!0,e.once("socket",p=>{fm("Replaying proxy buffer for failed request"),(0,q_e.default)(p.listenerCount("data")>0),p.push(d),p.push(null)}),A}};tB.protocols=["http","https"];vs.HttpsProxyAgent=tB;function J_e(t){t.resume()}o(J_e,"resume");function AK(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}o(AK,"omit")});var EK=m(Cn=>{"use strict";var $_e=Cn&&Cn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Y_e=Cn&&Cn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),mK=Cn&&Cn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&$_e(e,t,r);return Y_e(e,t),e};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.req=Cn.json=Cn.toBuffer=void 0;var W_e=mK(require("http")),j_e=mK(require("https"));async function gK(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}o(gK,"toBuffer");Cn.toBuffer=gK;async function K_e(t){let r=(await gK(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let s=n;throw s.message+=` (input: ${r})`,s}}o(K_e,"json");Cn.json=K_e;function X_e(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?j_e:W_e).request(t,e),s=new Promise((i,a)=>{n.once("response",i).once("error",a).end()});return n.then=s.then.bind(s),n}o(X_e,"req");Cn.req=X_e});var BK=m(ts=>{"use strict";var CK=ts&&ts.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Z_e=ts&&ts.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),IK=ts&&ts.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&CK(e,t,r);return Z_e(e,t),e},eke=ts&&ts.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&CK(e,t,r)};Object.defineProperty(ts,"__esModule",{value:!0});ts.Agent=void 0;var tke=IK(require("net")),yK=IK(require("http")),rke=require("https");eke(EK(),ts);var eo=Symbol("AgentBaseInternalState"),e_=class extends yK.Agent{static{o(this,"Agent")}constructor(e){super(e),this[eo]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new tke.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],s=n.indexOf(r);s!==-1&&(n.splice(s,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return(typeof e.secureEndpoint=="boolean"?e.secureEndpoint:this.isSecureEndpoint(e))?rke.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let s={...r,secureEndpoint:this.isSecureEndpoint(r)},i=this.getName(s),a=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(e,s)).then(c=>{if(this.decrementSockets(i,a),c instanceof yK.Agent)return c.addRequest(e,s);this[eo].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(i,a),n(c)})}createConnection(){let e=this[eo].currentSocket;if(this[eo].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[eo].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[eo]&&(this[eo].defaultPort=e)}get protocol(){return this[eo].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[eo]&&(this[eo].protocol=e)}};ts.Agent=e_});var SK=m(Ps=>{"use strict";var nke=Ps&&Ps.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),ske=Ps&&Ps.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),wK=Ps&&Ps.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&nke(e,t,r);return ske(e,t),e},ike=Ps&&Ps.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ps,"__esModule",{value:!0});Ps.HttpProxyAgent=void 0;var oke=wK(require("net")),ake=wK(require("tls")),cke=ike(XI()),lke=require("events"),uke=BK(),bK=require("url"),DA=(0,cke.default)("http-proxy-agent"),rB=class extends uke.Agent{static{o(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new bK.URL(e):e,this.proxyHeaders=r?.headers??{},DA("Creating new HttpProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?dke(r,"headers"):null,host:n,port:s}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:n}=this,s=r.secureEndpoint?"https:":"http:",i=e.getHeader("host")||"localhost",a=`${s}//${i}`,c=new bK.URL(e.path,a);r.port!==80&&(c.port=String(r.port)),e.path=String(c);let l=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(n.username||n.password){let u=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;l["Proxy-Authorization"]=`Basic ${Buffer.from(u).toString("base64")}`}l["Proxy-Connection"]||(l["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let u of Object.keys(l)){let d=l[u];d&&e.setHeader(u,d)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let n,s;DA("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(DA("Patching connection write() output buffer with updated header"),n=e.outputData[0].data,s=n.indexOf(`\r
\r
`)+4,e.outputData[0].data=e._header+n.substring(s),DA("Output buffer: %o",e.outputData[0].data));let i;return this.proxy.protocol==="https:"?(DA("Creating `tls.Socket`: %o",this.connectOpts),i=ake.connect(this.connectOpts)):(DA("Creating `net.Socket`: %o",this.connectOpts),i=oke.connect(this.connectOpts)),await(0,lke.once)(i,"connect"),i}};rB.protocols=["http","https"];Ps.HttpProxyAgent=rB;function dke(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}o(dke,"omit")});var $K=m(mB=>{"use strict";Object.defineProperty(mB,"__esModule",{value:!0});mB.state=void 0;mB.state={instrumenterImplementation:void 0}});var uX=m(IB=>{"use strict";Object.defineProperty(IB,"__esModule",{value:!0});IB.state=void 0;IB.state={operationRequestMap:new WeakMap}});var G7=m(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});var v1e=require("os"),P1e=require("util");function _1e(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}o(_1e,"_interopDefaultLegacy");var k1e=_1e(P1e);function D1e(t,...e){process.stderr.write(`${k1e.default.format(t,...e)}${v1e.EOL}`)}o(D1e,"log");var P7=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,k7,PM=[],_M=[],Ub=[];P7&&kM(P7);var D7=Object.assign(t=>O7(t),{enable:kM,enabled:DM,disable:O1e,log:D1e});function kM(t){k7=t,PM=[],_M=[];let e=/\*/g,r=t.split(",").map(n=>n.trim().replace(e,".*?"));for(let n of r)n.startsWith("-")?_M.push(new RegExp(`^${n.substr(1)}$`)):PM.push(new RegExp(`^${n}$`));for(let n of Ub)n.enabled=DM(n.namespace)}o(kM,"enable");function DM(t){if(t.endsWith("*"))return!0;for(let e of _M)if(e.test(t))return!1;for(let e of PM)if(e.test(t))return!0;return!1}o(DM,"enabled");function O1e(){let t=k7||"";return kM(""),t}o(O1e,"disable");function O7(t){let e=Object.assign(r,{enabled:DM(t),destroy:M1e,log:D7.log,namespace:t,extend:L1e});function r(...n){e.enabled&&(n.length>0&&(n[0]=`${t} ${n[0]}`),e.log(...n))}return o(r,"debug"),Ub.push(e),e}o(O7,"createDebugger");function M1e(){let t=Ub.indexOf(this);return t>=0?(Ub.splice(t,1),!0):!1}o(M1e,"destroy");function L1e(t){let e=O7(`${this.namespace}:${t}`);return e.log=this.log,e}o(L1e,"extend");var tg=D7,M7=new Set,Lb=typeof process<"u"&&process.env&&process.env.AZURE_LOG_LEVEL||void 0,qb,Gb=tg("azure");Gb.log=(...t)=>{tg.log(...t)};var OM=["verbose","info","warning","error"];Lb&&(q7(Lb)?L7(Lb):console.error(`AZURE_LOG_LEVEL set to unknown log level '${Lb}'; logging is not enabled. Acceptable values: ${OM.join(", ")}.`));function L7(t){if(t&&!q7(t))throw new Error(`Unknown log level '${t}'. Acceptable values: ${OM.join(",")}`);qb=t;let e=[];for(let r of M7)U7(r)&&e.push(r.namespace);tg.enable(e.join(","))}o(L7,"setLogLevel");function F1e(){return qb}o(F1e,"getLogLevel");var _7={verbose:400,info:300,warning:200,error:100};function U1e(t){let e=Gb.extend(t);return F7(Gb,e),{error:Fb(e,"error"),warning:Fb(e,"warning"),info:Fb(e,"info"),verbose:Fb(e,"verbose")}}o(U1e,"createClientLogger");function F7(t,e){e.log=(...r)=>{t.log(...r)}}o(F7,"patchLogMethod");function Fb(t,e){let r=Object.assign(t.extend(e),{level:e});if(F7(t,r),U7(r)){let n=tg.disable();tg.enable(n+","+r.namespace)}return M7.add(r),r}o(Fb,"createLogger");function U7(t){return!!(qb&&_7[t.level]<=_7[qb])}o(U7,"shouldEnable");function q7(t){return OM.includes(t)}o(q7,"isAzureLogLevel");ZA.AzureLogger=Gb;ZA.createClientLogger=U1e;ZA.getLogLevel=F1e;ZA.setLogLevel=L7});var FM=m(ng=>{"use strict";Object.defineProperty(ng,"__esModule",{value:!0});var ep=new WeakMap,Hb=new WeakMap,rg=class t{static{o(this,"AbortSignal")}constructor(){this.onabort=null,ep.set(this,[]),Hb.set(this,!1)}get aborted(){if(!Hb.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");return Hb.get(this)}static get none(){return new t}addEventListener(e,r){if(!ep.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");ep.get(this).push(r)}removeEventListener(e,r){if(!ep.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");let n=ep.get(this),s=n.indexOf(r);s>-1&&n.splice(s,1)}dispatchEvent(e){throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes.")}};function H7(t){if(t.aborted)return;t.onabort&&t.onabort.call(t);let e=ep.get(t);e&&e.slice().forEach(r=>{r.call(t,{type:"abort"})}),Hb.set(t,!0)}o(H7,"abortSignal");var MM=class extends Error{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},LM=class{static{o(this,"AbortController")}constructor(e){if(this._signal=new rg,!!e){Array.isArray(e)||(e=arguments);for(let r of e)r.aborted?this.abort():r.addEventListener("abort",()=>{this.abort()})}}get signal(){return this._signal}abort(){H7(this._signal)}static timeout(e){let r=new rg,n=setTimeout(H7,e,r);return typeof n.unref=="function"&&n.unref(),r}};ng.AbortController=LM;ng.AbortError=MM;ng.AbortSignal=rg});var Y7=m(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});var q1e Line truncated
Polling from: ${r.config.operationLocation}
Operation status: ${d}
Polling status: ${X7.includes(d)?"Stopped":"Running"}`),d==="succeeded"){let A=a(u,r);if(A!==void 0)return{response:await e(A).catch(j7({state:r,stateProxy:n,isOperationError:c})),status:d}}return{response:u,status:d}}o(nFe,"pollOperationHelper");async function ree(t){let{poll:e,state:r,stateProxy:n,options:s,getOperationStatus:i,getResourceLocation:a,getOperationLocation:c,isOperationError:l,withOperationLocation:u,getPollingInterval:d,processResult:A,getError:p,updateState:f,setDelay:h,isDone:g,setErrorAsResult:y}=t,{operationLocation:E}=r.config;if(E!==void 0){let{response:C,status:I}=await nFe({poll:e,getOperationStatus:i,state:r,stateProxy:n,operationLocation:E,getResourceLocation:a,isOperationError:l,options:s});if(eee({status:I,response:C,state:r,stateProxy:n,isDone:g,processResult:A,getError:p,setErrorAsResult:y}),!X7.includes(I)){let B=d?.(C);B&&h(B);let N=c?.(C,r);if(N!==void 0){let Q=E!==N;r.config.operationLocation=N,u?.(N,Q)}else u?.(E,!1)}f?.(r,C)}}o(ree,"pollOperation");function nee(t){let{azureAsyncOperation:e,operationLocation:r}=t;return r??e}o(nee,"getOperationLocationPollingUrl");function see(t){return t.headers.location}o(see,"getLocationHeader");function iee(t){return t.headers["operation-location"]}o(iee,"getOperationLocationHeader");function oee(t){return t.headers["azure-asyncoperation"]}o(oee,"getAzureAsyncOperationHeader");function sFe(t){let{location:e,requestMethod:r,requestPath:n,resourceLocationConfig:s}=t;switch(r){case"PUT":return n;case"DELETE":return;default:switch(s){case"azure-async-operation":return;case"original-uri":return n;default:return e}}}o(sFe,"findResourceLocation");function aee(t){let{rawResponse:e,requestMethod:r,requestPath:n,resourceLocationConfig:s}=t,i=iee(e),a=oee(e),c=nee({operationLocation:i,azureAsyncOperation:a}),l=see(e),u=r?.toLocaleUpperCase();return c!==void 0?{mode:"OperationLocation",operationLocation:c,resourceLocation:sFe({requestMethod:u,location:l,requestPath:n,resourceLocationConfig:s})}:l!==void 0?{mode:"ResourceLocation",operationLocation:l}:u==="PUT"&&n?{mode:"Body",operationLocation:n}:void 0}o(aee,"inferLroMode");function cee(t){let{status:e,statusCode:r}=t;if(typeof e!="string"&&e!==void 0)throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${e}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);switch(e?.toLocaleLowerCase()){case void 0:return $M(r);case"succeeded":return"succeeded";case"failed":return"failed";case"running":case"accepted":case"started":case"canceling":case"cancelling":return"running";case"canceled":case"cancelled":return"canceled";default:return Nu.verbose(`LRO: unrecognized operation status: ${e}`),e}}o(cee,"transformStatus");function iFe(t){var e;let{status:r}=(e=t.body)!==null&&e!==void 0?e:{};return cee({status:r,statusCode:t.statusCode})}o(iFe,"getStatus");function oFe(t){var e,r;let{properties:n,provisioningState:s}=(e=t.body)!==null&&e!==void 0?e:{},i=(r=n?.provisioningState)!==null&&r!==void 0?r:s;return cee({status:i,statusCode:t.statusCode})}o(oFe,"getProvisioningState");function $M(t){return t===202?"running":t<300?"succeeded":"failed"}o($M,"toOperationStatus");function lee({rawResponse:t}){let e=t.headers["retry-after"];if(e!==void 0){let r=parseInt(e);return isNaN(r)?aFe(new Date(e)):r*1e3}}o(lee,"parseRetryAfter");function uee(t){let e=t.flatResponse.error;if(!e){Nu.warning("The long-running operation failed but there is no error property in the response's body");return}if(!e.code||!e.message){Nu.warning("The long-running operation failed but the error property in the response's body doesn't contain code or message");return}return e}o(uee,"getErrorFromResponse");function aFe(t){let e=Math.floor(new Date().getTime()),r=t.getTime();if(e<r)return r-e}o(aFe,"calculatePollingIntervalFromDate");function dee(t){let{response:e,state:r,operationLocation:n}=t;function s(){var a;switch((a=r.config.metadata)===null||a===void 0?void 0:a.mode){case void 0:return $M(e.rawResponse.statusCode);case"Body":return YM(e,r);default:return"running"}}o(s,"helper");let i=s();return i==="running"&&n===void 0?"succeeded":i}o(dee,"getStatusFromInitialResponse");async function cFe(t){let{stateProxy:e,resourceLocationConfig:r,processResult:n,lro:s,setErrorAsResult:i}=t;return tee({init:o(async()=>{let a=await s.sendInitialRequest(),c=aee({rawResponse:a.rawResponse,requestPath:s.requestPath,requestMethod:s.requestMethod,resourceLocationConfig:r});return Object.assign({response:a,operationLocation:c?.operationLocation,resourceLocation:c?.resourceLocation},c?.mode?{metadata:{mode:c.mode}}:{})},"init"),stateProxy:e,processResult:n?({flatResponse:a},c)=>n(a,c):({flatResponse:a})=>a,getOperationStatus:dee,setErrorAsResult:i})}o(cFe,"initHttpOperation");function Aee({rawResponse:t},e){var r;switch((r=e.config.metadata)===null||r===void 0?void 0:r.mode){case"OperationLocation":return nee({operatLine truncated
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:a=i,s=1;break;case 1:r[n++]=a<<2|(i&48)>>4,a=i,s=2;break;case 2:r[n++]=(a&15)<<4|(i&60)>>2,a=i,s=3;break;case 3:r[n++]=(a&3)<<6|i,s=0;break}}if(s==1)throw Error("invalid base64 string.");return r.subarray(0,n)}o(zFe,"base64decode");op.base64decode=zFe;function JFe(t){let e="",r=0,n,s=0;for(let i=0;i<t.length;i++)switch(n=t[i],r){case 0:e+=La[n>>2],s=(n&3)<<4,r=1;break;case 1:e+=La[s|n>>4],s=(n&15)<<2,r=2;break;case 2:e+=La[s|n>>6],e+=La[n&63],r=0;break}return r&&(e+=La[s],e+="=",r==1&&(e+="=")),e}o(JFe,"base64encode");op.base64encode=JFe});var Gee=m(cw=>{"use strict";Object.defineProperty(cw,"__esModule",{value:!0});cw.utf8read=void 0;var sL=o(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function $Fe(t){if(t.length<1)return"";let e=0,r=[],n=[],s=0,i,a=t.length;for(;e<a;)i=t[e++],i<128?n[s++]=i:i>191&&i<224?n[s++]=(i&31)<<6|t[e++]&63:i>239&&i<365?(i=((i&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,n[s++]=55296+(i>>10),n[s++]=56320+(i&1023)):n[s++]=(i&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&(r.push(sL(n)),s=0);return r.length?(s&&r.push(sL(n.slice(0,s))),r.join("")):sL(n.slice(0,s))}o($Fe,"utf8read");cw.utf8read=$Fe});var dg=m(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.WireType=xo.mergeBinaryOptions=xo.UnknownFieldHandler=void 0;var YFe;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,n,s,i,a)=>{(e(n)?n[t.symbol]:n[t.symbol]=[]).push({no:s,wireType:i,data:a})},t.onWrite=(r,n,s)=>{for(let{no:i,wireType:a,data:c}of t.list(n))s.tag(i,a).raw(c)},t.list=(r,n)=>{if(e(r)){let s=r[t.symbol];return n?s.filter(i=>i.no==n):s}return[]},t.last=(r,n)=>t.list(r,n).slice(-1)[0];let e=o(r=>r&&Array.isArray(r[t.symbol]),"is")})(YFe=xo.UnknownFieldHandler||(xo.UnknownFieldHandler={}));function WFe(t,e){return Object.assign(Object.assign({},t),e)}o(WFe,"mergeBinaryOptions");xo.mergeBinaryOptions=WFe;var jFe;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(jFe=xo.WireType||(xo.WireType={}))});var uw=m(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.varint32read=xn.varint32write=xn.int64toString=xn.int64fromString=xn.varint64write=xn.varint64read=void 0;function KFe(){let t=0,e=0;for(let n=0;n<28;n+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}o(KFe,"varint64read");xn.varint64read=KFe;function XFe(t,e,r){for(let i=0;i<28;i=i+7){let a=t>>>i,c=!(!(a>>>7)&&e==0),l=(c?a|128:a)&255;if(r.push(l),!c)return}let n=t>>>28&15|(e&7)<<4,s=e>>3!=0;if(r.push((s?n|128:n)&255),!!s){for(let i=3;i<31;i=i+7){let a=e>>>i,c=!!(a>>>7),l=(c?a|128:a)&255;if(r.push(l),!c)return}r.push(e>>>31&1)}}o(XFe,"varint64write");xn.varint64write=XFe;var lw=65536*65536;function ZFe(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,n=0,s=0;function i(a,c){let l=Number(t.slice(a,c));s*=r,n=n*r+l,n>=lw&&(s=s+(n/lw|0),n=n%lw)}return o(i,"add1e6digit"),i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[e,n,s]}o(ZFe,"int64fromString");xn.int64fromString=ZFe;function eUe(t,e){if(e>>>0<=2097151)return""+(lw*e+(t>>>0));let r=t&16777215,n=(t>>>24|e<<8)>>>0&16777215,s=e>>16&65535,i=r+n*6777216+s*6710656,a=n+s*8147497,c=s*2,l=1e7;i>=l&&(a+=Math.floor(i/l),i%=l),a>=l&&(c+=Math.floor(a/l),a%=l);function u(d,A){let p=d?String(d):"";return A?"0000000".slice(p.length)+p:p}return o(u,"decimalFrom1e7"),u(c,0)+u(a,c)+u(i,1)}o(eUe,"int64toString");xn.int64toString=eUe;function tUe(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}o(tUe,"varint32write");xn.varint32write=tUe;function rUe(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}o(rUe,"varint32read");xn.varint32read=rUe});var Jc=m(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.PbLong=zc.PbULong=zc.detectBi=void 0;var Ag=uw(),je;function Hee(){let t=new DataView(new ArrayBuffer(8));je=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("922337203685477580 Line truncated
`)}};Mw.RpcError=vL});var _L=m(Fw=>{"use strict";Object.defineProperty(Fw,"__esModule",{value:!0});Fw.mergeRpcOptions=void 0;var Ite=Ut();function w2e(t,e){if(!e)return t;let r={};Lw(t,r),Lw(e,r);for(let n of Object.keys(e)){let s=e[n];switch(n){case"jsonOptions":r.jsonOptions=Ite.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=Ite.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},Lw(t.meta,r.meta),Lw(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(s):s.concat();break}}return r}o(w2e,"mergeRpcOptions");Fw.mergeRpcOptions=w2e;function Lw(t,e){if(!t)return;let r=e;for(let[n,s]of Object.entries(t))s instanceof Date?r[n]=new Date(s.getTime()):Array.isArray(s)?r[n]=s.concat():r[n]=s}o(Lw,"copy")});var DL=m(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.Deferred=vu.DeferredState=void 0;var To;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(To=vu.DeferredState||(vu.DeferredState={}));var kL=class{static{o(this,"Deferred")}constructor(e=!0){this._state=To.PENDING,this._promise=new Promise((r,n)=>{this._resolve=r,this._reject=n}),e&&this._promise.catch(r=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==To.PENDING)throw new Error(`cannot resolve ${To[this.state].toLowerCase()}`);this._resolve(e),this._state=To.RESOLVED}reject(e){if(this.state!==To.PENDING)throw new Error(`cannot reject ${To[this.state].toLowerCase()}`);this._reject(e),this._state=To.REJECTED}resolvePending(e){this._state===To.PENDING&&this.resolve(e)}rejectPending(e){this._state===To.PENDING&&this.reject(e)}};vu.Deferred=kL});var ML=m(Uw=>{"use strict";Object.defineProperty(Uw,"__esModule",{value:!0});Uw.RpcOutputStreamController=void 0;var Bte=DL(),Pu=Ut(),OL=class{static{o(this,"RpcOutputStreamController")}constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,r){return r.push(e),()=>{let n=r.indexOf(e);n>=0&&r.splice(n,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,r,n){Pu.assert((e?1:0)+(r?1:0)+(n?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),r&&this.notifyError(r),n&&this.notifyComplete()}notifyMessage(e){Pu.assert(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(e,void 0,!1))}notifyError(e){Pu.assert(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(void 0,e,!1)),this.clearLis()}notifyComplete(){Pu.assert(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:o(()=>{let e=this._itState;Pu.assert(e,"bad state"),Pu.assert(!e.p,"iterator contract broken");let r=e.q.shift();return r?"value"in r?Promise.resolve(r):Promise.reject(r):(e.p=new Bte.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;Pu.assert(n.state==Bte.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};Uw.RpcOutputStreamController=OL});var FL=m(pp=>{"use strict";var S2e=pp&&pp.__awaiter||function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(A){a(A)}}o(l,"rejected");function u(d){d.done?i(d.value):s(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};Object.defineProperty(pp,"__esModule",{value:!0});pp.UnaryCall=void 0;var LL=class{static{o(this,"UnaryCall")}constructor(e,r,n,s,i,a,c){this.method=e,this.requestHeaders=r,this.request=n,this.headers=s,this.response=i,this.status=a,this.trailers=c}then(e,r){return this.promiseFinished().then(n=>e?Promise.resolve(e(n)):n,n=>r?Promise.resolve(r(n)):Promise.reject(n))}promiseFinished(){return S2e(this,void 0,void 0,function*(){let[e,r,n,s]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:r,status:n,trailers:s}})}};pp.UnaryCall=LL});var qL=m(fp=>{"use strict";var N2e=fp&&fp.__awaiter||function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function Line truncated
You can add a runtime option to disable the check or this warning:
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}o(Qze,"logUnexpecedPropertyAccessOnce");function Rze(){Object.keys(I0).forEach(function(t){delete I0[t]})}o(Rze,"resetLoggedProperties")});var b0=m(ko=>{"use strict";ko.__esModule=!0;ko.HandlebarsEnvironment=aF;function Nse(t){return t&&t.__esModule?t:{default:t}}o(Nse,"_interopRequireDefault");var Lu=nn(),Tze=ds(),iF=Nse(Tze),vze=tF(),Pze=Bse(),_ze=nF(),B0=Nse(_ze),kze=sF(),Dze="4.7.9";ko.VERSION=Dze;var Oze=8;ko.COMPILER_REVISION=Oze;var Mze=7;ko.LAST_COMPATIBLE_COMPILER_REVISION=Mze;var Lze={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};ko.REVISION_CHANGES=Lze;var oF="[object Object]";function aF(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},vze.registerDefaultHelpers(this),Pze.registerDefaultDecorators(this)}o(aF,"HandlebarsEnvironment");aF.prototype={constructor:aF,logger:B0.default,log:B0.default.log,registerHelper:o(function(e,r){if(Lu.toString.call(e)===oF){if(r)throw new iF.default("Arg not supported with multiple helpers");Lu.extend(this.helpers,e)}else this.helpers[e]=r},"registerHelper"),unregisterHelper:o(function(e){delete this.helpers[e]},"unregisterHelper"),registerPartial:o(function(e,r){if(Lu.toString.call(e)===oF)Lu.extend(this.partials,e);else{if(typeof r>"u")throw new iF.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=r}},"registerPartial"),unregisterPartial:o(function(e){delete this.partials[e]},"unregisterPartial"),registerDecorator:o(function(e,r){if(Lu.toString.call(e)===oF){if(r)throw new iF.default("Arg not supported with multiple decorators");Lu.extend(this.decorators,e)}else this.decorators[e]=r},"registerDecorator"),unregisterDecorator:o(function(e){delete this.decorators[e]},"unregisterDecorator"),resetLoggedPropertyAccesses:o(function(){kze.resetLoggedProperties()},"resetLoggedPropertyAccesses")};var Fze=B0.default.log;ko.log=Fze;ko.createFrame=Lu.createFrame;ko.logger=B0.default});var Qse=m((w0,xse)=>{"use strict";w0.__esModule=!0;function cF(t){this.string=t}o(cF,"SafeString");cF.prototype.toString=cF.prototype.toHTML=function(){return""+this.string};w0.default=cF;xse.exports=w0.default});var Rse=m(lF=>{"use strict";lF.__esModule=!0;lF.wrapHelper=Uze;function Uze(t,e){if(typeof t!="function")return t;var r=o(function(){var s=arguments[arguments.length-1];return arguments[arguments.length-1]=e(s),t.apply(this,arguments)},"wrapper");return r}o(Uze,"wrapHelper")});var Dse=m(jc=>{"use strict";jc.__esModule=!0;jc.checkRevision=Jze;jc.template=$ze;jc.wrapProgram=S0;jc.resolvePartial=Yze;jc.invokePartial=Wze;jc.noop=_se;function qze(t){return t&&t.__esModule?t:{default:t}}o(qze,"_interopRequireDefault");function Gze(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}o(Gze,"_interopRequireWildcard");var Hze=nn(),xp=Gze(Hze),Vze=ds(),qa=qze(Vze),Ga=b0(),Tse=tF(),zze=Rse(),vse=sF();function Jze(t){var e=t&&t[0]||1,r=Ga.COMPILER_REVISION;if(!(e>=Ga.LAST_COMPATIBLE_COMPILER_REVISION&&e<=Ga.COMPILER_REVISION))if(e<Ga.LAST_COMPATIBLE_COMPILER_REVISION){var n=Ga.REVISION_CHANGES[r],s=Ga.REVISION_CHANGES[e];throw new qa.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+s+").")}else throw new qa.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}o(Jze,"checkRevision");function $ze(t,e){if(!e)throw new qa.default("No environment passed to template");if(!t||!t.main)throw new qa.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var r=t.compiler&&t.compiler[0]===7;function n(a,c,l){l.hash&&(c=xp.extend({},c,l.hash),l.ids&&(l.ids[0]=!0)),a=e.VM.resolvePartial.call(this,a,c,l),l.hooks=this.hooks,l.protoAccessControl=this.protoAccessControl;var u=e.VM.invokePartial.call(this,a,c,l);if(u==null&&e.compile&&(l.partials[l.name]=e.compile(a,t.compilerOptions,e),u=l.partials[l.name](c,l)),u!=null){if(l.indent){for(var d=u.split(`
`),A=0,p=d.length;A<p&&!(!d[A]&&A+1===p);A++)d[A]=l.indent+d[A];u=d.join(`
`)}return u}else throw new qa.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}o(n,"invokePartialWrapper");var s={strict:o(function(c,l,u){if(!c||!(l in c))throw new qa.default('"'+l+'" not defined in '+c,{loc:u});return s.lookupProperty(c,l)},"strict"),lookupProperty:o(function(c,l){var u=c[l];if(u==null||Object.prototype.hasOwnProperty.call(c,l)||vse.resultIsAllowed(u,s.protoAccessControl,l))return u},"lookupProperty"),lookup:o(function(c,l){for(var u=c.length,d=0;d<u;d++){var A=c[d]&&s.lookupProperty(c[d],l);if(A!=null)return A}},"lookup"),lambda:o(function(c,l){return typeof c=="function"?c.call(l):c},"lambda"),escapeExpression:xp.escapeExpression,invokePartial:n,fn:o(function(c){var l=t[c];return l.decorator=t[c+"_d"],l},"fn"),programs:[],program:o(function(c,l,u,d,A){var p=this.programs[c],f=this.fn(c);return l||A||d||u?p=S0(this,c,f,l,u,d,A):p||(p=this.programs[c]=S0(this,c,f)),p},"program"),data:o(function(c,l){for(;c&&l--;)c=c._parent;return c},"data"),mergeIfNeeded:o(function(c,l){var u=c||l;return c&&l&&c!==l&&(u=xp.extend({},l,c)),u},"mergeIfNeeded"),nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function i(a){var c=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],l=c.data;i._setup(c),!c.partial&&t.useData&&(l=jze(a,l));var u=void 0,d=t.useBlockParams?[]:void 0;t.useDepths&&(c.depths?u=a!=c.depths[0]?[a].concat(c.depths):c.depths:u=[a]);function A(p){return""+t.main(s,p,s.helpers,s.partials,l,d,u)}return o(A,"main"),A=kse(t.main,A,s,c.depths||[],l,d),A(a,c)}return o(i,"ret"),i.isTop=!0,i._setup=function(a){if(a.partial)s.protoAccessControl=a.protoAccessControl,s.helpers=a.helpers,s.partials=a.partials,s.decorators=a.decorators,s.hooks=a.hooks;else{var c={};Pse(c,e.helpers,s),Pse(c,a.helpers,s),s.helpers=c,t.usePartial&&(s.partials=s.mergeIfNeeded(a.partials,e.partials)),(t.usePartial||t.useDecorators)&&(s.decorators=xp.extend({},e.decorators,a.decorators)),s.hooks={},s.protoAccessControl=vse.createProtoAccessControl(a);var l=a.allowCallsToHelperMissing||r;Tse.moveHelperToHooks(s,"helperMissing",l),Tse.moveHelperToHooks(s,"blockHelperMissing",l)}},i._child=function(a,c,l,u){if(t.useBlockParams&&!l)throw new qa.default("must pass block params");if(t.useDepths&&!u)throw new qa.default("must pass parent depths");return S0(s,a,t[a],c,0,l,u)},i}o($ze,"template");function S0(t,e,r,n,s,i,a){function c(l){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],d=a;return a&&l!=a[0]&&!(l===t.nullContext&&a[0]===null)&&(d=[l].concat(a)),r(t,l,t.helpers,t.partials,u.data||n,i&&[u.blockParams].concat(i),d)}return o(c,"prog"),c=kse(r,c,t,a,n,i),c.program=e,c.depth=a?a.length:0,c.blockParams=s||0,c}o(S0,"wrapProgram");function Yze(t,e,r){return t?!t.call&&!r.name&&(r.name=t,t=N0(r.partials,t)):r.name==="@partial-block"?t=N0(r.data,"partial-block"):t=N0(r.partials,r.name),t}o(Yze,"resolvePartial");function Wze(t,e,r){var n=N0(r.data,"partial-block");r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var s=void 0;if(r.fn&&r.fn!==_se&&(function(){r.data=Ga.createFrame(r.data);var i=r.fn;s=r.data["partial-block"]=o(function(c){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return l.data=Ga.createFrame(l.data),l.data["partial-block"]=n,i(c,l)},"partialBlockWrapper"),i.partials&&(r.partials=xp.extend({},r.partials,i.partials))})(),t===void 0&&s&&(t=s),t===void 0)throw new qa.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)}o(Wze,"invokePartial");function _se(){return""}o(_se,"noop");function N0(t,e){if(t&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}o(N0,"lookupOwnProperty");function jze(t,e){return(!e||!("root"in e))&&(e=e?Ga.createFrame(e):{},e.root=t),e}o(jze,"initData");function kse(t,e,r,n,s,i){if(t.decorator){var a={};e=t.decorator(e,a,r,n&&n[0],s,i,n),xp.extend(e,a)}return e}o(kse,"executeDecorators");function Pse(t,e,r){e&&Object.keys(e).forEach(function(n){var s=e[n];t[n]=Kze(s,r)})}o(Pse,"addHelpers");function Kze(t,e){var r=e.lookupProperty;return zze.wrapHelper(t,function(n){return n.lookupProperty=r,n})}o(Kze,"passLookupPropertyOption")});var uF=m((x0,Ose)=>{"use strict";x0.__esModule=!0;x0.default=function(t){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var e=globalThis.Handlebars;t.noConflict=function(){return globalThis.Handlebars===t&&(globalThis.Handlebars=e),t}};Ose.exports=x0.default});var qse=m((Q0,Use)=>{"use strict";Q0.__esModule=!0;function AF(t){return t&&t.__esModule?t:{default:t}}o(AF,"_interopRequireDefault");function pF(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}o(pF,"_interopRequireWildcard");var Xze=b0(),Mse=pF(Xze),Zze=Qse(),eJe=AF(Zze),tJe=ds(),rJe=AF(tJe),nJe=nn(),dF=pF(nJe),sJe=Dse Line truncated
`+this.lexer.showPosition()+`
Expecting `+de.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Lr="Parse error on line "+(A+1)+": Unexpected "+(B==1?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Lr,{text:this.lexer.match,token:this.terminals_[B]||B,line:this.lexer.yylineno,loc:y,expected:de})}}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+B);switch(D[0]){case 1:a.push(B),c.push(this.lexer.yytext),l.push(this.lexer.yylloc),a.push(D[1]),B=null,N?(B=N,N=null):(p=this.lexer.yyleng,d=this.lexer.yytext,A=this.lexer.yylineno,y=this.lexer.yylloc,f>0&&f--);break;case 2:if(Ce=this.productions_[D[1]][1],ke.$=c[c.length-Ce],ke._$={first_line:l[l.length-(Ce||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(Ce||1)].first_column,last_column:l[l.length-1].last_column},E&&(ke._$.range=[l[l.length-(Ce||1)].range[0],l[l.length-1].range[1]]),xe=this.performAction.call(ke,d,p,A,this.yy,D[1],c,l),typeof xe<"u")return xe;Ce&&(a=a.slice(0,-1*Ce*2),c=c.slice(0,-1*Ce),l=l.slice(0,-1*Ce)),a.push(this.productions_[D[1]][0]),c.push(ke.$),l.push(ke._$),Xe=u[a[a.length-2]][a[a.length-1]],a.push(Xe);break;case 3:return!0}}return!0},"parse")},e=(function(){var n={EOF:1,parseError:o(function(i,a){if(this.yy.parser)this.yy.parser.parseError(i,a);else throw new Error(i)},"parseError"),setInput:o(function(i){return this._input=i,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var a=i.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:o(function(i){var a=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a-1),this.offset-=a;var l=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===l.length?this.yylloc.first_column:0)+l[l.length-c.length].length-c[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-a]),this},"unput"),more:o(function(){return this._more=!0,this},"more"),less:o(function(i){this.unput(this.match.slice(i))},"less"),pastInput:o(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var i=this.pastInput(),a=new Array(i.length+1).join("-");return i+this.upcomingInput()+`
`+a+"^"},"showPosition"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,a,c,l,u,d;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),p=0;p<A.length&&(c=this._input.match(this.rules[A[p]]),!(c&&(!a||c[0].length>a[0].length)&&(a=c,l=p,!this.options.flex)));p++);return a?(d=a[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],i=this.performAction.call(this,this.yy,this,A[l],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var i=this.next();return typeof i<"u"?i:this.lex()},"lex"),begin:o(function(i){this.conditionStack.push(i)},"begin"),popState:o(function(){return this.conditionStack.pop()},"popState"),_currentRules:o(function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},"_currentRules"),topState:o(function(){return this.conditionStack[this.conditionStack.length-2]},"topState"),pushState:o(function(i){this.begin(i)},"begin")};return n.options={},n.performAction=o(function(i,a,c,l){function u(A,p){return a.yytext=a.yytext.substring(A,a.yyleng-p+A)}o(u,"strip");var d=l;switch(c){case 0:if(a.yytext.slice(-2)==="\\\\"?(u(0,1),this.begin("mu")):a.yytext.slice(-1)==="\\"?(u(0,1),this.begin("emu")):this.begin("mu"),a.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(u(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(a.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return a.yytext=u(1,2).replace(/\\"/g,'"'),80;break;case 32:return a.yytext=u(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return a.yytext=a.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},"anonymous"),n.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],n.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},n})();t.lexer=e;function r(){this.yy={}}return o(r,"Parser"),r.prototype=t,t.Parser=r,new r})();T0.default=aJe;Vse.exports=T0.default});var k0=m((_0,Yse)=>{"use strict";_0.__esModule=!0;function cJe(t){return t&&t.__esModule?t:{default:t}}o(cJe,"_interopRequireDefault");var lJe=ds(),hF=cJe(lJe);function v0(){this.parents=[]}o(v0,"Visitor");v0.prototype={constructor:v0,mutating:!1,acceptKey:o(function(e,r){var n=this.accept(e[r]);if(this.mutating){if(n&&!v0.prototype[n.type])throw new hF.default('Unexpected node type "'+n.type+'" found when accepting '+r+" on "+e.type);e[r]=n}},"acceptKey"),acceptRequired:o(function(e,r){if(this.acceptKey(e,r),!e[r])throw new hF.default(e.type+" requires "+r)},"acceptRequired"),acceptArray:o(function(e){for(var r=0,n=e.length;r<n;r++)this.acceptKey(e,r),e[r]||(e.splice(r,1),r--,n--)},"acceptArray"),accept:o(function(e){if(e){if(!this[e.type])throw new hF.default("Unknown type: "+e.type,e);this.current&&this.parents.unshift(this.current),this.current=e;var r=this[e.type](e);if(this.current=this.parents.shift(),!this.mutating||r)return r;if(r!==!1)return e}},"accept"),Program:o(function(e){this.acceptArray(e.body)},"Program"),MustacheStatement:P0,Decorator:P0,BlockStatement:Jse,DecoratorBlock:Jse,PartialStatement:$se,PartialBlockStatement:o(function(e){$se.call(this,e),this.acceptKey(e,"program")},"PartialBlockStatement"),ContentStatement:o(function(){},"ContentStatement"),CommentStatement:o(function(){},"CommentStatement"),SubExpression:P0,PathExpression:o(function(){},"PathExpressionLine truncated
`])}),e},"merge"),each:o(function(e){for(var r=0,n=this.source.length;r<n;r++)e(this.source[r])},"each"),empty:o(function(){var e=this.currentLocation||{start:{}};return new Gu(e.start.line,e.start.column,this.srcFile)},"empty"),wrap:o(function(e){var r=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return e instanceof Gu?e:(e=MF(e,this,r),new Gu(r.start.line,r.start.column,this.srcFile,e))},"wrap"),functionCall:o(function(e,r,n){return n=this.generateList(n),this.wrap([e,r?"."+r+"(":"(",n,")"])},"functionCall"),quotedString:o(function(e){return'"'+(e+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},"quotedString"),objectLiteral:o(function(e){var r=this,n=[];Object.keys(e).forEach(function(i){var a=MF(e[i],r);a!=="undefined"&&n.push([r.quotedString(i),":",a])});var s=this.generateList(n);return s.prepend("{"),s.add("}"),s},"objectLiteral"),generateList:o(function(e){for(var r=this.empty(),n=0,s=e.length;n<s;n++)n&&r.add(","),r.add(MF(e[n],this));return r},"generateList"),generateArray:o(function(e){var r=this.generateList(e);return r.prepend("["),r.add("]"),r},"generateArray")};G0.default=Rie;Tie.exports=G0.default});var Oie=m((H0,Die)=>{"use strict";H0.__esModule=!0;function kie(t){return t&&t.__esModule?t:{default:t}}o(kie,"_interopRequireDefault");var Pie=b0(),o$e=ds(),FF=kie(o$e),a$e=nn(),c$e=vie(),_ie=kie(c$e);function _p(t){this.value=t}o(_p,"Literal");function kp(){}o(kp,"JavaScriptCompiler");kp.prototype={nameLookup:o(function(e,r){return this.internalNameLookup(e,r)},"nameLookup"),depthedLookup:o(function(e){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(e),")"]},"depthedLookup"),compilerInfo:o(function(){var e=Pie.COMPILER_REVISION,r=Pie.REVISION_CHANGES[e];return[e,r]},"compilerInfo"),appendToBuffer:o(function(e,r,n){return a$e.isArray(e)||(e=[e]),e=this.source.wrap(e,r),this.environment.isSimple?["return ",e,";"]:n?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},"appendToBuffer"),initializeBuffer:o(function(){return this.quotedString("")},"initializeBuffer"),internalNameLookup:o(function(e,r){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",e,",",JSON.stringify(r),")"]},"internalNameLookup"),lookupPropertyFunctionIsUsed:!1,compile:o(function(e,r,n,s){this.environment=e,this.options=r,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!s,this.name=this.environment.name,this.isChild=!!n,this.context=n||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,r),this.useDepths=this.useDepths||e.useDepths||e.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var i=e.opcodes,a=void 0,c=void 0,l=void 0,u=void 0;for(l=0,u=i.length;l<u;l++)a=i[l],this.source.currentLocation=a.loc,c=c||a.loc,this[a.opcode].apply(this,a.args);if(this.source.currentLocation=c,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new FF.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),`;
`]),this.decorators.push("return fn;"),s?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
`),this.decorators.push(`}
`),this.decorators=this.decorators.merge()));var d=this.createFunctionContext(s);if(this.isChild)return d;var A={compiler:this.compilerInfo(),main:d};this.decorators&&(A.main_d=this.decorators,A.useDecorators=!0);var p=this.context,f=p.programs,h=p.decorators;for(l=0,u=f.length;l<u;l++)A[l]=f[l],h[l]&&(A[l+"_d"]=h[l],A.useDecorators=!0);return this.environment.usePartial&&(A.usePartial=!0),this.options.data&&(A.useData=!0),this.useDepths&&(A.useDepths=!0),this.useBlockParams&&(A.useBlockParams=!0),this.options.compat&&(A.compat=!0),s?A.compilerOptions=this.options:(A.compiler=JSON.stringify(A.compiler),this.source.currentLocation={start:{line:1,column:0}},A=this.objectLiteral(A),r.srcName?(A=A.toStringWithSourceMap({file:r.destName}),A.map=A.map&&A.map.toString()):A=A.toString()),A},"compile"),preamble:o(function(){this.lastContext=0,this.source=new _ie.default(this.options.srcName),this.decorators=new _ie.default(this.options.srcName)},"preamble"),createFunctionContext:o(function(e){var r=this,n="",s=this.stackVars.concat(this.registers.list);s.length>0&&(n+=", "+s.join(", "));var i=0;Object.keys(this.aliases).forEach(function(l){var u=r.aliases[l];u.children&&u.referenceCount>1&&(n+=", alias"+ ++i+"="+l,u.children[0]="alias"+i)}),this.lookupPropertyFunctionIsUsed&&(n+=", "+this.lookupPropertyFunctionVarDeclaration());var a=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var c=this.mergeSource(n);return e?(a.push(c),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),`) {
`,c,"}"])},"createFunctionContext"),mergeSource:o(function(e){var r=this.environment.isSimple,n=!this.forceBuffer,s=void 0,i=void 0,a=void 0,c=void 0;return this.source.each(function(l){l.appendToBuffer?(a?l.prepend(" + "):a=l,c=l):(a&&(i?a.prepend("buffer += "):s=!0,c.add(";"),a=c=void 0),i=!0,r||(n=!1))}),n?a?(a.prepend("return "),c.add(";")):i||this.source.push('return "";'):(e+=", buffer = "+(s?"":this.initializeBuffer()),a?(a.prepend("return buffer + "),c.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(s?"":`;
`)),this.source.merge()},"mergeSource"),lookupPropertyFunctionVarDeclaration:o(function(){return`
lookupProperty = container.lookupProperty || function(parent, propertyName) {
if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
return parent[propertyName];
}
return undefined
}
`.trim()},"lookupPropertyFunctionVarDeclaration"),blockValue:o(function(e){var r=this.aliasable("container.hooks.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var s=this.popStack();n.splice(1,0,s),this.push(this.source.functionCall(r,"call",n))},"blockValue"),ambiguousBlockValue:o(function(){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs("",0,r,!0),this.flushInline();var n=this.topStack();r.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",this.source.functionCall(e,"call",r),"}"])},"ambiguousBlockValue"),appendContent:o(function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},"appendContent"),append:o(function(){if(this.isInline())this.replaceStack(function(r){return[" != null ? ",r,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},"append"),appendEscaped:o(function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},"appendEscaped"),getContext:o(function(e){this.lastContext=e},"getContext"),pushContext:o(function(){this.pushStackLiteral(this.contextName(this.lastContext))},"pushContext"),lookupOnContext:o(function(e,r,n,s){var i=0;!s&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(e[i++])):this.pushContext(),this.resolvePath("context",e,i,r,n)},"lookupOnContext"),lookupBlockParam:o(function(e,r){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",r,1)},"lookupBlockParam"),lookupData:o(function(e,r,n){e?this.pushStackLiteral("container.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",r,0,!0,n)},"lookupData"),resolvePath:o(function(e,r,n,s,i){var a=this;if(this.options.strict||this.options.assumeObjects){this.push(l$e(this.options.strict&&i,this,r,n,e));return}for(var c=r.length,l=o(function(d){a.replaceStack(function(A){var p=a.nameLookup(A,r[d],e);return s?[" && ",p]:[" != null ? ",p," : ",A]})},"_loop"),u=n;u<c;u++)l(u)},"resolvePath"),resolvePossibleLambda:o(function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},"resolvePossibleLambda"),pushStringParam:o(function(e,r){this.pushContext(),this.pushString(r),r!=="SubExpression"&&(typeof e=="string"?this.pushString(e):this.pushStackLiteral(e))},"pushStringParam"),emptyHash:o(function(e){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(e?"undefined":"{}")},"emptyHash"),pushHash:o(function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},"pushHash"),popHash:o(function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},"popHash"),pushString:o(function(e){this.pushStackLiteral(this.quotedString(e))},"pushString"),pushLiteral:o(function(e){this.pushStackLiteral(e)},"pushLiteral"),pushProgram:o(function(e){e!=null?this.pushStackLiteral(this.programExpression(e)):this.pushStackLiteral(null)},"pushProgram"),registerDecorator:o(function(e,r){var n=this.nameLookup("decorators",r,"decorator"),s=this.setupHelperArgs(r,e);this.decorators.push(["var decorator = ",n,";"]),this.decorators.push(['if (typeof decorator !== "function") { throw new Error(',this.quotedString('Missing decorator: "'+r+'"'),"); }"]),this.decorators.push(["fn = ",this.decorators.functionCall("decorator","",["fn","props","container",s])," || fn;"])},"registerDecorator"),invokeHelper:o(function(e,r,n){var s=this.popStack(),i=this.setupHelper(e,r),a=[];n&&a.push(i.name),a.push(s),this.options.strict||a.push(this.aliasable("container.hooks.helperMissing"));var c=["(",this.itemsSeparatedBy(a,"||"),")"],l=this.source.functionCall(c,"call",i.callParams);this.push(l)},"invokeHelper"),itemsSeparatedBy:o(function(e,r){var n=[];n.push(e[0]);for(var s=1;s<e.length;s++)n.push(r,e[s]);return n},"itemsSeparatedBy"),invokeKnownHelper:o(function(e,r){var n=this.setupHelper(e,r);this.push(this.source.functionCall(n.name,"call",n.callParams))},"invokeKnownHelper"),invokeAmbiguous:o(function(e,r){this.useRegister("helper");var n=this.popStack();this.emptyHash();var s=this.setupHelper(0,e,r),i=this.lastHelper=this.nameLookup("helpers",e,"helper"),a=["(","(helper = ",i," || ",n,")"];this.options.strict||(a[0]="(helper = ",a.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",a,s.paramsInit?["),(",s.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("h Line truncated
`,e};vt.prototype.Program=function(t){var e="",r=t.body,n=void 0,s=void 0;if(t.blockParams){var i="BLOCK PARAMS: [";for(n=0,s=t.blockParams.length;n<s;n++)i+=" "+t.blockParams[n];i+=" ]",e+=this.pad(i)}for(n=0,s=r.length;n<s;n++)e+=this.accept(r[n]);return this.padding--,e};vt.prototype.MustacheStatement=function(t){return this.pad("{{ "+this.SubExpression(t)+" }}")};vt.prototype.Decorator=function(t){return this.pad("{{ DIRECTIVE "+this.SubExpression(t)+" }}")};vt.prototype.BlockStatement=vt.prototype.DecoratorBlock=function(t){var e="";return e+=this.pad((t.type==="DecoratorBlock"?"DIRECTIVE ":"")+"BLOCK:"),this.padding++,e+=this.pad(this.SubExpression(t)),t.program&&(e+=this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--),t.inverse&&(t.program&&this.padding++,e+=this.pad("{{^}}"),this.padding++,e+=this.accept(t.inverse),this.padding--,t.program&&this.padding--),this.padding--,e};vt.prototype.PartialStatement=function(t){var e="PARTIAL:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),this.pad("{{> "+e+" }}")};vt.prototype.PartialBlockStatement=function(t){var e="PARTIAL BLOCK:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad("{{> "+e+" }}")};vt.prototype.ContentStatement=function(t){return this.pad("CONTENT[ '"+t.value+"' ]")};vt.prototype.CommentStatement=function(t){return this.pad("{{! '"+t.value+"' }}")};vt.prototype.SubExpression=function(t){for(var e=t.params,r=[],n=void 0,s=0,i=e.length;s<i;s++)r.push(this.accept(e[s]));return e="["+r.join(", ")+"]",n=t.hash?" "+this.accept(t.hash):"",this.accept(t.path)+" "+e+n};vt.prototype.PathExpression=function(t){var e=t.parts.join("/");return(t.data?"@":"")+"PATH:"+e};vt.prototype.StringLiteral=function(t){return'"'+t.value+'"'};vt.prototype.NumberLiteral=function(t){return"NUMBER{"+t.value+"}"};vt.prototype.BooleanLiteral=function(t){return"BOOLEAN{"+t.value+"}"};vt.prototype.UndefinedLiteral=function(){return"UNDEFINED"};vt.prototype.NullLiteral=function(){return"NULL"};vt.prototype.Hash=function(t){for(var e=t.pairs,r=[],n=0,s=e.length;n<s;n++)r.push(this.accept(e[n]));return"HASH{"+r.join(", ")+"}"};vt.prototype.HashPair=function(t){return t.key+"="+this.accept(t.value)}});var Vie=m((LTt,Hie)=>{var J0=Fie().default,Gie=Uie();J0.PrintVisitor=Gie.PrintVisitor;J0.print=Gie.print;Hie.exports=J0;function qie(t,e){var r=require("fs"),n=r.readFileSync(e,"utf8");t.exports=J0.compile(n)}o(qie,"extension");typeof require<"u"&&require.extensions&&(require.extensions[".handlebars"]=qie,require.extensions[".hbs"]=qie)});var toe=m(K0=>{"use strict";Object.defineProperty(K0,"__esModule",{value:!0});K0.getProxyUrl=Q$e;K0.checkBypass=eoe;function Q$e(t){let e=t.protocol==="https:";if(eoe(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new j0(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new j0(`http://${r}`)}else return}o(Q$e,"getProxyUrl");function eoe(t){if(!t.hostname)return!1;let e=t.hostname;if(R$e(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let n;t.port?n=Number(t.port):t.protocol==="http:"?n=80:t.protocol==="https:"&&(n=443);let s=[t.hostname.toUpperCase()];typeof n=="number"&&s.push(`${s[0]}:${n}`);for(let i of r.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(i==="*"||s.some(a=>a===i||a.endsWith(`.${i}`)||i.startsWith(".")&&a.endsWith(`${i}`)))return!0;return!1}o(eoe,"checkBypass");function R$e(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}o(R$e,"isLoopbackAddress");var j0=class extends URL{static{o(this,"DecodedURL")}constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}});var noe=m(gt=>{"use strict";var T$e=gt&&gt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),v$e=gt&&gt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),tS=gt&&gt.__importStar||(function(){var t=o(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&T$e(r,e,n[s]);return v$e(r,e), Line truncated
`).join(`
`+i),t.push(s+"m+"+ZS.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=I4e()+e+" "+t[0]}o(C4e,"formatArgs");function I4e(){return gr.inspectOpts.hideDate?"":new Date().toISOString()+" "}o(I4e,"getDate");function B4e(...t){return process.stderr.write(XS.formatWithOptions(gr.inspectOpts,...t)+`
`)}o(B4e,"log");function b4e(t){t?process.env.DEBUG=t:delete process.env.DEBUG}o(b4e,"save");function w4e(){return process.env.DEBUG}o(w4e,"load");function S4e(t){t.inspectOpts={};let e=Object.keys(gr.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=gr.inspectOpts[e[r]]}o(S4e,"init");ZS.exports=h2()(gr);var{formatters:Qce}=ZS.exports;Qce.o=function(t){return this.inspectOpts.colors=this.useColors,XS.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};Qce.O=function(t){return this.inspectOpts.colors=this.useColors,XS.inspect(t,this.inspectOpts)}});var g2=m((gDt,m2)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?m2.exports=xce():m2.exports=Rce()});var tN=m(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.DownloadHTTPError=Pt.DownloadLengthMismatchError=Pt.DownloadError=Pt.ExpiredMetadataError=Pt.EqualVersionError=Pt.BadVersionError=Pt.RepositoryError=Pt.PersistError=Pt.RuntimeError=Pt.ValueError=void 0;var E2=class extends Error{static{o(this,"ValueError")}};Pt.ValueError=E2;var y2=class extends Error{static{o(this,"RuntimeError")}};Pt.RuntimeError=y2;var C2=class extends Error{static{o(this,"PersistError")}};Pt.PersistError=C2;var pE=class extends Error{static{o(this,"RepositoryError")}};Pt.RepositoryError=pE;var eN=class extends pE{static{o(this,"BadVersionError")}};Pt.BadVersionError=eN;var I2=class extends eN{static{o(this,"EqualVersionError")}};Pt.EqualVersionError=I2;var B2=class extends pE{static{o(this,"ExpiredMetadataError")}};Pt.ExpiredMetadataError=B2;var fE=class extends Error{static{o(this,"DownloadError")}};Pt.DownloadError=fE;var b2=class extends fE{static{o(this,"DownloadLengthMismatchError")}};Pt.DownloadLengthMismatchError=b2;var w2=class extends fE{static{o(this,"DownloadHTTPError")}statusCode;constructor(e,r){super(e),this.statusCode=r}};Pt.DownloadHTTPError=w2});var vce=m(sf=>{"use strict";var N2=sf&&sf.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(sf,"__esModule",{value:!0});sf.withTempFile=void 0;var S2=N2(require("fs/promises")),N4e=N2(require("os")),Tce=N2(require("path")),x4e=o(async t=>Q4e(async e=>t(Tce.default.join(e,"tempfile"))),"withTempFile");sf.withTempFile=x4e;var Q4e=o(async t=>{let e=await S2.default.realpath(N4e.default.tmpdir()),r=await S2.default.mkdtemp(e+Tce.default.sep);try{return await t(r)}finally{await S2.default.rm(r,{force:!0,recursive:!0,maxRetries:3})}},"withTempDir")});var _ce=m((BDt,Pce)=>{var x2=class{static{o(this,"RetryOperation")}#e=1;#t=null;#n=[];#r=null;#s;#i=null;#a;#o;#l=null;#c;constructor(e,r={}){this.#a=[...e],this.#o=[...e],this.#c=r.unref,this.#s=r.maxRetryTime||1/0,r.forever&&(this.#t=[...this.#o])}get timeouts(){return[...this.#o]}get errors(){return[...this.#n]}get attempts(){return this.#e}get mainError(){let e=null;if(this.#n.length){let r=0,n={};for(let s=0;s<this.#n.length;s++){let i=this.#n[s],{message:a}=i;n[a]||(n[a]=0),n[a]++,n[a]>=r&&(e=i,r=n[a])}}return e}reset(){this.#e=1,this.#o=[...this.#a]}stop(){this.#l&&clearTimeout(this.#l),this.#o=[],this.#t=null}retry(e){if(this.#n.push(e),new Date().getTime()-this.#i>=this.#s)return this.#n.unshift(new Error("RetryOperation timeout occurred")),!1;let r=this.#o.shift();if(r===void 0)if(this.#t)this.#n.pop(),r=this.#t.at(-1);else return!1;return this.#l=setTimeout(()=>{this.#e++,this.#r(this.#e)},r),this.#c&&this.#l.unref(),!0}attempt(e){this.#r=e,this.#i=new Date().getTime(),this.#r(this.#e)}};Pce.exports={RetryOperation:x2}});var Oce=m((wDt,Dce)=>{var{RetryOperation:R4e}=_ce(),kce=o((t,e)=>Math.min(Math.round((1+(e.randomize?Math.random():0))*Math.max(e.minTimeout,1)*Math.pow(e.factor,t)),e.maxTimeout),"createTimeout"),T4e=o(t=>t?.code==="EPROMISERETRY"&&Object.hasOwn(t,"retried"),"isRetryError"),v4e=o(async(t,e={})=>{let r=[];if(e instanceof Array)r=[...e];else{e.retries===1/0&&(e.forever=!0,delete e.retries);let s={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1,...e};if(s.minTimeout>s.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");if(s.retries){for(let i=0;i<s.retries;i++)r.push(kce(i,s));r.sort((i,a)=>i-a)}else e.forever&&r.push(kce(0,s))}let n=new R4e(r,{forever:e.forever,unref:e.unref,maxRetryTime:e.maxRetryTime});return new Promise(function(s,i){n.attempt(async a=>{try{let c=await t(l=>{throw Object.assign(new Error("Retrying"),{code:"EPROMISERETRY",retried:l})},a,n);return s(c)}catch(c){if(!T4e(c))return i(c);if(!n.retry(c.retried||new Error))return i(c.retried)}})})},"promiseRetry");Dce.exports={promiseRetry:v4e}});var T2=m(cl=>{"use strict";var R2=cl&&cl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(cl,"__esModule",{value:!0});cl.DefaultFetcher=cl.BaseFetcher=void 0;var P4e=R2(g2()),Mce=R2(require("fs")),_4e=R2(require("util")),Lce=tN(),k4e=vce(),D4e=Oce(),O4e=(0,P4e.default)("tuf:fetch"),M4e="User-Agent",rN=class{static{o(this,"BaseFetcher")}async downloadFile(e,r,n){return(0,k4e.withTempFile)(async s=>{let i=await this.fetch(e),a=0,c=Mce.default.createWriteStream(s),l=i.getReader();try{for(;;){let{done:u,value:d}=await l.read();if(u)break;if(a+=d.length,a>r)throw new Lce.DownloadLengthMismatchError("Max length reached");await L4e(c,Buffer.from(d))}}finally{l.releaseLock(),await _4e.default.promisify(c.close).bind(c)()}return n(s)})}async downloadBytes(e,r){return this.downloadFile(e,r,async n=>{let s=Mce.defau Line truncated
`).forEach(r=>{r.match(H5e)||r.match(V5e)||(e+=r)}),Buffer.from(e,"base64")}o(z5e,"toDER");function J5e(t,e="CERTIFICATE"){let n=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...n,`-----END ${e}-----`].join(`
`).concat(`
`)}o(J5e,"fromDER")});var EN=m(pl=>{"use strict";Object.defineProperty(pl,"__esModule",{value:!0});pl.SHA2_HASH_ALGOS=pl.RSA_SIGNATURE_ALGOS=pl.ECDSA_SIGNATURE_ALGOS=void 0;pl.ECDSA_SIGNATURE_ALGOS={"1.2.840.10045.4.3.1":"sha224","1.2.840.10045.4.3.2":"sha256","1.2.840.10045.4.3.3":"sha384","1.2.840.10045.4.3.4":"sha512"};pl.RSA_SIGNATURE_ALGOS={"1.2.840.113549.1.1.14":"sha224","1.2.840.113549.1.1.11":"sha256","1.2.840.113549.1.1.12":"sha384","1.2.840.113549.1.1.13":"sha512"};pl.SHA2_HASH_ALGOS={"2.16.840.1.101.3.4.2.1":"sha256","2.16.840.1.101.3.4.2.2":"sha384","2.16.840.1.101.3.4.2.3":"sha512"}});var eq=m(yN=>{"use strict";Object.defineProperty(yN,"__esModule",{value:!0});yN.RFC3161TimestampVerificationError=void 0;var Z2=class extends Error{static{o(this,"RFC3161TimestampVerificationError")}};yN.RFC3161TimestampVerificationError=Z2});var fle=m(Go=>{"use strict";var $5e=Go&&Go.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Y5e=Go&&Go.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),W5e=Go&&Go.__importStar||(function(){var t=o(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&$5e(r,e,n[s]);return Y5e(r,e),r}})();Object.defineProperty(Go,"__esModule",{value:!0});Go.TSTInfo=void 0;var ple=W5e(df()),j5e=EN(),K5e=eq(),tq=class{static{o(this,"TSTInfo")}root;constructor(e){this.root=e}get version(){return this.root.subs[0].toInteger()}get genTime(){return this.root.subs[4].toDate()}get messageImprintHashAlgorithm(){let e=this.messageImprintObj.subs[0].subs[0].toOID();return j5e.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=ple.digest(this.messageImprintHashAlgorithm,e);if(!ple.bufferEqual(r,this.messageImprintHashedMessage))throw new K5e.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};Go.TSTInfo=tq});var mle=m(Ho=>{"use strict";var X5e=Ho&&Ho.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Z5e=Ho&&Ho.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),e8e=Ho&&Ho.__importStar||(function(){var t=o(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&X5e(r,e,n[s]);return Z5e(r,e),r}})();Object.defineProperty(Ho,"__esModule",{value:!0});Ho.RFC3161Timestamp=void 0;var t8e=hN(),rq=e8e(df()),hle=EN(),CE=eq(),r8e=fle(),n8e="1.2.840.113549.1.7.2",s8e="1.2.840.113549.1.9.16.1.4",i8e="1.2.840.113549.1.9.4",nq=class t{static{o(this,"RFC3161Timestamp")}root;constructor(e){this.root=e}static parse(e){let r=t8e.ASN1Obj.parseBuffer(e);return new t(r)}get status(){return this.pkiStatusInfoObj.subs[0].toInteger()}get contentType(){return this.contentTypeObj.toOID()}get eContentType(){return this.eContentTypeObj.toOID()}get signingTime(){return this.tstInfo.genTime}get signerIssuer(){return this.signerSidObj.subs[0].value}get signerSerialNumber(){return this.signerSidObj.subs[1].value}get signerDigestAlgorithm(){let e=this.signerDigestAlgorithmObj.subs[0].toOID();return hle.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return hle.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new r8e.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new CE.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==n8e)throw new CE.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==s8e)throw new CE.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=rq.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].valu Line truncated
`,S9e=/\u2014 (\S+) (\S+)\n/g;function N9e(t,e){let r=t.inclusionProof,n=_q.fromString(r.checkpoint.envelope),s=FN.fromString(n.note);if(!x9e(n,e))throw new SE.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});return s}o(N9e,"verifyCheckpoint");function x9e(t,e){let r=Buffer.from(t.note,"utf-8");return t.signatures.some(n=>{let s=e.find(i=>jle.crypto.bufferEqual(i.logID.subarray(0,4),n.keyHint)&&i.baseURL.match(n.name));return s?jle.crypto.verify(r,s.publicKey,n.signature):!1})}o(x9e,"verifySignedNote");var _q=class t{static{o(this,"SignedNote")}note;signatures;constructor(e,r){this.note=e,this.signatures=r}static fromString(e){if(!e.includes(Pq))throw new SE.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=e.indexOf(Pq),n=e.slice(0,r+1),i=e.slice(r+Pq.length).matchAll(S9e),a=Array.from(i,c=>{let[,l,u]=c,d=Buffer.from(u,"base64");if(d.length<5)throw new SE.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"malformed checkpoint signature"});return{name:l,keyHint:d.subarray(0,4),signature:d.subarray(4)}});if(a.length===0)throw new SE.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"no signatures found in checkpoint"});return new t(n,a)}},FN=class t{static{o(this,"LogCheckpoint")}origin;logSize;logHash;rest;constructor(e,r,n,s){this.origin=e,this.logSize=r,this.logHash=n,this.rest=s}static fromString(e){let r=e.trimEnd().split(`
`);if(r.length<3)throw new SE.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"too few lines in checkpoint header"});let n=r[0],s=BigInt(r[1]),i=Buffer.from(r[2],"base64"),a=r.slice(3);return new t(n,s,i,a)}};NE.LogCheckpoint=FN});var Xle=m(Mq=>{"use strict";Object.defineProperty(Mq,"__esModule",{value:!0});Mq.verifyMerkleInclusion=T9e;var Oq=Ri(),kq=Mr(),Q9e=Buffer.from([0]),R9e=Buffer.from([1]);function T9e(t,e){let r=t.inclusionProof,n=BigInt(r.logIndex),s=BigInt(e.logSize);if(n<0n||n>=s)throw new kq.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${n}`});let{inner:i,border:a}=v9e(n,s);if(r.hashes.length!==i+a)throw new kq.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let c=r.hashes.slice(0,i),l=r.hashes.slice(i),u=M9e(t.canonicalizedBody),d=_9e(P9e(u,c,n),l);if(!Oq.crypto.bufferEqual(d,e.logHash))throw new kq.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}o(T9e,"verifyMerkleInclusion");function v9e(t,e){let r=k9e(t,e),n=D9e(t>>BigInt(r));return{inner:r,border:n}}o(v9e,"decompInclProof");function P9e(t,e,r){return e.reduce((n,s,i)=>r>>BigInt(i)&BigInt(1)?Dq(s,n):Dq(n,s),t)}o(P9e,"chainInner");function _9e(t,e){return e.reduce((r,n)=>Dq(n,r),t)}o(_9e,"chainBorderRight");function k9e(t,e){return O9e(t^e-BigInt(1))}o(k9e,"innerProofSize");function D9e(t){return t.toString(2).split("1").length-1}o(D9e,"onesCount");function O9e(t){return t===0n?0:t.toString(2).length}o(O9e,"bitLength");function Dq(t,e){return Oq.crypto.digest("sha256",R9e,t,e)}o(Dq,"hashChildren");function M9e(t){return Oq.crypto.digest("sha256",Q9e,t)}o(M9e,"hashLeaf")});var eue=m(Lq=>{"use strict";Object.defineProperty(Lq,"__esModule",{value:!0});Lq.verifyTLogSET=U9e;var Zle=Ri(),L9e=Mr(),F9e=ff();function U9e(t,e){if(!(0,F9e.filterTLogAuthorities)(e,{logID:t.logId.keyId,targetDate:new Date(Number(t.integratedTime)*1e3)}).some(s=>{let i=q9e(t),a=Buffer.from(Zle.json.canonicalize(i),"utf8"),c=t.inclusionPromise.signedEntryTimestamp;return Zle.crypto.verify(a,s.publicKey,c)}))throw new L9e.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}o(U9e,"verifyTLogSET");function q9e(t){let{integratedTime:e,logIndex:r,logId:n,canonicalizedBody:s}=t;return{body:s.toString("base64"),integratedTime:Number(e),logIndex:Number(r),logID:n.keyId.toString("hex")}}o(q9e,"toVerificationPayload")});var rue=m(UN=>{"use strict";Object.defineProperty(UN,"__esModule",{value:!0});UN.verifyTLogBody=J9e;UN.verifyTLogInclusion=$9e;var tue=Jle(),qq=Mr(),Fq=$le(),Uq=Yle(),G9e=Wle(),H9e=Kle(),V9e=Xle(),z9e=eue();function J9e(t,e){let{kind:r,version:n}=t.kindVersion,s=JSON.parse(t.canonicalizedBody.toString("utf8"));if(r!==s.kind||n!==s.apiVersion)throw new qq.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${n}, received: ${s.kind}/${s.apiVersion}`});switch(r){case"dsse":if(n==Fq.DSSE_API_VERSION_V1)return(0,Fq.verifyDSSETLogBody)(s,e);{let i=tue.Entry.fromJSON(s);return(0,Fq.verifyDSSETLogBodyV2)(i,e)}case"intoto":return(0,G9e.verifyIntotoTLogBody)(s,e);case"hashedrekord":if(n==Uq.HASHEDREKORD_API_VERSION_V1)return(0,Uq.verifyHashedRekordTLogBody)(s,e);{let i=tue.Entry.fromJSON(s);return(0,Uq.verifyHashedRekordTLogBodyV2)(i,e)}default:throw new qq.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}o(J9e,"verifyTLogBody");function $9e(t,e){let r=!1;if(Y9e(t)&&((0,z9e.verifyTLogSET)(t,e),r=!0),W9e(t)){let n=(0,H9e.verifyCheckpoint)(t,e);(0,V9e.verifyMerkleInclusion)(t,n),r=!0}if(!r)throw new qq.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"})}o($9e,"verifyTLogInclusion");function Y9e(t){return t.inclusionPromise!==void 0}o(Y9e,"isTLogEntryWithInclusionPromise");function W9e(t){return t.inclusionProof!==void 0}o(W9e,"isTLogEntryWithInclusionProof")});var aue=m(qN=>{"use strict";Object.defineProperty(qN,"__esModule",{value:!0});qN.Verifier=void 0;var j9e=require("util"),Ef=Mr(),nue=kle(),Gq=Dle(),sue=Lle(),iue=rue(),Hq=class{static{o(this,"Verifier")}trustMaterial;options;constructor(e,r={}){this.trustMaterial=e,this.options={ctlogThreshold:r.ctlogThreshold??1,tlogThreshold:r.tlogThreshold??1,timestampThreshold:r.timestampThreshold??r.tsaThreshold??1,tsaThreshold:0}}verify(e,r){let n=this.verifyTimestamps(e),s=this.verifySigningKey(e,n);return this.verifyTLogs(e),this.verifySignature(e,s),r&&this.verifyPolicy(r,s.identity||{}),s}verifyTimestamps(e){let r=[];for(let n of e.timestamps)switch(n.$case){case"timestamp-authority":r.push((0,sue.getTSATimestamp)(n.timestamp,e.signature.signature,this.trustMaterial.timestampAuthorities));break;case"transparency-log":{let s=(0,sue.getTLogTimestamp)(n.tlogEntry);s&&r.push(s);break}}if(oue(r))throw new Ef.VerificationError({code:"TIMESTAMP_ERROR",message:"duplicate timestamp"});if(r.length<this.options.timestampThresho Line truncated
${l}`}let A=ox(t.buffer,s[c],i[c],t.position,d);l+=`${" ".repeat(r.indent)}${ax((t.line+1).toString(),u)} | ${A.str}
`,l+=`${"-".repeat(r.indent+u+3+A.pos)}^
`;for(let p=1;p<=r.linesAfter&&!(c+p>=i.length);p++){let f=ox(t.buffer,s[c+p],i[c+p],t.position-(s[c]-s[c+p]),d);l+=`${" ".repeat(r.indent)}${ax((t.line+p+1).toString(),u)} | ${f.str}
`}return l.replace(/\n$/,"")}o(eAe,"makeSnippet");function nG(t,e){let r="";return t.mark?(t.mark.name&&(r+=`in "${t.mark.name}" `),r+=`(${t.mark.line+1}:${t.mark.column+1})`,!e&&t.mark.snippet&&(r+=`
${t.mark.snippet}`),`${t.reason} ${r}`):t.reason}o(nG,"formatError");var DE=class extends Error{static{o(this,"YAMLException")}reason;mark;constructor(t,e){super(),this.name="YAMLException",this.reason=t,this.mark=e,this.message=nG(this,!1),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toString(t){return`${this.name}: ${nG(this,t)}`}};function qE(t,e,r,n=""){let s=0,i=0;for(let c=0;c<e;c++){let l=t.charCodeAt(c);l===10?(s++,i=c+1):l===13&&(s++,t.charCodeAt(c+1)===10&&c++,i=c+1)}let a={name:n,buffer:t,position:e,line:s,column:e-i};throw a.snippet=eAe(a),new DE(r,a)}o(qE,"throwErrorAt");var tAe=-1;function sG(t){switch(t){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:return" ";case 9:return" ";case 110:return`
`;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}o(sG,"simpleEscapeSequence");var fG=new Array(256),hG=new Array(256);for(let t=0;t<256;t++)fG[t]=sG(t)?1:0,hG[t]=sG(t);function rAe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}o(rAe,"charFromCodepoint");function nAe(t){return t>=48&&t<=57?t-48:(t|32)-97+10}o(nAe,"fromHexCode$1");function sAe(t){return t===120?2:t===117?4:8}o(sAe,"escapedHexLen$1");function OE(t,e,r){let n=0;for(;e<r;){let s=t.charCodeAt(e);if(s===10)n++,e++;else if(s===13)n++,e++,t.charCodeAt(e)===10&&e++;else if(s===32||s===9)e++;else break}return{position:e,breaks:n}}o(OE,"skipFoldedBreaks");function Cx(t){return t===1?" ":`
`.repeat(t-1)}o(Cx,"foldedBreaks");function iAe(t,e,r){let n="",s=e,i=e,a=e;for(;s<r;){let c=t.charCodeAt(s);if(c===10||c===13){n+=t.slice(i,a);let l=OE(t,s,r);n+=Cx(l.breaks),s=i=a=l.position}else s++,c!==32&&c!==9&&(a=s)}return n+t.slice(i,a)}o(iAe,"getPlainValue");function oAe(t,e,r){let n="",s=e,i=e,a=e;for(;s<r;){let c=t.charCodeAt(s);if(c===39)n+=t.slice(i,s)+"'",s+=2,i=a=s;else if(c===10||c===13){n+=t.slice(i,a);let l=OE(t,s,r);n+=Cx(l.breaks),s=i=a=l.position}else s++,c!==32&&c!==9&&(a=s)}return n+t.slice(i,r)}o(oAe,"getSingleQuotedValue");function aAe(t,e,r){let n="",s=e,i=e,a=e;for(;s<r;){let c=t.charCodeAt(s);if(c===92){n+=t.slice(i,s),s++;let l=t.charCodeAt(s);if(l===10||l===13)s=OE(t,s,r).position;else if(l<256&&fG[l])n+=hG[l],s++;else{let u=sAe(l),d=0;for(;u>0;u--){s++;let A=nAe(t.charCodeAt(s));d=(d<<4)+A}n+=rAe(d),s++}i=a=s}else if(c===10||c===13){n+=t.slice(i,a);let l=OE(t,s,r);n+=Cx(l.breaks),s=i=a=l.position}else s++,c!==32&&c!==9&&(a=s)}return n+t.slice(i,r)}o(aAe,"getDoubleQuotedValue");function iG(t,e,r,n,s,i){let a=n<0?0:n,c=t.slice(e,r).replace(/\r\n?/g,`
`),l=c===""?[]:(c.endsWith(`
`)?c.slice(0,-1):c).split(`
`),u="",d=!1,A=0,p=!1;for(let f of l){let h=0;for(;h<a&&f.charCodeAt(h)===32;)h++;if(n<0||h>=f.length){A++;continue}let g=f.slice(a),y=g.charCodeAt(0);i?y===32||y===9?(p=!0,u+=`
`.repeat(d?1+A:A)):p?(p=!1,u+=`
`.repeat(A+1)):A===0?d&&(u+=" "):u+=`
`.repeat(A):u+=`
`.repeat(d?1+A:A),u+=g,d=!0,A=0}return s===3?u+=`
`.repeat(d?1+A:A):s!==2&&d&&(u+=`
`),u}o(iG,"getBlockValue");function cAe(t,e){if(e.valueStart===tAe)return"";let{valueStart:r,valueEnd:n}=e;if(e.fast)return t.slice(r,n);switch(e.style){case 2:return oAe(t,r,n);case 3:return aAe(t,r,n);case 4:return iG(t,r,n,e.indent,e.chomping,!1);case 5:return iG(t,r,n,e.indent,e.chomping,!0);default:return iAe(t,r,n)}}o(cAe,"getScalarValue");var lAe={"!":"!","!!":"tag:yaml.org,2002:"};function mG(t,e){if(t.startsWith("!<")&&t.endsWith(">"))return decodeURIComponent(t.slice(2,-1));let r=t.indexOf("!",1),n=r===-1?"!":t.slice(0,r+1),s=e?.[n]??lAe[n]??n;return decodeURIComponent(s)+decodeURIComponent(t.slice(n.length))}o(mG,"tagNameFull");var pd=-1,Ix={filename:"",schema:Kde,json:!1,maxTotalMergeKeys:1e4,maxAliases:-1};function uAe(t){return"tagStart"in t&&t.tagStart!==pd?t.tagStart:"anchorStart"in t&&t.anchorStart!==pd?t.anchorStart:"valueStart"in t&&t.valueStart!==pd?t.valueStart:"start"in t?t.start:0}o(uAe,"eventPosition$1");function un(t,e){qE(t.source,t.position,e,t.filename)}o(un,"throwError$1");function gG(t,e,r,n){try{return r.finalize(n)}catch(s){if(s instanceof DE)throw s;qE(t.source,e,s instanceof Error?s.message:String(s),t.filename)}}o(gG,"finalizeCollection");function kE(t,e,r){let n=t[r];if(n)return n;for(let s of e)if(r.startsWith(s.tagName))return s}o(kE,"lookupTag");function dAe(t,e,r,n,s){let i=kE(e,r,n);if(i)return i;un(t,`unknown ${s} tag !<${n}>`)}o(dAe,"findExplicitTag");function AAe(t,e){let r=cAe(t.source,e),n=e.tagStart===pd?"":t.source.slice(e.tagStart,e.tagEnd),s=t.schema.defaultScalarTag;if(n!==""){if(n==="!")return{value:r,tag:s};let i=mG(n,t.tagHandlers),a=kE(t.schema.exact.scalar,t.schema.prefix.scalar,i);if(a){let l=a.resolve(r,!0,i);return l===ve&&un(t,`cannot resolve a node with !<${i}> explicit tag`),{value:l,tag:a}}let c=kE(t.schema.exact.mapping,t.schema.prefix.mapping,i)??kE(t.schema.exact.sequence,t.schema.prefix.sequence,i);if(c){r!==""&&un(t,`cannot resolve a node with !<${i}> explicit tag`);let l=c.create(i);return{value:c.carrierIsResult?l:gG(t,t.position,c,l),tag:c}}un(t,`unknown scalar tag !<${i}>`)}if(e.style===1){let i=t.schema.implicitScalarByFirstChar.get(r.charAt(0))??t.schema.implicitScalarAnyFirstChar;for(let a of i){let c=a.resolve(r,!1,a.tagName);if(c!==ve)return{value:c,tag:a}}}return{value:s.resolve(r,!1,s.tagName),tag:s}}o(AAe,"constructScalar");function oG(t,e,r,n,s,i){let a=e.tagStart===pd?"":t.source.slice(e.tagStart,e.tagEnd),c=a===""||a==="!"?s:mG(a,t.tagHandlers);return{tagName:c,tag:dAe(t,r,n,c,i)}}o(oG,"collectionTag");function EG(t){return t.nodeKind==="mapping"}o(EG,"isMappingTag");function aG(t,e,r,n){for(let s of n.keys(r)){if(t.maxTotalMergeKeys!==-1&&++t.totalMergeKeys>t.maxTotalMergeKeys&&un(t,`merge keys exceeded maxTotalMergeKeys (${t.maxTotalMergeKeys})`),e.tag.has(e.value,s))continue;let i=e.tag.addPair(e.value,s,n.get(r,s));i&&un(t,i),(e.overridable??=new Set).add(s)}}o(aG,"mergeKeys");function pAe(t,e,r,n){if(t.position=e.keyPosition,EG(n))aG(t,e,r,n);else if(n.nodeKind==="sequence"&&Array.isArray(r))for(let s of r)aG(t,e,s,e.tag);else un(t,"cannot merge mappings; the provided source object is unacceptable")}o(pAe,"mergeSource");function fAe(t,e,r,n,s){if(t.position=e.keyPosition,r===mx){pAe(t,e,n,s);return}!t.json&&e.tag.has(e.value,r)&&!e.overridable?.has(r)&&un(t,"duplicated mapping key");let i=e.tag.addPair(e.value,r,n);i&&un(t,i),e.overridable?.delete(r)}o(fAe,"addMappingValue");function cx(t,e,r){let n=t.frames[t.frames.length-1];if(n.kind==="document")n.value=e,n.hasValue=!0;else if(n.kind==="sequence"){n.merge&&(EG(r)||un(t,"cannot merge mappings; the provided source object is unacceptable"));let s=n.tag.addItem(n.value,e,n.index++);s&&un(t,s)}else if(n.hasKey){let s=n.key;n.key=void 0,n.hasKey=!1,fAe(t,n,s,e,r)}else n.key=e,n.keyPosition=t.position,n.hasKey=!0}o(cx,"addValue");function lx(t,e,r,n,s){if(e.anchorStart!==pd){let i={value:r,tag:n,isValueFinal:s};return t.anchors.set(t.source.slice(e.anchorStart,e.anchorEnd),i),i}return null}o(lx,"storeAnchor");function hAe(t,e){let r={...Ix,...e,events:t,documents:[],eventIndex:0,position:0,frames:[],anchors:new Map,tagHandlers:Object.create(null),totalMergeKeys:0,aliasCount:0};for(;r.eventIndex<r.events.length;){let n=r.events[r.eventIndex++];switch(r.position=uAe(n),n.type){case 1:r.anchors=new Map,r.aliasCount=0,r.tagHandlers=Object.create(null);for(let s of n.directives)s.kind==="tag"&&(r.tagHandlers[s.handle]=s.prefix);r.frames.push({kind:"document",position:r.position,value:void 0,hasValue:!1});break;case 4:{let{value:s,tag:i}=AAe(r,n);lx(r,n,s,i,!0),cx(r,s,i);break}case 2:{let s=oG(r,n,r.schema.exact.sequence,r.schema.prefix.sequence,"tag:yaml.org,2002:seq","sequence"),i=s.tag.create(s.tagName),a=lx(r,n,i,s.tag,s.tag.carrierIsResult),c=r.frames[r.frames.length-1],l=c!==void 0&&c.kind==="mapping"&&c.hasKey&&c.key===mx;r.frames.push({kind:"sequence",position:r.position,value:i,tag:s.tag,anchor:a,index:0,merge:l});break}case 3:{let s=oG(r,n,r.schema.exact.mapping,r.sche Line truncated
Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}o(Kl,"getBooleanInput");function Oh(t,e){if(process.env.GITHUB_OUTPUT||"")return VE("OUTPUT",Nx(t,e));process.stdout.write(fv.EOL),ta("set-output",{name:t},ea(e))}o(Oh,"setOutput");function Qj(t){process.exitCode=pv.Failure,hA(t)}o(Qj,"setFailed");function ya(){return process.env.RUNNER_DEBUG==="1"}o(ya,"isDebug");function b(t){ta("debug",{},t)}o(b,"debug");function hA(t,e={}){ta("error",bx(e),t instanceof Error?t.toString():t)}o(hA,"error");function Ve(t,e={}){ta("warning",bx(e),t instanceof Error?t.toString():t)}o(Ve,"warning");function S(t){process.stdout.write(t+fv.EOL)}o(S,"info");function bSe(t){Sx("group",t)}o(bSe,"startGroup");function wSe(){Sx("endgroup")}o(wSe,"endGroup");function it(t,e){return BSe(this,void 0,void 0,function*(){bSe(t);let r;try{r=yield e()}finally{wSe()}return r})}o(it,"group");function gn(t,e){if(process.env.GITHUB_STATE||"")return VE("STATE",Nx(t,e));ta("save-state",{name:t},ea(e))}o(gn,"saveState");function Rj(t){return process.env[`STATE_${t}`]||""}o(Rj,"getState");var Yw=w(require("fs"),1),B1=w(require("os"),1),b1=w(require("path"),1);var vj=w(require("os"),1);function Mh(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}o(Mh,"toCommandValue");function Pj(t,e,r){let n=new hv(t,e,r);process.stdout.write(n.toString()+vj.EOL)}o(Pj,"issueCommand");var Tj="::",hv=class{static{o(this,"Command")}constructor(e,r,n){e||(e="missing.command"),this.command=e,this.properties=r,this.message=n}toString(){let e=Tj+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let r=!0;for(let n in this.properties)if(this.properties.hasOwnProperty(n)){let s=this.properties[n];s&&(r?r=!1:e+=",",e+=`${n}=${NSe(s)}`)}}return e+=`${Tj}${SSe(this.message)}`,e}};function SSe(t){return Mh(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(SSe,"escapeData");function NSe(t){return Mh(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}o(NSe,"escapeProperty");var Oj=w(require("os"),1);var kj=require("os"),Lh=require("fs");var mv=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(A){a(A)}}o(l,"rejected");function u(d){d.done?i(d.value):s(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},{access:xSe,appendFile:QSe,writeFile:RSe}=Lh.promises,_j="GITHUB_STEP_SUMMARY";var gv=class{static{o(this,"Summary")}constructor(){this._buffer=""}filePath(){return mv(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[_j];if(!e)throw new Error(`Unable to find environment variable for $${_j}. Check if your runtime environment supports job summaries.`);try{yield xSe(e,Lh.constants.R_OK|Lh.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let s=Object.entries(n).map(([i,a])=>` ${i}="${a}"`).join("");return r?`<${e}${s}>${r}</${e}>`:`<${e}${s}>`}write(e){return mv(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?RSe:QSe)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return mv(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,r=!1){return this._buffer+=e,r?this.addEOL():this}addEOL(){return this.addRaw(kj.EOL)}addCodeBlock(e,r){let n=Object.assign({},r&&{lang:r}),s=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(s).addEOL()}addList(e,r=!1){let n=r?"ol":"ul",s=e.map(a=>this.wrap("li",a)).join(""),i=this.wrap(n,s);return this.addRaw(i).addEOL()}addTable(e){let r=e.map(s=>{let i=s.map(a=>{if(typeof a=="string")return this.wrap("td",a);let{header:c,data:l,colspan:u,rowspan:d}=a,A=c?"th":"td",p=Object.assign(Object.assign({},u&&{colspan:u}),d&&{rowspan:d});return this.wrap(A,l,p)}).join("");return this.wrap("tr",i)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(e,r){let n=this.wrap("details",this.wrap("summary",e)+r);return this.addRaw(n).addEOL()}addImage(e,r,n){let{width:s,height:i}=n||{},a=Object.assign(Object.assign({},s&&{width:s}),i&&{height:i}),c=this.wrap("img",null,Object.assign({src:e,alt:r},a));return this.addRaw(c).addEOL()}addHeading(e,r){let n=`h${r}`,s=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",i=this.wrap(s,e);return this.addRaw(i).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,r){let n=Object.assign({},r&&{cite:r}),s=this.wrap("blockquote",e,n);return this.addRaw(s).addEOL()}Line truncated
`),e=e.replace(/\r/g,`
`));let s=e.split(`
`).map(i=>i.trim());for(let i of s)!i||i.startsWith("#")||n.patterns.push(new Kh(i));return n.searchPaths.push(...Xv(n.patterns)),n})}static stat(e,r,n){return nP(this,void 0,void 0,function*(){let s;if(r.followSymbolicLinks)try{s=yield BA.promises.stat(e.path)}catch(i){if(i.code==="ENOENT"){if(r.omitBrokenSymbolicLinks){Ns(`Broken symlink '${e.path}'`);return}throw new Error(`No information found for the path '${e.path}'. This may indicate a broken symbolic link.`)}throw i}else s=yield BA.promises.lstat(e.path);if(s.isDirectory()&&r.followSymbolicLinks){let i=yield BA.promises.realpath(e.path);for(;n.length>=e.level;)n.pop();if(n.some(a=>a===i)){Ns(`Symlink cycle detected for path '${e.path}' and realpath '${i}'`);return}n.push(i)}return s})}};var mRe=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(A){a(A)}}o(l,"rejected");function u(d){d.done?i(d.value):s(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};function f8(t,e){return mRe(this,void 0,void 0,function*(){return yield uI.create(t,e)})}o(f8,"create");var NI=w(require("crypto"),1),NA=w(require("fs"),1),ru=w(require("path"),1),a6=w(i6(),1),c6=w(require("util"),1);var sm;(function(t){t.Gzip="cache.tgz",t.Zstd="cache.tzst"})(sm||(sm={}));var Wr;(function(t){t.Gzip="gzip",t.ZstdWithoutLong="zstd-without-long",t.Zstd="zstd"})(Wr||(Wr={}));var Kn;(function(t){t.GNU="gnu",t.BSD="bsd"})(Kn||(Kn={}));var wI=2,SI=5e3,wP=5e3,SP=`${process.env.PROGRAMFILES}\\Git\\usr\\bin\\tar.exe`,o6=`${process.env.SYSTEMDRIVE}\\Windows\\System32\\tar.exe`,im="cache.tar",NP="manifest.txt",Zst=10*Math.pow(1024,3);var SA=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(A){a(A)}}o(l,"rejected");function u(d){d.done?i(d.value):s(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},bPe=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=t[i]&&function(a){return new Promise(function(c,l){a=t[i](a),s(c,l,a.done,a.value)})}}function s(i,a,c,l){Promise.resolve(l).then(function(u){i({value:u,done:c})},a)}},wPe="1.0";function om(){return SA(this,void 0,void 0,function*(){let t=process.platform==="win32",e=process.env.RUNNER_TEMP||"";if(!e){let n;t?n=process.env.USERPROFILE||"C:\\":process.platform==="darwin"?n="/Users":n="/home",e=ru.join(n,"actions","temp")}let r=ru.join(e,NI.randomUUID());return yield Ea(r),r})}o(om,"createTempDirectory");function ji(t){return NA.statSync(t).size}o(ji,"getArchiveFileSizeInBytes");function xP(t){return SA(this,void 0,void 0,function*(){var e,r,n,s,i;let a=[],c=(i=process.env.GITHUB_WORKSPACE)!==null&&i!==void 0?i:process.cwd(),l=yield f8(t.join(`
`),{implicitDescendants:!1});try{for(var u=!0,d=bPe(l.globGenerator()),A;A=yield d.next(),e=A.done,!e;u=!0){s=A.value,u=!1;let f=ru.relative(c,s).replace(new RegExp(`\\${ru.sep}`,"g"),"/");b(`Matched: ${f}`),f===""?a.push("."):a.push(`${f}`)}}catch(p){r={error:p}}finally{try{!u&&!e&&(n=d.return)&&(yield n.call(d))}finally{if(r)throw r.error}}return a})}o(xP,"resolvePaths");function am(t){return SA(this,void 0,void 0,function*(){return c6.promisify(NA.unlink)(t)})}o(am,"unlinkFile");function l6(t){return SA(this,arguments,void 0,function*(e,r=[]){let n="";r.push("--version"),b(`Checking ${e} ${r.join(" ")}`);try{yield Wn(`${e}`,r,{ignoreReturnCode:!0,silent:!0,listeners:{stdout:o(s=>n+=s.toString(),"stdout"),stderr:o(s=>n+=s.toString(),"stderr")}})}catch(s){b(s.message)}return n=n.trim(),b(n),n})}o(l6,"getVersion");function cm(){return SA(this,void 0,void 0,function*(){let t=yield l6("zstd",["--quiet"]),e=a6.clean(t);return b(`zstd version: ${e}`),t===""?Wr.Gzip:Wr.ZstdWithoutLong})}o(cm,"getCompressionMethod");function vc(t){return t===Wr.Gzip?sm.Gzip:sm.Zstd}o(vc,"getCacheFileName");function u6(){return SA(this,void 0,void 0,function*(){return NA.existsSync(SP)?SP:(yield l6("tar")).toLowerCase().includes("gnu tar")?yr("tar"):""})}o(u6,"getGnuTarPathOnWindows");function QP(t,e){if(e===void 0)throw Error(`Expected ${t} but value was undefiend`);return e}o(QP,"assertDefined");function xA(t,e,r=!1){let n=t.slice();return e&&n.push(e),process.platform==="win32"&&!r&&n.push("windows-only"),n.push(wPe),NI.createHash("sha256").update(n.join("|")).digest("hex")}o(xA,"getCacheVersion");function d6(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}o(d6,"getRuntimeToken");var um=w(require("http"),1),vP=w(require("https"),1);function RP(t){let e=t.protocol==="https:";if(SPe(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new QI(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new QI(`http://${r}`)}else return}o(RP,"getProxyUrl");function SPe(t){if(!t.hostname)return!1;let e=t.hostname;if(NPe(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let n;t.port?n=Number(t.port):t.protocol==="http:"?n=80:t.protocol==="https:"&&(n=443);let s=[t.hostname.toUpperCase()];typeof n=="number"&&s.push(`${s[0]}:${n}`);for(let i of r.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(i==="*"||s.some(a=>a===i||a.endsWith(`.${i}`)||i.startsWith(".")&&a.endsWith(`${i}`)))return!0;return!1}o(SPe,"checkBypass");function NPe(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}o(NPe,"isLoopbackAddress");var QI=class extends URL{static{o(this,"DecodedURL")}constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}};var Pc=w(Qf(),1),A6=w(AA(),1);var Ot=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(A){a(A)}}o(l,"rejected");function u(d){d.done?i(d.value):s(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},wt;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(wt||(wt={}));var jr;(function(t){t.Accept="accept",t.ContentType="content-type"})(jr||(jr={}));var ba;(function(t){t.ApplicationJson="application/json"})(ba||(ba={}));var QPe=[wt.MovedPermanently,wt.ResourceMoved,wt.SeeOther,wt.TemporaryRedirect,wt.PermanentRedirect],RPe=[wt.BadGateway,wt.ServiceUnavailable,wt.GatewayTimeout],TPe=["OPTIONS","GET","DELETE","HEAD"],vPe=10,PPe=5,Ki=class t extends Error{static{o(this,"HttpClientError")}constructor(e,r) Line truncated
${qPe.sanitize({...this,request:{...this.request,agent:n},response:this.response})}`,"value"),enumerable:!1}),Object.setPrototypeOf(this,t.prototype)}};function kI(t){return t instanceof Kr?!0:su(t)&&t.name==="RestError"}o(kI,"isRestError");function En(t,e){return Buffer.from(t,e)}o(En,"stringToUint8Array");var DI=w(require("node:http"),1),OI=w(require("node:https"),1),qP=w(require("node:zlib"),1),T6=require("node:stream");var Rs=dm("ts-http-runtime");var GPe={};function Am(t){return t&&typeof t.pipe=="function"}o(Am,"isReadableStream");function R6(t){return t.readable===!1?Promise.resolve():new Promise(e=>{let r=o(()=>{e(),t.removeListener("close",r),t.removeListener("end",r),t.removeListener("error",r)},"handler");t.on("close",r),t.on("end",r),t.on("error",r)})}o(R6,"isStreamComplete");function v6(t){return t&&typeof t.byteLength=="number"}o(v6,"isArrayBuffer");var MI=class extends T6.Transform{static{o(this,"ReportTransform")}loadedBytes=0;progressCallback;_transform(e,r,n){this.push(e),this.loadedBytes+=e.length;try{this.progressCallback({loadedBytes:this.loadedBytes}),n()}catch(s){n(s)}}constructor(e){super(),this.progressCallback=e}},GP=class{static{o(this,"NodeHttpClient")}cachedHttpAgent;cachedHttpsAgents=new WeakMap;async sendRequest(e){let r=new AbortController,n;if(e.abortSignal){if(e.abortSignal.aborted)throw new Xi("The operation was aborted. Request has already been canceled.");n=o(u=>{u.type==="abort"&&r.abort()},"abortListener"),e.abortSignal.addEventListener("abort",n)}let s;e.timeout>0&&(s=setTimeout(()=>{let u=new mi;Rs.info(`request to '${u.sanitizeUrl(e.url)}' timed out. canceling...`),r.abort()},e.timeout));let i=e.headers.get("Accept-Encoding"),a=i?.includes("gzip")||i?.includes("deflate"),c=typeof e.body=="function"?e.body():e.body;if(c&&!e.headers.has("Content-Length")){let u=JPe(c);u!==null&&e.headers.set("Content-Length",u)}let l;try{if(c&&e.onUploadProgress){let h=e.onUploadProgress,g=new MI(h);g.on("error",y=>{Rs.error("Error in upload progress",y)}),Am(c)?c.pipe(g):g.end(c),c=g}let u=await this.makeRequest(e,r,c);s!==void 0&&clearTimeout(s);let d=HPe(u),p={status:u.statusCode??0,headers:d,request:e};if(e.method==="HEAD")return u.resume(),p;l=a?VPe(u,d):u;let f=e.onDownloadProgress;if(f){let h=new MI(f);h.on("error",g=>{Rs.error("Error in download progress",g)}),l.pipe(h),l=h}return e.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY)||e.streamResponseStatusCodes?.has(p.status)?p.readableStreamBody=l:p.bodyAsText=await zPe(l),p}finally{if(e.abortSignal&&n){let u=Promise.resolve();Am(c)&&(u=R6(c));let d=Promise.resolve();Am(l)&&(d=R6(l)),Promise.all([u,d]).then(()=>{n&&e.abortSignal?.removeEventListener("abort",n)}).catch(A=>{Rs.warning("Error when cleaning up abortListener on httpRequest",A)})}}}makeRequest(e,r,n){let s=new URL(e.url),i=s.protocol!=="https:";if(i&&!e.allowInsecureConnection)throw new Error(`Cannot connect to ${e.url} while allowInsecureConnection is false.`);let c={agent:e.agent??this.getOrCreateAgent(e,i),hostname:s.hostname,path:`${s.pathname}${s.search}`,port:s.port,method:e.method,headers:e.headers.toJSON({preserveCase:!0}),...e.requestOverrides};return new Promise((l,u)=>{let d=i?DI.default.request(c,l):OI.default.request(c,l);d.once("error",A=>{u(new Kr(A.message,{code:A.code??Kr.REQUEST_SEND_ERROR,request:e}))}),r.signal.addEventListener("abort",()=>{let A=new Xi("The operation was aborted. Rejecting from abort signal callback while making request.");d.destroy(A),u(A)}),n&&Am(n)?n.pipe(d):n?typeof n=="string"||Buffer.isBuffer(n)?d.end(n):v6(n)?d.end(ArrayBuffer.isView(n)?Buffer.from(n.buffer):Buffer.from(n)):(Rs.error("Unrecognized body type",n),u(new Kr("Unrecognized body type"))):d.end()})}getOrCreateAgent(e,r){let n=e.disableKeepAlive;if(r)return n?DI.default.globalAgent:(this.cachedHttpAgent||(this.cachedHttpAgent=new DI.default.Agent({keepAlive:!0})),this.cachedHttpAgent);{if(n&&!e.tlsSettings)return OI.default.globalAgent;let s=e.tlsSettings??GPe,i=this.cachedHttpsAgents.get(s);return i&&i.options.keepAlive===!n||(Rs.info("No cached TLS Agent exist, creating a new Agent"),i=new OI.default.Agent({keepAlive:!n,...s}),this.cachedHttpsAgents.set(s,i)),i}}};function HPe(t){let e=Xn();for(let r of Object.keys(t.headers)){let n=t.headers[r];Array.isArray(n)?n.length>0&&e.set(r,n[0]):n&&e.set(r,n)}return e}o(HPe,"getResponseHeaders");function VPe(t,e){let r=e.get("Content-Encoding");if(r==="gzip"){let n=qP.default.createGunzip();return t.pipe(n),n}else if(r==="deflate"){let n=qP.default.createInflate();return t.pipe(n),n}return t}o(VPe,"getDecodedResponseStream");function zPe(t){return new Promise((e,r)=>{let n=[];t.on("data",s=>{Buffer.isBuffer(s)?n.push(s):n.push(Buffer.from(s))}),t.on("end",()=>{e(Buffer.concat(n).toString("utf8"))}),t.on("error",s=>{s&&s?.name==="AbortError"?r(s):r(new Kr(`Error reading response as text: ${s.message}`,{code:Kr.PARSE_ERROR}))})})}o(zPe,"streamToText");function JPe(t){return t?Buffer.isBuffer(t)?t.length:Am(t)?nul Line truncated
`;return e}o(bke,"encodeHeaders");function wke(t){return t instanceof Uint8Array?t.byteLength:aB(t)?t.size===-1?void 0:t.size:void 0}o(wke,"getLength");function Ske(t){let e=0;for(let r of t){let n=wke(r);if(n===void 0)return;e+=n}return e}o(Ske,"getTotalLength");async function Nke(t,e,r){let n=[En(`--${r}`,"utf-8"),...e.flatMap(i=>[En(`\r
`,"utf-8"),En(bke(i.headers),"utf-8"),En(`\r
`,"utf-8"),i.body,En(`\r
--${r}`,"utf-8")]),En(`--\r
\r
`,"utf-8")],s=Ske(n);s&&t.headers.set("Content-Length",s),t.body=await DK(n)}o(Nke,"buildRequestBody");var hm="multipartPolicy",xke=70,Qke=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?");function Rke(t){if(t.length>xke)throw new Error(`Multipart boundary "${t}" exceeds maximum length of 70 characters`);if(Array.from(t).some(e=>!Qke.has(e)))throw new Error(`Multipart boundary "${t}" contains invalid characters`)}o(Rke,"assertValidBoundary");function lB(){return{name:hm,async sendRequest(t,e){if(!t.multipartBody)return e(t);if(t.body)throw new Error("multipartBody and regular body cannot be set at the same time");let r=t.multipartBody.boundary,n=t.headers.get("Content-Type")??"multipart/mixed",s=n.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);if(!s)throw new Error(`Got multipart request body, but content-type header was not multipart: ${n}`);let[,i,a]=s;if(a&&r&&a!==r)throw new Error(`Multipart boundary was specified as ${a} in the header, but got ${r} in the request body`);return r??=a,r?Rke(r):r=Bke(),t.headers.set("Content-Type",`${i}; boundary=${r}`),await Nke(t,t.multipartBody.parts,r),t.multipartBody=void 0,e(t)}}}o(lB,"multipartPolicy");function uB(){return _I()}o(uB,"createEmptyPipeline");var OK=TI({logLevelEnvVarName:"AZURE_LOG_LEVEL",namespace:"azure"}),Klt=OK.logger;function to(t){return OK.createClientLogger(t)}o(to,"createClientLogger");var ro=to("core-rest-pipeline");function a_(t={}){return FI({logger:ro.info,...t})}o(a_,"logPolicy");var c_=UI;function l_(t={}){return qI(t)}o(l_,"redirectPolicy");var dB=w(require("node:os"),1),AB=w(require("node:process"),1);function MK(){return"User-Agent"}o(MK,"getHeaderName");async function LK(t){if(AB.default&&AB.default.versions){let e=`${dB.default.type()} ${dB.default.release()}; ${dB.default.arch()}`,r=AB.default.versions;r.bun?t.set("Bun",`${r.bun} (${e})`):r.deno?t.set("Deno",`${r.deno} (${e})`):r.node&&t.set("Node",`${r.node} (${e})`)}}o(LK,"setPlatformSpecificData");var pB="1.22.2";function Mke(t){let e=[];for(let[r,n]of t){let s=n?`${r}/${n}`:r;e.push(s)}return e.join(" ")}o(Mke,"getUserAgentString");function FK(){return MK()}o(FK,"getUserAgentHeaderName");async function fB(t){let e=new Map;e.set("core-rest-pipeline",pB),await LK(e);let r=Mke(e);return t?`${t} ${r}`:r}o(fB,"getUserAgentValue");var UK=FK(),qK="userAgentPolicy";function u_(t={}){let e=fB(t.userAgentPrefix);return{name:qK,async sendRequest(r,n){return r.headers.has(UK)||r.headers.set(UK,await e),n(r)}}}o(u_,"userAgentPolicy");var rs=class extends Error{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}};function d_(t,e){let{cleanupBeforeAbort:r,abortSignal:n,abortErrorMsg:s}=e??{};return new Promise((i,a)=>{function c(){a(new rs(s??"The operation was aborted."))}o(c,"rejectOnAbort");function l(){n?.removeEventListener("abort",u)}o(l,"removeListeners");function u(){r?.(),l(),c()}if(o(u,"onAbort"),n?.aborted)return c();try{t(d=>{l(),i(d)},d=>{l(),a(d)})}catch(d){a(d)}n?.addEventListener("abort",u)})}o(d_,"createAbortablePromise");var Gke="The delay was aborted.";function mm(t,e){let r,{abortSignal:n,abortErrorMsg:s}=e??{};return d_(i=>{r=setTimeout(i,t)},{cleanupBeforeAbort:o(()=>clearTimeout(r),"cleanupBeforeAbort"),abortSignal:n,abortErrorMsg:s??Gke})}o(mm,"delay");function kc(t){if(su(t))return t.message;{let e;try{typeof t=="object"&&t?e=JSON.stringify(t):e=String(t)}catch{e="[unable to stringify input]"}return`Unknown error ${e}`}}o(kc,"getErrorMessage");function GK(t){return su(t)}o(GK,"isError");function OA(){return nu()}o(OA,"randomUUID");var Fe=au;var HK=Symbol("rawContent");function p_(t){return typeof t[HK]=="function"}o(p_,"hasRawContent");function VK(t){return p_(t)?t[HK]():t}o(VK,"getRawContent");var hB=hm;function f_(){let t=lB();return{name:hB,sendRequest:o(async(e,r)=>{if(e.multipartBody)for(let n of e.multipartBody.parts)p_(n.body)&&(n.body=VK(n.body));return t.sendRequest(e,r)},"sendRequest")}}o(f_,"multipartPolicy");var h_=GI;function m_(){return HI()}o(m_,"decompressResponsePolicy");function g_(t={}){return JI(t)}o(g_,"defaultRetryPolicy");function E_(){return $I()}o(E_,"formDataPolicy");function Dc(t){return r_(t)}o(Dc,"getDefaultProxySettings");function y_(t,e){return sB(t,e)}o(y_,"proxyPolicy");var zK="setClientRequestIdPolicy";function C_(t="x-ms-client-request-id"){return{name:zK,async sendRequest(e,r){return e.headers.has(t)||e.headers.set(t,e.requestId),r(e)}}}o(C_,"setClientRequestIdPolicy");function I_(t){return iB(t)}o(I_,"agentPolicy");function B_(t){return oB(t)}o(B_,"tlsPolicy");var MA={span:Symbol.for("@azure/core-tracing span"),namespace:Symbol.for("@azure/core-tracing namespace")};function JK(t={}){let e=new b_(t.parentContext);return t.span&&(e=e.setValue(MA.span,t.span)),t.namespace&&(e=e.setValue(MA.namespace,t.namespace)),e}o(JK,"createTracingContext");var b_=class t{static{o(this,"TracingContextImpl")}_contextMap;constructor(e){this._contextMap=e instanceof t?new Map(e._context Line truncated
`&&t[i]!=="\r";i++)l+=t[i];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),i--),!AOe(l)){let A;return l.trim().length===0?A="Invalid space after '<'.":A="Tag '"+l+"' is an invalid name.",Mt("InvalidTag",A,Xr(t,i))}let u=aOe(t,i);if(u===!1)return Mt("InvalidAttr","Attributes for '"+l+"' have open quote.",Xr(t,i));let d=u.value;if(i=u.index,d[d.length-1]==="/"){let A=i-d.length;d=d.substring(0,d.length-1);let p=RX(d,e);if(p===!0)n=!0;else return Mt(p.err.code,p.err.msg,Xr(t,A+p.err.line))}else if(c)if(u.tagClosed){if(d.trim().length>0)return Mt("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",Xr(t,a));if(r.length===0)return Mt("InvalidTag","Closing tag '"+l+"' has not been opened.",Xr(t,a));{let A=r.pop();if(l!==A.tagName){let p=Xr(t,A.tagStartPos);return Mt("InvalidTag","Expected closing tag '"+A.tagName+"' (opened in line "+p.line+", col "+p.col+") instead of closing tag '"+l+"'.",Xr(t,a))}r.length==0&&(s=!0)}}else return Mt("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",Xr(t,i));else{let A=RX(d,e);if(A!==!0)return Mt(A.err.code,A.err.msg,Xr(t,i-d.length+A.err.line));if(s===!0)return Mt("InvalidXml","Multiple possible root nodes found.",Xr(t,i));e.unpairedTags.indexOf(l)!==-1||r.push({tagName:l,tagStartPos:a}),n=!0}for(i++;i<t.length;i++)if(t[i]==="<")if(t[i+1]==="!"){i++,i=QX(t,i);continue}else if(t[i+1]==="?"){if(i=xX(t,++i),i.err)return i}else break;else if(t[i]==="&"){let A=uOe(t,i);if(A==-1)return Mt("InvalidChar","char '&' is not expected.",Xr(t,i));i=A}else if(s===!0&&!NX(t[i]))return Mt("InvalidXml","Extra text at the end",Xr(t,i));t[i]==="<"&&i--}}else{if(NX(t[i]))continue;return Mt("InvalidChar","char '"+t[i]+"' is not expected.",Xr(t,i))}if(n){if(r.length==1)return Mt("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Xr(t,r[0].tagStartPos));if(r.length>0)return Mt("InvalidXml","Invalid '"+JSON.stringify(r.map(i=>i.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return Mt("InvalidXml","Start tag expected.",1);return!0}o(QB,"validate");function NX(t){return t===" "||t===" "||t===`
`||t==="\r"}o(NX,"isWhiteSpace");function xX(t,e){let r=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let n=t.substr(r,e-r);if(e>5&&n==="xml")return Mt("InvalidXml","XML declaration allowed only at the start of the document.",Xr(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}o(xX,"readPI");function QX(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}o(QX,"readCommentAndCDATA");var iOe='"',oOe="'";function aOe(t,e){let r="",n="",s=!1;for(;e<t.length;e++){if(t[e]===iOe||t[e]===oOe)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){s=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:s}}o(aOe,"readAttributeStr");var cOe=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function RX(t,e){let r=NB(t,cOe),n={};for(let s=0;s<r.length;s++){if(r[s][1].length===0)return Mt("InvalidAttr","Attribute '"+r[s][2]+"' has no space in starting.",Qm(r[s]));if(r[s][3]!==void 0&&r[s][4]===void 0)return Mt("InvalidAttr","Attribute '"+r[s][2]+"' is without value.",Qm(r[s]));if(r[s][3]===void 0&&!e.allowBooleanAttributes)return Mt("InvalidAttr","boolean attribute '"+r[s][2]+"' is not allowed.",Qm(r[s]));let i=r[s][2];if(!dOe(i))return Mt("InvalidAttr","Attribute '"+i+"' is an invalid name.",Qm(r[s]));if(!Object.prototype.hasOwnProperty.call(n,i))n[i]=1;else return Mt("InvalidAttr","Attribute '"+i+"' is repeated.",Qm(r[s]))}return!0}o(RX,"validateAttributeString");function lOe(t,e){let r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}o(lOe,"validateNumberAmpersand");function uOe(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,lOe(t,e);let r=0;for(;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}o(uOe,"validateAmpersand");function Mt(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}o(Mt,"getErrorObject");function dOe(t){return q_(t)}o(dOe,"validateAttrName");function AOe(t){return q_(t)}o(AOe,"validateTagName");function Xr(t,e){let r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}o(Xr,"getLineNumberForPosition");function Qm(t){return t.startIndex+t[1].length}o(Qm,"getPositionFromMatch");var TX={amp:"&",AMP:"&",lt:"<",LT:"<",gt:">",GT:">",quot:'"',QUOT:'"',apos:"'",lsquo:"\u2018",rsquo:"\u2019",ldquo:"\u201C",rdquo:"\u201D",lsquor:"\u201A",rsquor:"\u2019",ldquor:"\u201E",bdquo:"\u201E",comma:",",period:".",colon:":",semi:";",excl:"!",quest:"?",num:"#",dollar:"$",percent:"%",amp:"&",ast:"*",commat:"@",lowbar:"_",verbar:"|",vert:"|",sol:"/",bsol:"\\",lbrace:"{",rbrace:"}",lbrack:"[",rbrack:"]",lpar:"(",rpar:")",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",COPY:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",REG:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",half:"\xBD",frac34:"\xBE",iquest:"\xBF",times:"\xD7",div:"\xF7",divide:"\xF7"},vX={Agrave:"\xC0",agrave:"\xE0",Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",Aring:"\xC5",aring:"\xE5",AElig:"\xC6",aelig:"\xE6",Ccedil:"\xC7",ccedil:"\xE7",Egrave:"\xC8",egrave:"\xE8",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Euml:"\xCB",euml:"\xEB",Igrave:"\xCC",igrave:"\xEC",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",Iuml:"\xCF",iuml:"\xEF",ETH:"\xD0",eth:"\xF0",Ntilde:"\xD1",ntilde:"\xF1",Ograve:"\xD2",ograve:"\xF2",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",Oslash:"\xD8",oslash:"\xF8",Ugrave:"\xD9",ugrave:"\xF9",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",THORN:"\xDE",thorn:"\xFE",szlig:"\xDF",yuml:"\xFF",Yuml:"\u0178"},PX={Amacr:"\u0100",amacr:"\u0101",Abreve:"\u0102",abreve:"\u0103",Aogon:"\u0104",aogon:"\u0105",Cacute:"\u0106",cacute:"\u0107",Ccirc:"\u0108",ccirc:"\u0109",Cdot:"\u010A",cdot:"\u010B",Ccaron:"\u010C",ccaron:"\u010D",Dcaron:"\u010E",dcaron:"\u010F",Dstrok:"\u0110",dstrok:"\u0111",Emacr:"\u0112",emacr:"\u0113",Ecaron:"\u011A",ecaron:"\u011B",Edot:"\u0116",edot:"\u0117",Eogon:"\u0118",eogon:"\u0119",Gcirc:"\u011C",gcirc:"\u011D",Gbreve:"\u011E",gbreve:"\u011F",Gdot:"\u0120",gdot:"\u0121",Gcedil:"\u0122",Hcirc:"\u0124",hcirc:"\u0125",HstLine truncated
`);let e=new Bn("!xml"),r=e,n="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let s=this.options,i=new vm(s.processEntities),a=t.length;for(let c=0;c<a;c++)if(t[c]==="<"){let u=t.charCodeAt(c+1);if(u===47){let d=GA(t,">",c,"Closing Tag is not closed."),A=t.substring(c+2,d).trim();if(s.removeNSPrefix){let f=A.indexOf(":");f!==-1&&(A=A.substr(f+1))}A=W_(s.transformTagName,A,"",s).tagName,r&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher));let p=this.matcher.getCurrentTag();if(A&&s.unpairedTagsSet.has(A))throw new Error(`Unpaired tag can not be used as closing tag: </${A}>`);p&&s.unpairedTagsSet.has(p)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,r=this.tagsNodeStack.pop(),n="",c=d}else if(u===63){let d=j_(t,c,!1,"?>");if(!d)throw new Error("Pi Tag is not closed.");n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let A=this.buildAttributesMap(d.tagExp,this.matcher,d.tagName,!0);if(A){let p=A[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(p)||1),i.setXmlVersion(Number(p)||1)}if(!(s.ignoreDeclaration&&d.tagName==="?xml"||s.ignorePiTags)){let p=new Bn(d.tagName);p.add(s.textNodeName,""),d.tagName!==d.tagExp&&d.attrExpPresent&&s.ignoreAttributes!==!0&&(p[":@"]=A),this.addChild(r,p,this.readonlyMatcher,c)}c=d.closeIndex+1}else if(u===33&&t.charCodeAt(c+2)===45&&t.charCodeAt(c+3)===45){let d=GA(t,"-->",c+4,"Comment is not closed.");if(s.commentPropName){let A=t.substring(c+4,d-2);n=this.saveTextToParentTag(n,r,this.readonlyMatcher),r.add(s.commentPropName,[{[s.textNodeName]:A}])}c=d}else if(u===33&&t.charCodeAt(c+2)===68){let d=i.readDocType(t,c);this.entityDecoder.addInputEntities(d.entities),c=d.i}else if(u===33&&t.charCodeAt(c+2)===91){let d=GA(t,"]]>",c,"CDATA is not closed.")-2,A=t.substring(c+9,d);n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let p=this.parseTextData(A,r.tagname,this.readonlyMatcher,!0,!1,!0,!0);p==null&&(p=""),s.cdataPropName?r.add(s.cdataPropName,[{[s.textNodeName]:A}]):r.add(s.textNodeName,p),c=d+2}else{let d=j_(t,c,s.removeNSPrefix);if(!d){let Q=t.substring(Math.max(0,c-50),Math.min(a,c+50));throw new Error(`readTagExp returned undefined at position ${c}. Context: "${Q}"`)}let A=d.tagName,p=d.rawTagName,f=d.tagExp,h=d.attrExpPresent,g=d.closeIndex;if({tagName:A,tagExp:f}=W_(s.transformTagName,A,f,s),s.strictReservedNames&&(A===s.commentPropName||A===s.cdataPropName||A===s.textNodeName||A===s.attributesGroupName))throw new Error(`Invalid tag name: ${A}`);r&&n&&r.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher,!1));let y=r;y&&s.unpairedTagsSet.has(y.tagname)&&(r=this.tagsNodeStack.pop(),this.matcher.pop());let E=!1;f.length>0&&f.lastIndexOf("/")===f.length-1&&(E=!0,A[A.length-1]==="/"?(A=A.substr(0,A.length-1),f=A):f=f.substr(0,f.length-1),h=A!==f);let C=null,I={},B;B=DOe(p),A!==e.tagname&&this.matcher.push(A,{},B),A!==f&&h&&(C=this.buildAttributesMap(f,this.matcher,A),C&&(I=kOe(C,s))),A!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let N=c;if(this.isCurrentNodeStopNode){let Q="";if(E)c=d.closeIndex;else if(s.unpairedTagsSet.has(A))c=d.closeIndex;else{let ue=this.readStopNodeData(t,p,g+1);if(!ue)throw new Error(`Unexpected end of ${p}`);c=ue.i,Q=ue.tagContent}let D=new Bn(A);C&&(D[":@"]=C),D.add(s.textNodeName,Q),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(r,D,this.readonlyMatcher,N)}else{if(E){({tagName:A,tagExp:f}=W_(s.transformTagName,A,f,s));let Q=new Bn(A);C&&(Q[":@"]=C),this.addChild(r,Q,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(s.unpairedTagsSet.has(A)){let Q=new Bn(A);C&&(Q[":@"]=C),this.addChild(r,Q,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1,c=d.closeIndex;continue}else{let Q=new Bn(A);if(this.tagsNodeStack.length>s.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(r),C&&(Q[":@"]=C),this.addChild(r,Q,this.readonlyMatcher,N),r=Q}n="",c=g}}}else n+=t[c];return e.child},"parseXml");function qOe(t,e,r,n){this.options.captureMetaData||(n=void 0);let s=this.options.jPath?r.toString():r,i=this.options.updateTag(e.tagname,s,e[":@"]);i===!1||(typeof i=="string"&&(e.tagname=i),t.addChild(e,n))}o(qOe,"addChild");function GOe(t,e,r){let n=this.options.processEntities;if(!n||!n.enabled)return t;if(n.allowedTags){let s=this.options.jPath?r.toString():r;if(!(Array.isArray(n.allowedTags)?n.allowedTags.includes(e):n.allowedTags(e,s)))return t}if(n.tagFilter){let s=this.options.jPath?r.toString():r;if(!n.tagFilter(e,s))return t}return this.entityDecoder.decode(t)}o(GOe,"replaceEntitiesValue");function HOe(t,e,r,n){return t&&(n===void 0&&(n=e.child.length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}o(HOe,"saveTextToParentTag");function VOe(){return this.stopNodeExpressionsLine truncated
`;function ZOe(t,e){if(!Array.isArray(t)||t.length===0)return"1.0";let r=t[0];if(rk(r)==="?xml"){let s=r[":@"];if(s){let i=e.attributeNamePrefix+"version";if(s[i])return s[i]}}return"1.0"}o(ZOe,"detectXmlVersionFromArray");function XX(t,e,r,n,s){return!r.sanitizeName||Au(t,{xmlVersion:s})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}o(XX,"resolveTagName");function tk(t,e){let r="";e.format&&(r=XOe);let n=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let a=0;a<e.stopNodes.length;a++){let c=e.stopNodes[a];typeof c=="string"?n.push(new is(c)):c instanceof is&&n.push(c)}let s=ZOe(t,e),i=new io;return ZX(t,e,r,i,n,s)}o(tk,"toXml");function ZX(t,e,r,n,s,i){let a="",c=!1;if(e.maxNestedTags&&n.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(t)){if(t!=null){let l=t.toString();return l=ek(l,e),l}return""}for(let l=0;l<t.length;l++){let u=t[l],d=rk(u);if(d===void 0)continue;let p=d===e.textNodeName||d===e.cdataPropName||d===e.commentPropName||d[0]==="?"?d:XX(d,!1,e,n,i),f=eMe(u[":@"],e);n.push(p,f);let h=rMe(n,s);if(p===e.textNodeName){let I=u[d];h||(I=e.tagValueProcessor(p,I),I=ek(I,e)),c&&(a+=r),a+=I,c=!1,n.pop();continue}else if(p===e.cdataPropName){c&&(a+=r);let I=u[d][0][e.textNodeName],B=_B(I);a+=`<![CDATA[${B}]]>`,c=!1,n.pop();continue}else if(p===e.commentPropName){let I=u[d][0][e.textNodeName],B=PB(I);a+=r+`<!--${B}-->`,c=!0,n.pop();continue}else if(p[0]==="?"){let I=KX(u[":@"],e,h,n,i);a+=(p==="?xml"?"":r)+`<${p}${I}?>`,c=!0,n.pop();continue}let g=r;g!==""&&(g+=e.indentBy);let y=KX(u[":@"],e,h,n,i),E=r+`<${p}${y}`,C;h?C=eZ(u[d],e):C=ZX(u[d],e,g,n,s,i),e.unpairedTags.indexOf(p)!==-1?e.suppressUnpairedNode?a+=E+">":a+=E+"/>":(!C||C.length===0)&&e.suppressEmptyNode?a+=E+"/>":C&&C.endsWith(">")?a+=E+`>${C}${r}</${p}>`:(a+=E+">",C&&r!==""&&(C.includes("/>")||C.includes("</"))?a+=r+e.indentBy+C+r:a+=C,a+=`</${p}>`),c=!0,n.pop()}return a}o(ZX,"arrToStr");function eMe(t,e){if(!t||e.ignoreAttributes)return null;let r={},n=!1;for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let i=s.startsWith(e.attributeNamePrefix)?s.substr(e.attributeNamePrefix.length):s;r[i]=Lc(t[s]),n=!0}return n?r:null}o(eMe,"extractAttributeValues");function eZ(t,e){if(!Array.isArray(t))return t!=null?t.toString():"";let r="";for(let n=0;n<t.length;n++){let s=t[n],i=rk(s);if(i===e.textNodeName)r+=s[i];else if(i===e.cdataPropName)r+=s[i][0][e.textNodeName];else if(i===e.commentPropName)r+=s[i][0][e.textNodeName];else{if(i&&i[0]==="?")continue;if(i){let a=tMe(s[":@"],e),c=eZ(s[i],e);!c||c.length===0?r+=`<${i}${a}/>`:r+=`<${i}${a}>${c}</${i}>`}}}return r}o(eZ,"getRawContent");function tMe(t,e){let r="";if(t&&!e.ignoreAttributes)for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let s=t[n];s===!0&&e.suppressBooleanAttributes?r+=` ${n.substr(e.attributeNamePrefix.length)}`:r+=` ${n.substr(e.attributeNamePrefix.length)}="${Lc(s)}"`}return r}o(tMe,"attr_to_str_raw");function rk(t){let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=e[r];if(Object.prototype.hasOwnProperty.call(t,n)&&n!==":@")return n}}o(rk,"propName");function KX(t,e,r,n,s){let i="";if(t&&!e.ignoreAttributes)for(let a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let c=a.substr(e.attributeNamePrefix.length),l=r?c:XX(c,!0,e,n,s),u;r?u=t[a]:(u=e.attributeValueProcessor(a,t[a]),u=ek(u,e)),u===!0&&e.suppressBooleanAttributes?i+=` ${l}`:i+=` ${l}="${Lc(u)}"`}return i}o(KX,"attr_to_str");function rMe(t,e){if(!e||e.length===0)return!1;for(let r=0;r<e.length;r++)if(t.matches(e[r]))return!0;return!1}o(rMe,"checkStopNode");function ek(t,e){if(t&&t.length>0&&e.processEntities)for(let r=0;r<e.entities.length;r++){let n=e.entities[r];t=t.replace(n.regex,n.val)}return t}o(ek,"replaceEntitiesValue");function nk(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(let r of t)if(typeof r=="string"&&e===r||r instanceof RegExp&&r.test(e))return!0}:()=>!1}o(nk,"getIgnoreAttributesFn");var nMe={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:o(function(t,e){return e},"tagValueProcessor"),attributeValueProcessor:o(function(t,e){return e},"attributeValueProcessor"),preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function wn(t){if(this.options=Object.assign({},nMe,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(e=>typeof e=="string"&&e.startsWith("*.")?".."+e.substring(2):e)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.oLine truncated
`,this.newLine=`
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}o(wn,"Builder");function sMe(t,e){let r=t["?xml"];if(r&&typeof r=="object"){if(e.attributesGroupName&&r[e.attributesGroupName]){let s=r[e.attributesGroupName][e.attributeNamePrefix+"version"];if(s)return s}let n=r[e.attributeNamePrefix+"version"];if(n)return n}return"1.0"}o(sMe,"detectXmlVersionFromObj");function sk(t,e,r,n,s){return!r.sanitizeName||Au(t,{xmlVersion:s})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}o(sk,"resolveTagName");wn.prototype.build=function(t){if(this.options.preserveOrder)return tk(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new io,r=sMe(t,this.options);return this.j2x(t,0,e,r).val}};wn.prototype.j2x=function(t,e,r,n){let s="",i="";if(this.options.maxNestedTags&&r.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");let a=this.options.jPath?r.toString():r,c=this.checkStopNode(r);for(let l in t){if(!Object.prototype.hasOwnProperty.call(t,l))continue;let d=l===this.options.textNodeName||l===this.options.cdataPropName||l===this.options.commentPropName||this.options.attributesGroupName&&l===this.options.attributesGroupName||this.isAttribute(l)||l[0]==="?"?l:sk(l,!1,this.options,r,n);if(typeof t[l]>"u")this.isAttribute(l)&&(i+="");else if(t[l]===null)this.isAttribute(l)||d===this.options.cdataPropName||d===this.options.commentPropName?i+="":d[0]==="?"?i+=this.indentate(e)+"<"+d+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+d+"/"+this.tagEndChar;else if(t[l]instanceof Date)i+=this.buildTextValNode(t[l],d,"",e,r);else if(typeof t[l]!="object"){let A=this.isAttribute(l);if(A&&!this.ignoreAttributesFn(A,a)){let p=sk(A,!0,this.options,r,n);s+=this.buildAttrPairStr(p,""+t[l],c)}else if(!A)if(l===this.options.textNodeName){let p=this.options.tagValueProcessor(l,""+t[l]);i+=this.replaceEntitiesValue(p)}else{r.push(d);let p=this.checkStopNode(r);if(r.pop(),p){let f=""+t[l];f===""?i+=this.indentate(e)+"<"+d+this.closeTag(d)+this.tagEndChar:i+=this.indentate(e)+"<"+d+">"+f+"</"+d+this.tagEndChar}else i+=this.buildTextValNode(t[l],d,"",e,r)}}else if(Array.isArray(t[l])){let A=t[l].length,p="",f="";for(let h=0;h<A;h++){let g=t[l][h];if(!(typeof g>"u"))if(g===null)d[0]==="?"?i+=this.indentate(e)+"<"+d+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+d+"/"+this.tagEndChar;else if(typeof g=="object")if(this.options.oneListGroup){r.push(d);let y=this.j2x(g,e+1,r,n);r.pop(),p+=y.val,this.options.attributesGroupName&&g.hasOwnProperty(this.options.attributesGroupName)&&(f+=y.attrStr)}else p+=this.processTextOrObjNode(g,d,e,r,n);else if(this.options.oneListGroup){let y=this.options.tagValueProcessor(d,g);y=this.replaceEntitiesValue(y),p+=y}else{r.push(d);let y=this.checkStopNode(r);if(r.pop(),y){let E=""+g;E===""?p+=this.indentate(e)+"<"+d+this.closeTag(d)+this.tagEndChar:p+=this.indentate(e)+"<"+d+">"+E+"</"+d+this.tagEndChar}else p+=this.buildTextValNode(g,d,"",e,r)}}this.options.oneListGroup&&(p=this.buildObjectNode(p,d,f,e)),i+=p}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let A=Object.keys(t[l]),p=A.length;for(let f=0;f<p;f++){let h=sk(A[f],!0,this.options,r,n);s+=this.buildAttrPairStr(h,""+t[l][A[f]],c)}}else i+=this.processTextOrObjNode(t[l],d,e,r,n)}return{attrStr:s,val:i}};wn.prototype.buildAttrPairStr=function(t,e,r){return r||(e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+Lc(e)+'"'};function iMe(t,e,r,n,s){let i=this.extractAttributes(t);if(n.push(e,i),this.checkStopNode(n)){let l=this.buildRawContent(t),u=this.buildAttributesForStopNode(t);return n.pop(),this.buildObjectNode(l,e,u,r)}let c=this.j2x(t,r+1,n,s);return n.pop(),e[0]==="?"?this.buildTextValNode("",e,c.attrStr,r,n):t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,c.attrStr,r,n):this.buildObjectNode(c.val,e,c.attrStr,r)}o(iMe,"processTextOrObjNode");wn.prototype.extractAttributes=function(t){if(!t||typeof t!="object")return null;let e={},r=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){let n=t[this.options.attributesGroupName];for(let s in n){if(!Object.prototype.hasOwnProperty.call(n,s))continue;let i=s.startsWith(this.options.attributeNamePrefix)?s.substring(this.options.attributeNamePrefix.length):s;e[i]=Lc(n[s]),r=!0}}else for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let s=this.isAttribute(n);s&&(e[s]=Lc(t[n]),r=!0)}return r?e:null};wn.prototype.buildRawContent=function(t){if(typeof t=="string")return t;if(typeof t!="object"||t===null)return String(t);if(t[this.options.textNodeName]!==void 0)return t[this.options.textNodeName];let e="";for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r)||this.isAttribute(r)||this.options.attributesGroupName&&r===this.o Line truncated
`)+`
`+this.getCanonicalizedHeadersString(e)+this.getCanonicalizedResourceString(e),n=this.factory.computeHMACSHA256(r);return e.headers.set(ae.AUTHORIZATION,`SharedKey ${this.factory.accountName}:${n}`),e}getHeaderValueToSign(e,r){let n=e.headers.get(r);return!n||r===ae.CONTENT_LENGTH&&n==="0"?"":n}getCanonicalizedHeadersString(e){let r=e.headers.headersArray().filter(s=>s.name.toLowerCase().startsWith(ae.PREFIX_FOR_STORAGE));r.sort((s,i)=>VB(s.name.toLowerCase(),i.name.toLowerCase())),r=r.filter((s,i,a)=>!(i>0&&s.name.toLowerCase()===a[i-1].name.toLowerCase()));let n="";return r.forEach(s=>{n+=`${s.name.toLowerCase().trimRight()}:${s.value.trimLeft()}
`}),n}getCanonicalizedResourceString(e){let r=qB(e.url)||"/",n="";n+=`/${this.factory.accountName}${r}`;let s=GB(e.url),i={};if(s){let a=[];for(let c in s)if(Object.prototype.hasOwnProperty.call(s,c)){let l=c.toLowerCase();i[l]=s[c],a.push(l)}a.sort();for(let c of a)n+=`
${c}:${decodeURIComponent(i[c])}`}return n}};var St=class extends hu{static{o(this,"StorageSharedKeyCredential")}accountName;accountKey;constructor(e,r){super(),this.accountName=e,this.accountKey=Buffer.from(r,"base64")}create(e,r){return new Om(e,r,this)}computeHMACSHA256(e){return(0,cZ.createHmac)("sha256",this.accountKey).update(e,"utf8").digest("base64")}};var er=to("storage-common");var _s;(function(t){t[t.EXPONENTIAL=0]="EXPONENTIAL",t[t.FIXED=1]="FIXED"})(_s||(_s={}));var Uc={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:_s.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},fMe=new rs("The operation was aborted."),Mm=class extends oo{static{o(this,"StorageRetryPolicy")}retryOptions;constructor(e,r,n=Uc){super(e,r),this.retryOptions={retryPolicyType:n.retryPolicyType?n.retryPolicyType:Uc.retryPolicyType,maxTries:n.maxTries&&n.maxTries>=1?Math.floor(n.maxTries):Uc.maxTries,tryTimeoutInMs:n.tryTimeoutInMs&&n.tryTimeoutInMs>=0?n.tryTimeoutInMs:Uc.tryTimeoutInMs,retryDelayInMs:n.retryDelayInMs&&n.retryDelayInMs>=0?Math.min(n.retryDelayInMs,n.maxRetryDelayInMs?n.maxRetryDelayInMs:Uc.maxRetryDelayInMs):Uc.retryDelayInMs,maxRetryDelayInMs:n.maxRetryDelayInMs&&n.maxRetryDelayInMs>=0?n.maxRetryDelayInMs:Uc.maxRetryDelayInMs,secondaryHost:n.secondaryHost?n.secondaryHost:Uc.secondaryHost}}async sendRequest(e){return this.attemptSendRequest(e,!1,1)}async attemptSendRequest(e,r,n){let s=e.clone(),i=r||!this.retryOptions.secondaryHost||!(e.method==="GET"||e.method==="HEAD"||e.method==="OPTIONS")||n%2===1;i||(s.url=UB(s.url,this.retryOptions.secondaryHost)),this.retryOptions.tryTimeoutInMs&&(s.url=Fc(s.url,Qa.Parameters.TIMEOUT,Math.floor(this.retryOptions.tryTimeoutInMs/1e3).toString()));let a;try{if(er.info(`RetryPolicy: =====> Try=${n} ${i?"Primary":"Secondary"}`),a=await this._nextPolicy.sendRequest(s),!this.shouldRetry(i,n,a))return a;r=r||!i&&a.status===404}catch(c){if(er.error(`RetryPolicy: Caught error, message: ${c.message}, code: ${c.code}`),!this.shouldRetry(i,n,a,c))throw c}return await this.delay(i,n,e.abortSignal),this.attemptSendRequest(e,r,++n)}shouldRetry(e,r,n,s){if(r>=this.retryOptions.maxTries)return er.info(`RetryPolicy: Attempt(s) ${r} >= maxTries ${this.retryOptions.maxTries}, no further try.`),!1;let i=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"];if(s){for(let a of i)if(s.name.toUpperCase().includes(a)||s.message.toUpperCase().includes(a)||s.code&&s.code.toString().toUpperCase()===a)return er.info(`RetryPolicy: Network error ${a} found, will retry.`),!0}if(n||s){let a=n?n.status:s?s.statusCode:0;if(!e&&a===404)return er.info("RetryPolicy: Secondary access with 404, will retry."),!0;if(a===503||a===500)return er.info(`RetryPolicy: Will retry for status code ${a}.`),!0}if(n&&n?.status>=400){let a=n.headers.get(ae.X_MS_CopySourceErrorCode);if(a!==void 0)switch(a){case"InternalError":case"OperationTimedOut":case"ServerBusy":return!0}}return s?.code==="PARSE_ERROR"&&s?.message.startsWith('Error "Error: Unclosed root tag')?(er.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry."),!0):!1}async delay(e,r,n){let s=0;if(e)switch(this.retryOptions.retryPolicyType){case _s.EXPONENTIAL:s=Math.min((Math.pow(2,r-1)-1)*this.retryOptions.retryDelayInMs,this.retryOptions.maxRetryDelayInMs);break;case _s.FIXED:s=this.retryOptions.retryDelayInMs;break}else s=Math.random()*1e3;return er.info(`RetryPolicy: Delay for ${s}ms`),HB(s,n,fMe)}};var Lm=class{static{o(this,"StorageRetryPolicyFactory")}retryOptions;constructor(e){this.retryOptions=e}create(e,r){return new Mm(e,r,this.retryOptions)}};var hMe="storageBrowserPolicy";function lZ(){return{name:hMe,async sendRequest(t,e){return Fe||((t.method==="GET"||t.method==="HEAD")&&(t.url=Fc(t.url,Qa.Parameters.FORCE_BROWSER_NO_CACHE,new Date().getTime().toString())),t.headers.delete(ae.COOKIE),t.headers.delete(ae.CONTENT_LENGTH)),e(t)}}}o(lZ,"storageBrowserPolicy");var mMe="StorageCorrectContentLengthPolicy";function uZ(){function t(e){e.body&&(typeof e.body=="string"||Buffer.isBuffer(e.body))&&e.body.length>0&&e.headers.set(ae.CONTENT_LENGTH,Buffer.byteLength(e.body))}return o(t,"correctContentLength"),{name:mMe,async sendRequest(e,r){return t(e),r(e)}}}o(uZ,"storageCorrectContentLengthPolicy");var gMe="storageRetryPolicy",VA={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:_s.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},EMe=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"],yMe=new rs("The operation was aborted.");function dZ(t={}){let e=t.retryPolicyType??VA.retryPolicyType,r=t.maxTries??VA.maxTries,n=t.retryDelayInMs??VA.retryDelayInMs,s=t.maxRetryDelayInMs??VA.maxRetryDelayInMs,i=t.secondaryHost??VA.secondaryHost,a=t.tryTimeoutInMs??VA.tryTimeoutInMs;function c({isPrimaryRetry:u,attempt:d,response:A,error:p}){if(d>=r)return er.inf Line truncated
`)+`
`+n(i)+s(i),c=(0,AZ.createHmac)("sha256",t.accountKey).update(a,"utf8").digest("base64");i.headers.set(ae.AUTHORIZATION,`SharedKey ${t.accountName}:${c}`)}o(e,"signRequest");function r(i,a){let c=i.headers.get(a);return!c||a===ae.CONTENT_LENGTH&&c==="0"?"":c}o(r,"getHeaderValueToSign");function n(i){let a=[];for(let[l,u]of i.headers)l.toLowerCase().startsWith(ae.PREFIX_FOR_STORAGE)&&a.push({name:l,value:u});a.sort((l,u)=>VB(l.name.toLowerCase(),u.name.toLowerCase())),a=a.filter((l,u,d)=>!(u>0&&l.name.toLowerCase()===d[u-1].name.toLowerCase()));let c="";return a.forEach(l=>{c+=`${l.name.toLowerCase().trimRight()}:${l.value.trimLeft()}
`}),c}o(n,"getCanonicalizedHeadersString");function s(i){let a=qB(i.url)||"/",c="";c+=`/${t.accountName}${a}`;let l=GB(i.url),u={};if(l){let d=[];for(let A in l)if(Object.prototype.hasOwnProperty.call(l,A)){let p=A.toLowerCase();u[p]=l[A],d.push(p)}d.sort();for(let A of d)c+=`
${A}:${decodeURIComponent(u[A])}`}return c}return o(s,"getCanonicalizedResourceString"),{name:CMe,async sendRequest(i,a){return e(i),a(i)}}}o(lk,"storageSharedKeyCredentialPolicy");var IMe="storageRequestFailureDetailsParserPolicy";function pZ(){return{name:IMe,async sendRequest(t,e){try{return await e(t)}catch(r){throw typeof r=="object"&&r!==null&&r.response&&r.response.parsedBody&&r.response.parsedBody.code==="InvalidHeaderValue"&&r.response.parsedBody.HeaderName==="x-ms-version"&&(r.message=`The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.
`),r}}}}o(pZ,"storageRequestFailureDetailsParserPolicy");var fZ=require("node:crypto");var zB=class{static{o(this,"UserDelegationKeyCredential")}accountName;userDelegationKey;key;constructor(e,r){this.accountName=e,this.userDelegationKey=r,this.key=Buffer.from(r.value,"base64")}computeHMACSHA256(e){return(0,fZ.createHmac)("sha256",this.key).update(e,"utf8").digest("base64")}};var JB="12.31.0",$B="2026-02-06";var YB="https://storage.azure.com/.default",Ra={Parameters:{FORCE_BROWSER_NO_CACHE:"_",SIGNATURE:"sig",SNAPSHOT:"snapshot",VERSIONID:"versionid",TIMEOUT:"timeout"}};var gi="",uk="*",BMe=1*1024*1024;var bMe=4*BMe;var hZ="AES256",mZ="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",gZ=["Access-Control-Allow-Origin","Cache-Control","Content-Length","Content-Type","Date","Request-Id","traceparent","Transfer-Encoding","User-Agent","x-ms-client-request-id","x-ms-date","x-ms-error-code","x-ms-request-id","x-ms-return-client-request-id","x-ms-version","Accept-Ranges","Content-Disposition","Content-Encoding","Content-Language","Content-MD5","Content-Range","ETag","Last-Modified","Server","Vary","x-ms-content-crc64","x-ms-copy-action","x-ms-copy-completion-time","x-ms-copy-id","x-ms-copy-progress","x-ms-copy-status","x-ms-has-immutability-policy","x-ms-has-legal-hold","x-ms-lease-state","x-ms-lease-status","x-ms-range","x-ms-request-server-encrypted","x-ms-server-encrypted","x-ms-snapshot","x-ms-source-range","If-Match","If-Modified-Since","If-None-Match","If-Unmodified-Since","x-ms-access-tier","x-ms-access-tier-change-time","x-ms-access-tier-inferred","x-ms-account-kind","x-ms-archive-status","x-ms-blob-append-offset","x-ms-blob-cache-control","x-ms-blob-committed-block-count","x-ms-blob-condition-appendpos","x-ms-blob-condition-maxsize","x-ms-blob-content-disposition","x-ms-blob-content-encoding","x-ms-blob-content-language","x-ms-blob-content-length","x-ms-blob-content-md5","x-ms-blob-content-type","x-ms-blob-public-access","x-ms-blob-sequence-number","x-ms-blob-type","x-ms-copy-destination-snapshot","x-ms-creation-time","x-ms-default-encryption-scope","x-ms-delete-snapshots","x-ms-delete-type-permanent","x-ms-deny-encryption-scope-override","x-ms-encryption-algorithm","x-ms-if-sequence-number-eq","x-ms-if-sequence-number-le","x-ms-if-sequence-number-lt","x-ms-incremental-copy","x-ms-lease-action","x-ms-lease-break-period","x-ms-lease-duration","x-ms-lease-id","x-ms-lease-time","x-ms-page-write","x-ms-proposed-lease-id","x-ms-range-get-content-md5","x-ms-rehydrate-priority","x-ms-sequence-number-action","x-ms-sku-name","x-ms-source-content-md5","x-ms-source-if-match","x-ms-source-if-modified-since","x-ms-source-if-none-match","x-ms-source-if-unmodified-since","x-ms-tag-count","x-ms-encryption-key-sha256","x-ms-copy-source-error-code","x-ms-copy-source-status-code","x-ms-if-tags","x-ms-source-if-tags"],EZ=["comp","maxresults","rscc","rscd","rsce","rscl","rsct","se","si","sip","sp","spr","sr","srt","ss","st","sv","include","marker","prefix","copyid","restype","blockid","blocklisttype","delimiter","prevsnapshot","ske","skoid","sks","skt","sktid","skv","snapshot"],yZ="BlobUsesCustomerSpecifiedEncryption",CZ="BlobDoesNotUseCustomerSpecifiedEncryption",IZ=["10000","10001","10002","10003","10004","10100","10101","10102","10103","10104","11000","11001","11002","11003","11004","11100","11101","11102","11103","11104"];function Ta(t){if(!t||typeof t!="object")return!1;let e=t;return Array.isArray(e.factories)&&typeof e.options=="object"&&typeof e.toServiceClientOptions=="function"}o(Ta,"isPipelineLike");var Fm=class{static{o(this,"Pipeline")}factories;options;constructor(e,r={}){this.factories=e,this.options=r}toServiceClientOptions(){return{httpClient:this.options.httpClient,requestPolicyFactories:this.factories}}};function Lt(t,e={}){t||(t=new ft);let r=new Fm([],e);return r._credential=t,r}o(Lt,"newPipeline");function wMe(t){let e=[SMe,BZ,NMe,xMe,QMe,RMe,vMe];if(t.factories.length){let r=t.factories.filter(n=>!e.some(s=>s(n)));if(r.length){let n=r.some(s=>TMe(s));return{wrappedPolicies:F_(r),afterRetry:n}}}}o(wMe,"processDownlevelPipeline");function dk(t){let{httpClient:e,...r}=t.options,n=t._coreHttpClient;n||(n=e?U_(e):ck(),t._coreHttpClient=n);let s=t._corePipeline;if(!s){let i=`azsdk-js-azure-storage-blob/${JB}`,a=r.userAgentOptions&&r.userAgentOptions.userAgentPrefix?`${r.userAgentOptions.userAgentPrefix} ${i}`:`${i}`;s=Im({...r,loggingOptions:{additionalAllowedHeaderNames:gZ,additionalAllowedQueryParameters:EZ,logger:DB.info},userAgentOptions:{userAgentPrefix:a},serializationOptions:{stringifyXML:kB,serializerOptions:{xml:{xmlCharKey:"#"}}},deserializationOptions:{parseXML:ok,serializerOptions:{xml:{xmlCharKey:"#"}}}}),s.removePolicy({phase:"Retry"}),s.removePolicy({name:h_}),s.addPolicy(uZ()),s.addPolicy(dZ(r.retryOptions),{phase:"Retry"}),s.addPo Line truncated
`),i=e.computeHMACSHA256(s);return{sasQueryParameters:new Bi(t.version,i,n,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:s}}o(w1e,"generateBlobSASQueryParameters20150405");function S1e(t,e){if(t=wu(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=wo.parse(t.permissions.toString()).toString():s=So.parse(t.permissions.toString()).toString());let i=[s||"",t.startsOn?Ue(t.startsOn,!1):"",t.expiresOn?Ue(t.expiresOn,!1):"",bu(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?Ii(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new Bi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:i}}o(S1e,"generateBlobSASQueryParameters20181109");function N1e(t,e){if(t=wu(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=wo.parse(t.permissions.toString()).toString():s=So.parse(t.permissions.toString()).toString());let i=[s||"",t.startsOn?Ue(t.startsOn,!1):"",t.expiresOn?Ue(t.expiresOn,!1):"",bu(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?Ii(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new Bi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,void 0,void 0,void 0,t.encryptionScope),stringToSign:i}}o(N1e,"generateBlobSASQueryParameters20201206");function x1e(t,e){if(t=wu(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=wo.parse(t.permissions.toString()).toString():s=So.parse(t.permissions.toString()).toString());let i=[s||"",t.startsOn?Ue(t.startsOn,!1):"",t.expiresOn?Ue(t.expiresOn,!1):"",bu(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Ue(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Ue(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.ipRange?Ii(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new Bi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey),stringToSign:i}}o(x1e,"generateBlobSASQueryParametersUDK20181109");function Q1e(t,e){if(t=wu(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=wo.parse(t.permissions.toString()).toString():s=So.parse(t.permissions.toString()).toString());let i=[s||"",t.startsOn?Ue(t.startsOn,!1):"",t.expiresOn?Ue(t.expiresOn,!1):"",bu(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Ue(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Ue(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?Ii(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new Bi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId),stringToSign:i}}o(Q1e,"generateBlobSASQueryParametersUDK20200210");function R1e(t,e){if(t=wu(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=wo.parse(t.permissions.toString()).toString():s=So.parse(t.permissions.toString()).toString());let i=[s||"",t.startsOn?Ue(t.startsOn,!1):"",t.expiresOn?Ue(t.expiresOn,!1):"",bu(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Ue(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Ue(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?Ii(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new Bi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope),stringToSign:i}}o(R1e,"generateBlobSASQueryParametersUDK20201206");function T1e(t,e){if(t=wu(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=wo.parse(t.permissions.toString()).toString():s=So.parse(t.permissions.toString()).toString());let i=[s||"",t.startsOn?Ue(t.startsOn,!1):"",t.expiresOn?Ue(t.expiresOn,!1):"",bu(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Ue(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Ue(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,void 0,t.delegatedUserObjectId,t.ipRange?Ii(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new Bi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope,t.delegatedUserObjectId),stringToSign:i}}o(T1e,"generateBlobSASQueryParametersUDK20250705");function bu(t,e,r){let n=[`/blob/${t}/${e}`];return r&&n.push(`/${r}`),n.join("")}o(bu,"getCanonicalName");function wu(t){let e=t.version?t.version:$B;if(t.snapshotTime&&e<"2018-11-09")throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");if(t.blobName===void 0&&t.snapshotTime)throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");if(t.versionId&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");if(t.blobName===void 0&&t.versionId)throw RangeError("Must provide 'blobName' when providing 'versionId'.");if(t.permissions&&t.permissions.setImmutabilityPolicy&&e<"2020-08-04")throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");if(t.permissions&&t.permissions.deleteVersion&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");if(t.permissions&&t.permissions.permanentDelete&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");if(t.permissions&&t.permissions.tag&&e<"2019-12-12")throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");if(e<"2020-02-10"&&t.permissions&&(t.permissions.move||t.permissions.execute))throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");if(e<"2021-04-10"&&t.permissions&&t.permissions.filterByTags)throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");if(e<"2020-02-10"&&(t.preauthorizedAgentObjectId||t.correlationId))throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");if(t.encryptionScope&&e<"2020-12-06")throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");return t.version=e,t}o(wu,"SASSignatureValuesSanityCheckAndAutofill");var Km=class{static{o(this,"BlobLeaseClient")}_leaseId;_url;_containerOrBlobOperation;_isContainer;get leaseId(){return this._leaseId}get url(){return this._url}constructor(e,r){let n=e.storageClientContext;this._url=e.url,e.name===void 0?(this._isContainer=!0,this._containerOrBlobOperation=n.container):(this._isContainer=!1,this._containerOrBlobOperation=n.blob),r||(r=OA()),this._leaseId=r}async acquireLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==gi||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==gi||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return z.withSpan("BlobLeaseClient-acquireLease",r,async n=>K(await this._containerOrBlobOperation.acquireLease({abortSignal:r.abortSignal,duration:e,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},proposedLeaseId:this._leaseId,tracingOptions:n.tracingOptions})))}async changeLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==gi||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==gi||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return z.withSpan("BlobLeaseClient-changeLease",r,async n=>{let s=K(await this._containerOrBlobOperation.changeLease(this._leaseId,e,{abortSignal:r.abortSignal,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},tracingOptions:n.tracingOptions}));return this._leaseId=e,s})}async releaseLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==gi||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==gi||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return z.withSpan("BlobLeaseClient-releaseLease",e,async r=>K(await this._containerOrBlobOperation.releaseLease(this._leaseId,{abortSignal:e.abortSignal,modifiedAccessConditions:{...e.conditions,ifTags:e.conditions?.tagConditions},tracingOptions:r.tracingOptions})))}async renewLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==gi||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==gi||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values ar Line truncated
If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;super(r),this.code=e,this.name="NetworkError"}};rp.isNetworkErrorCode=t=>t?["ECONNRESET","ENOTFOUND","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH"].includes(t):!1;var Qu=class extends Error{static{o(this,"UsageError")}constructor(){super(`Cache storage quota has been hit. Unable to upload any new cache entries.
More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`),this.name="UsageError"}};Qu.isUsageErrorMessage=t=>t?t.includes("insufficient usage"):!1;var ag=class extends Error{static{o(this,"RateLimitError")}constructor(e){super(e),this.name="RateLimitError"}};var xFe=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(A){a(A)}}o(l,"rejected");function u(d){d.done?i(d.value):s(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},XM=class{static{o(this,"UploadProgress")}constructor(e){this.contentLength=e,this.sentBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}setSentBytes(e){this.sentBytes=e}getTransferredBytes(){return this.sentBytes}isDone(){return this.getTransferredBytes()===this.contentLength}display(){if(this.displayedComplete)return;let e=this.sentBytes,r=(100*(e/this.contentLength)).toFixed(1),n=Date.now()-this.startTime,s=(e/(1024*1024)/(n/1e3)).toFixed(1);S(`Sent ${e} of ${this.contentLength} (${r}%), ${s} MBs/sec`),this.isDone()&&(this.displayedComplete=!0)}onProgress(){return e=>{this.setSentBytes(e.loadedBytes)}}startDisplayTimer(e=1e3){let r=o(()=>{this.display(),this.isDone()||(this.timeoutHandle=setTimeout(r,e))},"displayCallback");this.timeoutHandle=setTimeout(r,e)}stopDisplayTimer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.display()}};function See(t,e,r){return xFe(this,void 0,void 0,function*(){var n;let s=new Ma(t),i=s.getBlockBlobClient(),a=new XM((n=r?.archiveSizeBytes)!==null&&n!==void 0?n:0),c={blockSize:r?.uploadChunkSize,concurrency:r?.uploadConcurrency,maxSingleShotSize:128*1024*1024,onProgress:a.onProgress()};try{a.startDisplayTimer(),b(`BlobClient: ${s.name}:${s.accountName}:${s.containerName}`);let l=yield i.uploadFile(e,c);if(l._response.status>=400)throw new Xb(`uploadCacheArchiveSDK: upload failed with status code ${l._response.status}`);return l}catch(l){throw Ve(`uploadCacheArchiveSDK: internal error uploading cache archive: ${l.message}`),l}finally{a.stopDisplayTimer()}})}o(See,"uploadCacheArchiveSDK");var xee=w(require("buffer"),1),No=w(require("fs"),1),Qee=w(require("stream"),1),Ree=w(require("util"),1);var Zb=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(A){a(A)}}o(l,"rejected");function u(d){d.done?i(d.value):s(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};function ew(t){return t?t>=200&&t<300:!1}o(ew,"isSuccessStatusCode");function QFe(t){return t?t>=500:!0}o(QFe,"isServerErrorStatusCode");function RFe(t){return t?[wt.BadGateway,wt.ServiceUnavailable,wt.GatewayTimeout].includes(t):!1}o(RFe,"isRetryableStatusCode");function TFe(t){return Zb(this,void 0,void 0,function*(){return new Promise(e=>setTimeout(e,t))})}o(TFe,"sleep");function Nee(t,e,r){return Zb(this,arguments,void 0,function*(n,s,i,a=wI,c=SI,l=void 0){let u="",d=1;for(;d<=a;){let A,p,f=!1;try{A=yield s()}catch(h){l&&(A=l(h)),f=!0,u=h.message}if(A&&(p=i(A),!QFe(p)))return A;if(p&&(f=RFe(p),u=`Cache service responded with ${p}`),b(`${n} - Attempt ${d} of ${a} failed with error: ${u}`),!f){b(`${n} - Error is not retryable`);break}yield TFe(c),d++}throw Error(`${n} failed: ${u}`)})}o(Nee,"retry");function cg(t,e){return Zb(this,arguments,void 0,function*(r,n,s=wI,i=SI){return yield Nee(r,n,a=>a.statusCode,s,i,a=>{if(a instanceof Ki)return{statusCode:a.statusCode,result:null,headers:{},error:a}})})}o(cg,"retryTypedResponse");function np(t,e){return Zb(this,arguments,void 0,function*(r,n,s=wI,i=SI){return yield Nee(r,n,a=>a.message.statusCode,s,i)})}o(np,"retryHttpClientResponse");var Ls=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(A){a(A)}}o(l,"rejected");function u(d){d.done?i(d.value):s(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};function vFe(t,e){return Ls(this,void 0,void 0,function*(){yield Ree.promisify(Qee.pipeline)(t.message,e)})}o(vFe,"pipeResponseToStream");var tw=class{static{o(this,"DownloadProgress")}constructor(e){this.contentLength=e,this.segmentIndex=0,this.segmentSize=0,this.segmentOffset=0,this.receivedBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}nextSegment(e){this.segmentOffset=this.segmentOffset+this.segmentSize,this.segmentIndex=this.segmentIndex+1,this.segmentSize=e,this.receivedBytes=0,b(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`)}setReceivedBytes(e){th Line truncated
Other caches with similar key:`);for(let c of i?.artifactCaches||[])b(`Cache Key: ${c?.cacheKey}, Cache Version: ${c?.cacheVersion}, Cache Scope: ${c?.scope}, Cache Created: ${c?.creationTime}`)}}})}o(LFe,"printCachesListForDiagnostics");function rL(t,e,r){return Nn(this,void 0,void 0,function*(){let n=new Fee.URL(t),s=_ee(r);n.hostname.endsWith(".blob.core.windows.net")?s.useAzureSdk?yield vee(t,e,s):s.concurrentBlobDownloads?yield Tee(t,e,s):yield rw(t,e):yield rw(t,e)})}o(rL,"downloadCache");function qee(t,e,r){return Nn(this,void 0,void 0,function*(){let n=tL(),s=xA(e,r?.compressionMethod,r?.enableCrossOsArchive),i={key:t,version:s,cacheSize:r?.cacheSize};return yield cg("reserveCache",()=>Nn(this,void 0,void 0,function*(){return n.postJson(ug("caches"),i)}))})}o(qee,"reserveCache");function Lee(t,e){return`bytes ${t}-${e}/*`}o(Lee,"getContentRange");function FFe(t,e,r,n,s){return Nn(this,void 0,void 0,function*(){b(`Uploading chunk of size ${s-n+1} bytes at offset ${n} with content range: ${Lee(n,s)}`);let i={"Content-Type":"application/octet-stream","Content-Range":Lee(n,s)},a=yield np(`uploadChunk (start: ${n}, end: ${s})`,()=>Nn(this,void 0,void 0,function*(){return t.sendStream("PATCH",e,r(),i)}));if(!ew(a.message.statusCode))throw new Error(`Cache service responded with ${a.message.statusCode} during upload chunk.`)})}o(FFe,"uploadChunk");function UFe(t,e,r,n){return Nn(this,void 0,void 0,function*(){let s=ji(r),i=ug(`caches/${e.toString()}`),a=sp.openSync(r,"r"),c=ZM(n),l=QP("uploadConcurrency",c.uploadConcurrency),u=QP("uploadChunkSize",c.uploadChunkSize),d=[...new Array(l).keys()];b("Awaiting all uploads");let A=0;try{yield Promise.all(d.map(()=>Nn(this,void 0,void 0,function*(){for(;A<s;){let p=Math.min(s-A,u),f=A,h=A+p-1;A+=u,yield FFe(t,i,()=>sp.createReadStream(r,{fd:a,start:f,end:h,autoClose:!1}).on("error",g=>{throw new Error(`Cache upload failed because file read failed with ${g.message}`)}),f,h)}})))}finally{sp.closeSync(a)}})}o(UFe,"uploadFile");function qFe(t,e,r){return Nn(this,void 0,void 0,function*(){let n={size:r};return yield cg("commitCache",()=>Nn(this,void 0,void 0,function*(){return t.postJson(ug(`caches/${e.toString()}`),n)}))})}o(qFe,"commitCache");function nL(t,e,r,n){return Nn(this,void 0,void 0,function*(){if(ZM(n).useAzureSdk){if(!r)throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");yield See(r,e,n)}else{let i=tL();b("Upload cache"),yield UFe(i,t,e,n),b("Commiting cache");let a=ji(e);S(`Cache Size: ~${Math.round(a/(1024*1024))} MB (${a} B)`);let c=yield qFe(i,t,a);if(!ew(c.statusCode))throw new Error(`Cache service responded with ${c.statusCode} during commit cache.`);S("Cache saved successfully")}})}o(nL,"saveCache");var Dte=w(Qte(),1),qt=w(Ut(),1),cs=w(Ut(),1),_u=w(Ut(),1),ku=w(Ut(),1),Du=w(Ut(),1);var KL=w(Ut(),1),XL=w(Ut(),1),Pte=w(Ut(),1),_te=w(Ut(),1),kte=w(Ut(),1);var YL=w(Ut(),1),WL=w(Ut(),1),Rte=w(Ut(),1),Tte=w(Ut(),1),vte=w(Ut(),1);var jL=class extends vte.MessageType{static{o(this,"CacheScope$Type")}constructor(){super("github.actions.results.entities.v1.CacheScope",[{no:1,name:"scope",kind:"scalar",T:9},{no:2,name:"permission",kind:"scalar",T:3}])}create(e){let r={scope:"",permission:"0"};return globalThis.Object.defineProperty(r,Tte.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,Rte.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,l]=e.tag();switch(c){case 1:i.scope=e.string();break;case 2:i.permission=e.int64().toString();break;default:let u=n.readUnknownField;if(u==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${l}) for ${this.typeName}`);let d=e.skip(l);u!==!1&&(u===!0?WL.UnknownFieldHandler.onRead:u)(this.typeName,i,c,l,d)}}return i}internalBinaryWrite(e,r,n){e.scope!==""&&r.tag(1,YL.WireType.LengthDelimited).string(e.scope),e.permission!=="0"&&r.tag(2,YL.WireType.Varint).int64(e.permission);let s=n.writeUnknownFields;return s!==!1&&(s==!0?WL.UnknownFieldHandler.onWrite:s)(this.typeName,e,r),r}},Hw=new jL;var ZL=class extends kte.MessageType{static{o(this,"CacheMetadata$Type")}constructor(){super("github.actions.results.entities.v1.CacheMetadata",[{no:1,name:"repository_id",kind:"scalar",T:3},{no:2,name:"scope",kind:"message",repeat:1,T:o(()=>Hw,"T")}])}create(e){let r={repositoryId:"0",scope:[]};return globalThis.Object.defineProperty(r,_te.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,Pte.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,l]=e.tag();switch(c){case 1:i.repositoryId=e.int64().toString();break;case 2:i.scope.push(Hw.internalBinaryRead(e,e.uint32(),n));break;default:let u=n.readUnknownField;if(u==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${l}) for ${this.typeName}`);let d=e.skip(l);u!==!1&&(u===!0?XL.UnknownFieldHandler.onRead:u)(this.typeName,i,c,l,d)}}return i}internalBinaryWrite(e,r,n){e.repositoryId!== Line truncated
`));let n=yield f1(r,"create");yield h1(n,t)})}o(g1,"createTar");var Ip=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(a){a(i)})}return o(s,"adopt"),new(r||(r=Promise))(function(i,a){function c(d){try{u(n.next(d))}catch(A){a(A)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(A){a(A)}}o(l,"rejected");function u(d){d.done?i(d.value):s(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},Si=class t extends Error{static{o(this,"ValidationError")}constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,t.prototype)}},Ou=class t extends Error{static{o(this,"ReserveCacheError")}constructor(e){super(e),this.name="ReserveCacheError",Object.setPrototypeOf(this,t.prototype)}},E1="cache write denied:",Cp=class t extends Ou{static{o(this,"CacheWriteDeniedError")}constructor(e){super(e),this.name="CacheWriteDeniedError",Object.setPrototypeOf(this,t.prototype)}},$w=class t extends Error{static{o(this,"FinalizeCacheError")}constructor(e){super(e),this.name="FinalizeCacheError",Object.setPrototypeOf(this,t.prototype)}};function Fte(t){if(!t||t.length===0)throw new Si("Path Validation Error: At least one directory or file path is required")}o(Fte,"checkPaths");function y1(t){if(t.length>512)throw new Si(`Key Validation Error: ${t} cannot be larger than 512 characters.`);if(!/^[^,]*$/.test(t))throw new Si(`Key Validation Error: ${t} cannot contain commas.`)}o(y1,"checkKey");function C1(){return lg()==="v2"?!!process.env.ACTIONS_RESULTS_URL:!!process.env.ACTIONS_CACHE_URL}o(C1,"isFeatureAvailable");function Ute(t,e,r,n){return Ip(this,arguments,void 0,function*(s,i,a,c,l=!1){let u=lg();return b(`Cache service version: ${u}`),Fte(s),u==="v2"?yield rqe(s,i,a,c,l):yield tqe(s,i,a,c,l)})}o(Ute,"restoreCache");function tqe(t,e,r,n){return Ip(this,arguments,void 0,function*(s,i,a,c,l=!1){a=a||[];let u=[i,...a];if(b("Resolved Keys:"),b(JSON.stringify(u)),u.length>10)throw new Si("Key Validation Error: Keys are limited to a maximum of 10.");for(let p of u)y1(p);let d=yield cm(),A="";try{let p=yield Uee(u,s,{compressionMethod:d,enableCrossOsArchive:l});if(!p?.archiveLocation)return;if(c?.lookupOnly)return S("Lookup only - skipping download"),p.cacheKey;A=Ng.join(yield om(),vc(d)),b(`Archive Path: ${A}`),yield rL(p.archiveLocation,A,c),ya()&&(yield Sg(A,d));let f=ji(A);return S(`Cache Size: ~${Math.round(f/(1024*1024))} MB (${f} B)`),yield m1(A,d),S("Cache restored successfully"),p.cacheKey}catch(p){let f=p;if(f.name===Si.name)throw p;f instanceof Ki&&typeof f.statusCode=="number"&&f.statusCode>=500?hA(`Failed to restore: ${p.message}`):Ve(`Failed to restore: ${p.message}`)}finally{try{yield am(A)}catch(p){b(`Failed to delete archive: ${p}`)}}})}o(tqe,"restoreCacheV1");function rqe(t,e,r,n){return Ip(this,arguments,void 0,function*(s,i,a,c,l=!1){c=Object.assign(Object.assign({},c),{useAzureSdk:!0}),a=a||[];let u=[i,...a];if(b("Resolved Keys:"),b(JSON.stringify(u)),u.length>10)throw new Si("Key Validation Error: Keys are limited to a maximum of 10.");for(let A of u)y1(A);let d="";try{let A=p1(),p=yield cm(),f={key:i,restoreKeys:a,version:xA(s,p,l)},h=yield A.GetCacheEntryDownloadURL(f);if(!h.ok){b(`Cache not found for version ${f.version} of keys: ${u.join(", ")}`);return}if(f.key!==h.matchedKey?S(`Cache hit for restore-key: ${h.matchedKey}`):S(`Cache hit for: ${h.matchedKey}`),c?.lookupOnly)return S("Lookup only - skipping download"),h.matchedKey;d=Ng.join(yield om(),vc(p)),b(`Archive path: ${d}`),b(`Starting download of archive to: ${d}`),yield rL(h.signedDownloadUrl,d,c);let y=ji(d);return S(`Cache Size: ~${Math.round(y/(1024*1024))} MB (${y} B)`),ya()&&(yield Sg(d,p)),yield m1(d,p),S("Cache restored successfully"),h.matchedKey}catch(A){let p=A;if(p.name===Si.name)throw A;p instanceof Ki&&typeof p.statusCode=="number"&&p.statusCode>=500?hA(`Failed to restore: ${A.message}`):Ve(`Failed to restore: ${A.message}`)}finally{try{d&&(yield am(d))}catch(A){b(`Failed to delete archive: ${A}`)}}})}o(rqe,"restoreCacheV2");function I1(t,e,r){return Ip(this,arguments,void 0,function*(n,s,i,a=!1){let c=lg();return b(`Cache service version: ${c}`),Fte(n),y1(s),c==="v2"?yield sqe(n,s,i,a):yield nqe(n,s,i,a)})}o(I1,"saveCache");function nqe(t,e,r){return Ip(this,arguments,void 0,function*(n,s,i,a=!1){var c,l,u,d,A,p;let f=yield cm(),h=-1,g=yield xP(n);if(b("Cache Paths:"),b(`${JSON.stringify(g)}`),g.length===0)throw new Error("Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.");let y=yield om(),E=Ng.join(y,vc(f));b(`Archive Path: ${E}`);try{yield g1(y,g,f),ya()&&(yield Sg(E,f));let C=10*1024*1024*1024,I=ji(E);if(b(`File Size: ${I}`),I>C&&!eL())throw new Error(`Cache size of ~${Math.round(I/(1024*1024))} MB (${I} B) is over the 10GB limit, not saving cache.`);b("Reserving Cache");let B=yield qee(s,n,{compressionMethod:f,enableCrossOsArchive:a,cacheSize:I});if(!((c=B?.result)===null||c===void 0)&&c.cacheId)h=(l=B?.result)= Line truncated
`,a).length:A,u?(c===null?0:c.length)+l.length:0,u?l.length+A:0);return p<f},"__needMoreData"),parse:o(function(n,s,i,a){let{bom:c,comment_no_infix:l,delimiter_auto:u,encoding:d,from_line:A,ltrim:p,max_record_size:f,raw:h,relax_quotes:g,rtrim:y,skip_empty_lines:E,to:C,to_line:I}=this.options,{comment:B,escape:N,quote:Q,record_delimiter:D}=this.options,{bomSkipped:ue,delimiterDiscovered:xe,delimiterBufPrevious:ke,rawBuffer:qe,escapeIsQuote:Ce}=this.state;if(!xe&&u){let Ge;if(ke===void 0?Ge=n:ke!==void 0&&n===void 0?Ge=ke:Ge=Buffer.concat([ke,n]),n=void 0,s||Ge.length>u.size)this.options.delimiter=[Buffer.from($ie(Ge,this.options.delimiter_auto))],this.state.previousBuf=Ge,this.state.delimiterBufPrevious=void 0,this.state.delimiterDiscovered=!0;else{this.state.delimiterBufPrevious=Ge;return}}let{previousBuf:Xe}=this.state,de;if(Xe===void 0)if(n===void 0){a();return}else de=n;else Xe!==void 0&&n===void 0?de=Xe:de=Buffer.concat([Xe,n]);if(ue===!1)if(c===!1)this.state.bomSkipped=!0;else if(de.length<3){if(s===!1){this.state.previousBuf=de;return}}else{for(let Ge in Mp)if(Mp[Ge].compare(de,0,Mp[Ge].length)===0){let Pi=Mp[Ge].length;this.state.bufBytesStart+=Pi,de=de.slice(Pi);let tc=Op({...this.original_options,encoding:Ge});for(let Bt in tc)this.options[Bt]=tc[Bt];({comment:B,escape:N,quote:Q}=this.options);break}this.state.bomSkipped=!0}let Lr=de.length,J;for(J=0;J<Lr&&!this.__needMoreData(J,Lr,s);J++){if(this.state.wasRowDelimiter===!0&&(this.info.lines++,this.state.wasRowDelimiter=!1),I!==-1&&this.info.lines>I){this.state.stop=!0,a();return}this.state.quoting===!1&&D.length===0&&this.__autoDiscoverRecordDelimiter(de,J)&&(D=this.options.record_delimiter);let Ge=de[J];if(h===!0&&qe.append(Ge),(Ge===N$e||Ge===x$e)&&this.state.wasRowDelimiter===!1&&(this.state.wasRowDelimiter=!0),this.state.escaping===!0)this.state.escaping=!1;else{if(N!==null&&this.state.quoting===!0&&this.__isEscape(de,J,Ge)&&J+N.length<Lr)if(Ce){if(this.__isQuote(de,J+N.length)){this.state.escaping=!0,J+=N.length-1;continue}}else{this.state.escaping=!0,J+=N.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(de,J))if(this.state.quoting===!0){let Bt=de[J+Q.length],_i=y&&this.__isCharTrimable(de,J+Q.length),Mn=B!==null&&this.__compareBytes(B,de,J+Q.length,Bt),El=this.__isDelimiter(de,J+Q.length,Bt),PE=D.length===0?this.__autoDiscoverRecordDelimiter(de,J+Q.length):this.__isRecordDelimiter(Bt,de,J+Q.length);if(N!==null&&this.__isEscape(de,J,Ge)&&this.__isQuote(de,J+N.length))J+=N.length-1;else if(!Bt||El||PE||Mn||_i){this.state.quoting=!1,this.state.wasQuoting=!0,J+=Q.length-1;continue}else if(g===!1){let eG=this.__error(new be("CSV_INVALID_CLOSING_QUOTE",["Invalid Closing Quote:",`got "${String.fromCharCode(Bt)}"`,`at line ${this.info.lines}`,"instead of delimiter, record delimiter, trimable character","(if activated) or comment"],this.options,this.__infoField()));if(eG!==void 0)return eG}else this.state.quoting=!1,this.state.wasQuoting=!0,this.state.field.prepend(Q),J+=Q.length-1}else if(this.state.field.length!==0){if(g===!1){let Bt=this.__infoField(),_i=Object.keys(Mp).map(El=>Mp[El].equals(this.state.field.toString())?El:!1).filter(Boolean)[0],Mn=this.__error(new be("INVALID_OPENING_QUOTE",["Invalid Opening Quote:",`a quote is found on field ${JSON.stringify(Bt.column)} at line ${Bt.lines}, value is ${JSON.stringify(this.state.field.toString(d))}`,_i?`(${_i} bom)`:void 0],this.options,Bt,{field:this.state.field}));if(Mn!==void 0)return Mn}}else{this.state.quoting=!0,J+=Q.length-1;continue}if(this.state.quoting===!1){let Bt=this.__isRecordDelimiter(Ge,de,J);if(Bt!==0){if(this.state.commenting&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0)this.info.comment_lines++;else{if(this.state.enabled===!1&&this.info.lines+(this.state.wasRowDelimiter===!0?1:0)>=A){this.state.enabled=!0,this.__resetField(),this.__resetRecord(),J+=Bt-1;continue}if(E===!0&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0){this.info.empty_lines++,J+=Bt-1;continue}this.info.bytes=this.state.bufBytesStart+J;let El=this.__onField();if(El!==void 0)return El;this.info.bytes=this.state.bufBytesStart+J+Bt;let PE=this.__onRecord(i);if(PE!==void 0)return PE;if(C!==-1&&this.info.records>=C){this.state.stop=!0,a();return}}this.state.commenting=!1,J+=Bt-1;continue}if(this.state.commenting)continue;if(B!==null&&(l===!1||this.state.record.length===0&&this.state.field.length===0)&&this.__compareBytes(B,de,J,Ge)!==0){this.state.commenting=!0;continue}let _i=this.__isDelimiter(de,J,Ge);if(_i!==0){this.info.bytes=this.state.bufBytesStart+J;let Mn=this.__onField();if(Mn!==void 0)return Mn;J+=_i-1;continue}}}if(this.state.commenting===!1&&f!==0&&this.state.record_length+this.state.field.length>f)return this.__error(new be("CSV_MAX_RECORD_SIZE",["Max Record Size:","record exceed the maximum number of tolerated bytes",`of ${f}`,`at line ${this.info.lines}`],this.options,this.__infoField()));let Pi=p===!1||th Line truncated
`,i),Buffer.from(`
`,i),Buffer.from("\r",i)];e:for(let c=0;c<a.length;c++){let l=a[c].length;for(let u=0;u<l;u++)if(a[c][u]!==n[s+u])continue e;return this.options.record_delimiter.push(a[c]),this.state.recordDelimiterMaxLength=a[c].length,a[c].length}return 0},"__autoDiscoverRecordDelimiter"),__error:o(function(n){let{encoding:s,raw:i,skip_records_with_error:a}=this.options,c=typeof n=="string"?new Error(n):n;if(a){if(this.state.recordHasError=!0,this.options.on_skip!==void 0)try{this.options.on_skip(c,i?this.state.rawBuffer.toString(s):void 0)}catch(l){return l}return}else return c},"__error"),__infoDataSet:o(function(){return{...this.info,columns:this.options.columns}},"__infoDataSet"),__infoRecord:o(function(){let{columns:n,raw:s,encoding:i}=this.options;return{...this.__infoDataSet(),bytes_records:this.info.bytes,error:this.state.error,header:n===!0,index:this.state.record.length,raw:s?this.state.rawBuffer.toString(i):void 0}},"__infoRecord"),__infoField:o(function(){let{columns:n}=this.options,s=Array.isArray(n),i=this.info.bytes_records;return{...this.__infoRecord(),bytes_records:i,column:s===!0?n.length>this.state.record.length?n[this.state.record.length].name:null:this.state.record.length,quoting:this.state.wasQuoting}},"__infoField")}},"transform");var ps=o(function(t,e={}){typeof t=="string"&&(t=Buffer.from(t));let r=e&&e.objname?Object.create(null):[],n=Y0(e),s=o(c=>{n.options.objname===void 0?r.push(c):r[c[0]]=c[1]},"push"),i=o(()=>{},"close"),a=n.parse(t,!0,s,i);if(a!==void 0)throw a;return r},"parse");var Me=class t{static{o(this,"Util")}static getInputList(e,r){return this.getList(Rr(e,{trimWhitespace:r?.trimWhitespace!==!1}),r)}static getList(e,r){let n=[];if(e=="")return n;let s=ps(e,{columns:!1,relaxQuotes:!0,comment:r?.comment,comment_no_infix:r?.commentNoInfix,relaxColumnCount:!0,skipEmptyLines:!0,quote:r?.quote});for(let i of s)i.length==1?r?.ignoreComma?n.push(i[0]):n.push(...i[0].split(",")):r?.ignoreComma?n.push(i.join(",")):n.push(...i);return n.filter(i=>i).map(i=>r?.trimWhitespace===!1?i:i.trim())}static getInputNumber(e){let r=Rr(e);if(r)return parseInt(r)}static async asyncForEach(e,r){for(let n=0;n<e.length;n++)await r(e[n],n,e)}static isValidURL(e){let r;try{r=new URL(e)}catch{return!1}return r.protocol==="http:"||r.protocol==="https:"}static isValidRef(e){if(t.isValidURL(e))return!0;for(let r of["git://","github.com/","git@"])if(e.startsWith(r))return!0;return!1}static async powershellCommand(e,r){let n=await yr("powershell",!0),s=e.replace(/'/g,"''").replace(/"|\n|\r/g,""),i=[];if(r)for(let a in r)i.push(`-${a} '${r[a].replace(/'/g,"''").replace(/"|\n|\r/g,"")}'`);return{command:`"${n}"`,args:["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",`& '${s}' ${i.join(" ")}`]}}static isDirectory(e){try{return Wie.default.lstatSync(e).isDirectory()}catch{}return!1}static trimPrefix(e,r){return!e||!r||e.indexOf(r)!==0?e:e.substring(r.length)}static trimSuffix(e,r){if(!e||!r)return e;let n=e.lastIndexOf(r);return n===-1||n+r.length!==e.length?e:e.substring(0,n)}static sleep(e){return new Promise(r=>setTimeout(r,e*1e3))}static hash(e){return VF.default.createHash("sha256").update(e).digest("hex")}static parseBool(e){if(e===void 0)return!1;switch(e){case"1":case"t":case"T":case"true":case"TRUE":case"True":return!0;case"0":case"f":case"F":case"false":case"FALSE":case"False":return!1;default:throw new Error(`parseBool syntax error: ${e}`)}}static parseBoolOrDefault(e,r=!1){try{return this.parseBool(e)}catch{return r}}static formatFileSize(e){if(e===0)return"0 Bytes";let r=1024,n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],s=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,s)).toFixed(2))+" "+n[s]}static generateRandomString(e=10){return VF.default.randomBytes(Math.ceil(e/2)).toString("hex").slice(0,e)}static compileHandlebars(e,r,n){return jie.default.compile(e,r)(n)}static stringToUnicodeEntities(e){return Array.from(e).map(r=>`&#x${r.charCodeAt(0).toString(16)};`).join("")}static countLines(e){return e.split(/\r\n|\r|\n/).length}static isPathRelativeTo(e,r){let n=$g.default.resolve(e);return $g.default.resolve(r).startsWith(n.endsWith($g.default.sep)?n:`${n}${$g.default.sep}`)}static formatDuration(e){if(e===0)return"0s";let r=Math.floor(e/1e9),n=Math.floor(r/3600),s=Math.floor(r%3600/60),i=r%60,a=[];return n&&a.push(`${n}h`),s&&a.push(`${s}m`),(i||a.length===0)&&a.push(`${i}s`),a.join("")}};var ut=class t{static{o(this,"Docker")}static get configDir(){return process.env.DOCKER_CONFIG||Yg.default.join(Kie.default.homedir(),".docker")}static configFile(){let e=Yg.default.join(t.configDir,"config.json");if(zF.default.existsSync(e))return JSON.parse(zF.default.readFileSync(e,{encoding:"utf-8"}))}static async isAvailable(){return await yr("docker",!0).then(e=>(b(`Docker.isAvailable ok: ${e}`),!0)).catch(e=>(b(`Docker.isAvailable error: ${e}`),!1))}static async isDaemonRunning(){try{return await t.getExecOutput(["version"],{silent:!0}),!0}ca Line truncated
`+t.errors.map(e=>` - ${e.message}`).join(`
`)}o(yYe,"_buildMessageForResponseErrors");var CYe=class extends Error{static{o(this,"GraphqlResponseError")}constructor(t,e,r){super(yYe(r)),this.request=t,this.headers=e,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},IYe=["method","baseUrl","url","headers","request","query","mediaType","operationName"],BYe=["query","method","url"],Doe=/\/api\/v3\/?$/;function bYe(t,e,r){if(r){if(typeof e=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let a in r)if(BYe.includes(a))return Promise.reject(new Error(`[@octokit/graphql] "${a}" cannot be used as variable name`))}let n=typeof e=="string"?Object.assign({query:e},r):e,s=Object.keys(n).reduce((a,c)=>IYe.includes(c)?(a[c]=n[c],a):(a.variables||(a.variables={}),a.variables[c]=n[c],a),{}),i=n.baseUrl||t.endpoint.DEFAULTS.baseUrl;return Doe.test(i)&&(s.url=i.replace(Doe,"/api/graphql")),t(s).then(a=>{if(a.data.errors){let c={};for(let l of Object.keys(a.headers))c[l]=a.headers[l];throw new CYe(s,c,a.data)}return a.data.data})}o(bYe,"graphql");function rU(t,e){let r=t.defaults(e);return Object.assign(o((s,i)=>bYe(r,s,i),"newApi"),{defaults:rU.bind(null,r),endpoint:r.endpoint})}o(rU,"withDefaults");var pPt=rU(Xg,{headers:{"user-agent":`octokit-graphql.js/${EYe} ${Xc()}`},method:"POST",url:"/graphql"});function Ooe(t){return rU(t,{method:"POST",url:"/graphql"})}o(Ooe,"withCustomRequest");var nU="(?:[a-zA-Z0-9_-]+)",Moe="\\.",Loe=new RegExp(`^${nU}${Moe}${nU}${Moe}${nU}$`),wYe=Loe.test.bind(Loe);async function SYe(t){let e=wYe(t),r=t.startsWith("v1.")||t.startsWith("ghs_"),n=t.startsWith("ghu_");return{type:"token",token:t,tokenType:e?"app":r?"installation":n?"user-to-server":"oauth"}}o(SYe,"auth");function NYe(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}o(NYe,"withAuthorizationPrefix");async function xYe(t,e,r,n){let s=e.endpoint.merge(r,n);return s.headers.authorization=NYe(t),e(s)}o(xYe,"hook");var Foe=o(function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof e!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(SYe.bind(null,e),{hook:xYe.bind(null,e)})},"createTokenAuth2");var sU="7.0.6";var Uoe=o(()=>{},"noop"),QYe=console.warn.bind(console),RYe=console.error.bind(console);function TYe(t={}){return typeof t.debug!="function"&&(t.debug=Uoe),typeof t.info!="function"&&(t.info=Uoe),typeof t.warn!="function"&&(t.warn=QYe),typeof t.error!="function"&&(t.error=RYe),t}o(TYe,"createLogger");var qoe=`octokit-core.js/${sU} ${Xc()}`,oS=class{static{o(this,"Octokit")}static VERSION=sU;static defaults(e){return class extends this{static{o(this,"OctokitWithDefaults")}constructor(...n){let s=n[0]||{};if(typeof e=="function"){super(e(s));return}super(Object.assign({},e,s,s.userAgent&&e.userAgent?{userAgent:`${s.userAgent} ${e.userAgent}`}:null))}}}static plugins=[];static plugin(...e){let r=this.plugins;return class extends this{static{o(this,"NewOctokit")}static plugins=r.concat(e.filter(s=>!r.includes(s)))}}constructor(e={}){let r=new foe.Collection,n={baseUrl:Xg.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=e.userAgent?`${e.userAgent} ${qoe}`:qoe,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers["time-zone"]=e.timeZone),this.request=Xg.defaults(n),this.graphql=Ooe(this.request).defaults(n),this.log=TYe(e.log),this.hook=r,e.authStrategy){let{authStrategy:i,...a}=e,c=i(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:a},e.auth));r.wrap("request",c.hook),this.auth=c}else if(!e.auth)this.auth=async()=>({type:"unauthenticated"});else{let i=Foe(e.auth);r.wrap("request",i.hook),this.auth=i}let s=this.constructor;for(let i=0;i<s.plugins.length;++i)Object.assign(this,s.plugins[i](this,e))}request;graphql;log;hook;auth};var iU="17.0.0";var vYe={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables" Line truncated
More info: ${l.url}`);let f=l.range&&l.range.length>0?l.range[0]?.start.line:void 0,h=!1;for(let g of a)if(g.remote||g.path.endsWith(u)&&g.content===d){c.push({title:A,message:p,file:g.path,startLine:f}),h=!0;break}h||b(`Buildx.convertWarningsToGitHubAnnotations: skipping warning without matching Dockerfile ${u}: ${A}`)}return c}};var el=class t{static{o(this,"Builder")}buildx;constructor(e){this.buildx=e?.buildx||new _e}async exists(e){let r=await this.buildx.getCommand(["inspect",e]),n=await Y.getExecOutput(r.command,r.args,{ignoreReturnCode:!0,silent:!0}).then(s=>s.stderr.length>0&&s.exitCode!=0?(b(`Builder.exists cmd err: ${s.stderr.trim()}`),!1):s.exitCode==0).catch(s=>(b(`Builder.exists error: ${s}`),!1));return b(`Builder.exists: ${n}`),n}async inspect(e){let r=Object.assign({},process.env,{DEBUG:"1"}),n=["inspect"];e&&n.push(e);let s=await this.buildx.getCommand(n);return await Y.getExecOutput(s.command,s.args,{ignoreReturnCode:!0,silent:!0,env:r}).then(i=>{if(i.stderr.length>0&&i.exitCode!=0)throw new Error(i.stderr.trim());return t.parseInspect(i.stdout)})}static parseInspect(e){let r={nodes:[]},n,s={},i,a,c;for(let l of e.trim().split(`
`)){let[u,...d]=l.split(":"),A=u.toLowerCase(),p=d.map(f=>f.trim()).join(":");if(u.length!=0)switch(!0){case A=="name":n=void 0,r.name==null?r.name=p:(i&&s.gcPolicy&&(s.gcPolicy.push(i),i=void 0),s.name&&r.nodes.push(s),s={name:p});break;case A=="driver":n=void 0,r.driver=p;break;case A=="last activity":n=void 0,r.lastActivity=new Date(p);break;case A=="endpoint":n=void 0,s.endpoint=p;break;case A=="driver options":n=void 0,s["driver-opts"]=(p.match(/([a-zA-Z0-9_.]+)="([^"]*)"/g)||[]).map(f=>f.replace(/^(.*)="(.*)"$/g,"$1=$2"));break;case A=="status":n=void 0,s.status=p;break;case A=="buildkit daemon flags":case A=="flags":n=void 0,s["buildkitd-flags"]=p;break;case A=="buildkit version":case A=="buildkit":n=void 0,s.buildkit=p;break;case A=="platforms":{if(n=void 0,!p)break;let f=[];if(p.includes("*"))for(let h of p.split(", "))h.includes("*")&&f.push(h.replace(/\*/g,""));else f=p.split(", ");s.platforms=f.join(",");break}case A=="features":n="features",s.features={};break;case A=="labels":n="label",s.labels={};break;case A=="devices":n="devices",s.devices=s.devices||[];break;case A.startsWith("gc policy rule#"):n="gcpolicy",s.gcPolicy&&i&&(s.gcPolicy.push(i),i=void 0);break;case A.startsWith("file#"):n="file",c=u.split("#")[1],s.files=s.files||{},s.files[c]="";break;default:switch(n&&n!=="devices"&&s.devices&&a&&(s.devices.push(a),a=void 0),n||""){case"features":{s.features=s.features||{},s.features[u.trim()]=!!p;break}case"label":{s.labels=s.labels||{},s.labels[u.trim()]=p;break}case"devices":{switch(A.trim()){case"name":{s.devices&&a&&s.devices.push(a),a={},a.name=p;break}case"on-demand":{a&&p&&(a.onDemand=p=="true");break}case"automatically allowed":{a&&p&&(a.autoAllow=p=="true");break}case"annotations":{a&&(a.annotations=a.annotations||{});break}default:a&&a.annotations&&(a.annotations[u.trim()]=p)}break}case"gcpolicy":{switch(s.gcPolicy=s.gcPolicy||[],i=i||{},A.trim()){case"all":{i.all=p=="true";break}case"filters":{p&&(i.filter=p.split(","));break}case"keep duration":{i.keepDuration=p;break}case"keep bytes":{i.keepBytes=p;break}case"reserved space":{i.reservedSpace=p;break}case"max used space":{i.maxUsedSpace=p;break}case"min free space":{i.minFreeSpace=p;break}}break}case"file":{c&&s.files&&(s.files[c].length>0&&(s.files[c]+=`
`),s.files[c]+=l.replace(/^\s>\s?/,""));break}}}}return a&&s.devices&&s.devices.push(a),i&&s.gcPolicy&&s.gcPolicy.push(i),s.name&&r.nodes.push(s),r}};var $u=w(require("fs"),1),mU=w(require("path"),1);var uS=class t{static{o(this,"Build")}buildx;iidFilename;metadataFilename;constructor(e){this.buildx=e?.buildx||new _e,this.iidFilename=`build-iidfile-${Me.generateRandomString()}.txt`,this.metadataFilename=`build-metadata-${Me.generateRandomString()}.json`}async gitContext(e){let r=new Set(["ref","checksum","subdir"]),n=e?.attrs||{},s=Object.entries(n).filter(([f])=>!r.has(f)),i=Me.parseBoolOrDefault(n["fetch-by-commit"]),a=e?.ref||n.ref||on.ref;a.startsWith("refs/")?a.startsWith("refs/pull/")&&Me.parseBoolOrDefault(process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF)&&(a=a.replace(/\/merge$/g,"/head")):a=`refs/heads/${a}`;let c=`${We.serverURL}/${on.repo.owner}/${on.repo.repo}.git`,l=e?.checksum||n.checksum,u=e?.subdir||n.subdir,d=e?.format;if(!d){if(d="fragment",s.length>0)d="query";else if(Me.parseBoolOrDefault(process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT))try{await this.buildx.versionSatisfies(">=0.29.0")&&(d="query")}catch{}}let A=on.sha||a;a.startsWith("refs/pull/")&&a.endsWith("/head")&&(A=typeof on.payload.pull_request?.head?.sha=="string"?on.payload.pull_request.head.sha:a);let p=l||A;if(d==="query"){let f=[`ref=${i||l?a:p}`],h=i?p:l;h&&f.push(`checksum=${h}`),u&&u!=="."&&f.push(`subdir=${u}`);for(let[g,y]of s)f.push(`${g}=${y}`);return`${c}?${f.join("&")}`}return`${c}#${p}${u&&u!=="."?`:${u}`:""}`}getImageIDFilePath(){return mU.default.join(Oe.tmpDir(),this.iidFilename)}resolveImageID(){let e=this.getImageIDFilePath();if($u.default.existsSync(e))return $u.default.readFileSync(e,{encoding:"utf-8"}).trim()}getMetadataFilePath(){return mU.default.join(Oe.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!$u.default.existsSync(e))return;let r=$u.default.readFileSync(e,{encoding:"utf-8"}).trim();if(r!=="null")return JSON.parse(r)}resolveRef(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.ref"in e)return e["buildx.build.ref"]}resolveProvenance(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.provenance"in e)return e["buildx.build.provenance"]}resolveWarnings(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.warnings"in e)return e["buildx.build.warnings"]}resolveDigest(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"containerimage.digest"in e)return e["containerimage.digest"]}static resolveSecretString(e){let[r,n]=t.resolveSecret(e,{redact:!0});return`id=${r},src=${n}`}static resolveSecretFile(e){let[r,n]=t.resolveSecret(e,{asFile:!0});return`id=${r},src=${n}`}static resolveSecretEnv(e){let[r,n]=t.parseSecretKvp(e);return`id=${r},env=${n}`}static resolveSecret(e,r){let[n,s]=t.parseSecretKvp(e,r?.redact);if(r?.asFile){if(!$u.default.existsSync(s))throw new Error(`secret file ${s} not found`);return[n,s]}let i=Oe.tmpName({tmpdir:Oe.tmpDir()});return $u.default.writeFileSync(i,s),[n,i]}static getProvenanceInput(e){let r=Rr(e);if(!r)return r;try{return Kl(e)?`builder-id=${We.workflowRunURL(!0)}`:"false"}catch{return t.resolveProvenanceAttrs(r)}}static resolveProvenanceAttrs(e){if(!e)return`builder-id=${We.workflowRunURL(!0)}`;let r=ps(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let n of r)if(n.toString().split(/(?<=^[^=]+?)=/).map(i=>i.trim())[0]=="builder-id")return e;return`${e},builder-id=${We.workflowRunURL(!0)}`}static resolveCacheToAttrs(e,r){if(!e)return e;let n="registry",s="",i="",a=ps(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let c of a){let l=c.toString().split(/(?<=^[^=]+?)=/).map(u=>u.trim());l[0]==="type"?n=l[1]:l[0]==="repository"?s=l[1]:l[0]==="ghtoken"&&(i=l[1])}return n==="gha"&&(s||(e=`${e},repository=${We.repository}`),!i&&r&&(e=`${e},ghtoken=${r}`)),e}static hasLocalExporter(e){return t.hasExporterType("local",e)}static hasTarExporter(e){return t.hasExporterType("tar",e)}static hasDockerExporter(e,r){return r||t.hasExporterType("docker",e)}static hasExporterType(e,r){let n=ps(r.join(`
`),{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let s of n){if(s.length==1&&!s[0].startsWith("type="))return e=="local";for(let[i,a]of s.map(c=>c.split("=").map(l=>l.trim())))if(i=="type"&&a==e)return!0}return!1}static hasAttestationType(e,r){let n=ps(r,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let s of n)for(let[i,a]of s.map(c=>c.split("=").map(l=>l.trim())))if(i=="type"&&a==e)return!0;return!1}static resolveAttestationAttrs(e){let r=ps(e,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0}),n=[];for(let s of r)for(let i of s)try{let a=Me.parseBool(i);n.push(`disabled=${!a}`)}catch{n.push(i)}return n.join(",")}static hasGitAuthTokenSecret(e,r){for(let n of e){if(r&&n.startsWith(`GIT_AUTH_TOKEN.${r}=`))return!0;if(n.startsWith("GIT_AUTH_TOKEN="))return!0}return!1}static parseSecretKvp(e,r){let n=e.indexOf("="),s=e.substring(0,n),i=e.substring(n+1);if(s.length==0||i.length==0)throw new Error(`${e} is not a valid secret`);return r&&Vi(i),[s,i]}};var gU=w(require("fs"),1),Koe=w(require("path"),1);var dS=class t{static{o(this,"Bake")}buildx;metadataFilename;constructor(e){this.buildx=e?.buildx||new _e,this.metadataFilename=`bake-metadata-${Me.generateRandomString()}.json`}getMetadataFilePath(){return Koe.default.join(Oe.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!gU.default.existsSync(e))return;let r=gU.default.readFileSync(e,{encoding:"utf-8"}).trim();if(r!=="null")return JSON.parse(r)}resolveRefs(e){if(!e&&(e=this.resolveMetadata(),!e))return;let r=new Array;for(let n in e)"buildx.build.ref"in e[n]&&r.push(e[n]["buildx.build.ref"]);return r.length>0?r:void 0}resolveWarnings(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.warnings"in e)return e["buildx.build.warnings"]}async getDefinition(e,r){r=r||{ignoreReturnCode:!0},r.ignoreReturnCode=!0,r.env=Object.assign({},process.env,r.env||{},e.githubToken?{BUILDX_BAKE_GIT_AUTH_TOKEN:e.githubToken}:{});let n=["bake"],s,i=[],a=[...e.files||[],e.source];if(a){for(let l of a.map(u=>u?u.trim():""))if(l.length!=0){if(!Me.isValidRef(l)){i.push(l);continue}if(s)throw new Error("Only one remote bake definition can be defined");s=l}}s&&n.push(s);for(let l of i)n.push("--file",l);if(e.overrides)for(let l of e.overrides)n.push("--set",l);if(e.vars)for(let l of e.vars)n.push("--var",l);if(e.allow)for(let l of e.allow)n.push("--allow",l);e.call&&n.push("--call",e.call),e.load&&n.push("--load"),e.noCache&&n.push("--no-cache"),e.provenance&&n.push("--provenance",e.provenance),e.push&&n.push("--push"),e.sbom&&n.push("--sbom",e.sbom);let c=await this.buildx.getCommand([...n,"--print",...e.targets||[]]);return await Y.getExecOutput(c.command,c.args,r).then(l=>{if(l.stderr.length>0&&l.exitCode!=0)throw new Error(`cannot parse bake definitions: ${l.stderr.match(/(.*)\s*$/)?.[0]?.trim()??"unknown error"}`);return t.parseDefinition(l.stdout.trim())})}static parseDefinition(e){let r=JSON.parse(e);for(let n in r.target){let s=r.target[n];s.attest&&Array.isArray(s.attest)&&(s.attest=s.attest.map(i=>t.parseAttestEntry(i))),s["cache-from"]&&Array.isArray(s["cache-from"])&&(s["cache-from"]=s["cache-from"].map(i=>t.parseCacheEntry(i))),s["cache-to"]&&Array.isArray(s["cache-to"])&&(s["cache-to"]=s["cache-to"].map(i=>t.parseCacheEntry(i))),s.output&&Array.isArray(s.output)&&(s.output=s.output.map(i=>t.parseExportEntry(i))),s.secret&&Array.isArray(s.secret)&&(s.secret=s.secret.map(i=>t.parseSecretEntry(i))),s.ssh&&Array.isArray(s.ssh)&&(s.ssh=s.ssh.map(i=>t.parseSSHEntry(i)))}return r}static parseAttestEntry(e){if(typeof e!="string")return e;let r={type:""},n=ps(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let s of n){let[i,a]=s.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());switch(i){case"type":r.type=a;break;case"disabled":r.disabled=Me.parseBool(a);break;default:r[i]=a}}return r}static parseCacheEntry(e){if(typeof e!="string")return e;let r={type:""},n=ps(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(n.length===1&&!n[0].includes("="))return r.type="registry",r.ref=n[0],r;for(let s of n){let[i,a]=s.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());i==="type"?r.type=a:r[i]=a}return r}static parseExportEntry(e){if(typeof e!="string")return e;let r={type:""},n=ps(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(n.length===1&&n[0]===e&&!e.startsWith("type="))return e!=="-"?(r.type="local",r.dest=e,r):(r.type="tar",r.dest=e,r);for(let s of n){let[i,a]=s.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());i==="type"?r.type=a:r[i]=a}return r}static parseSecretEntry(e){if(typeof e!="string")return e;let r={},n=ps(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0],s="";for(let i of n){let[a,c]=i.toString().split(/(?<=^[^=]+?)=/).map(l=>l.trim());switch(a){case"type":s=c;break;case"id":r.id=c;break;case"source":case"src":r.src=c;break;case"env":r.env=c;break}}return s==="env"&&!r.env&&(r.env=r.src,r.src=void 0),r}static parseSSHEntry(e){if(typeof e!="string")return e;let r={},[n,s]=e.split("=",2);return r.id=n,s Line truncated
`)[0])}static async isHeadDetached(){return await t.exec(["branch","--show-current"]).then(e=>e.length==0)}static async getDetachedRef(){let e=await t.exec(["show","-s","--pretty=%D"]);b(`detached HEAD ref: ${e}`);let r=e.replace(/^grafted, /,"").trim();if(r==="HEAD")return await t.inferRefFromHead();let n=r.match(/^HEAD, (.*)$/);if(!n||!n[1])throw new Error(`Cannot find detached HEAD ref in "${e}"`);let s=n[1].trim();if(s.startsWith("tag: "))return await t.findDetachedTagRef(s,e);if(s.match(/^pull\/\d+\/(head|merge)$/))return`refs/${s}`;let a=s.match(/^[^/]+\/[^/]+, (.+)$/);if(a)return`refs/heads/${a[1].trim()}`;let c=s.match(/^[^/]+\/(.+)$/);if(c)return`refs/heads/${c[1].trim()}`;throw new Error(`Unsupported detached HEAD ref in "${e}"`)}static async exec(e=[]){return await Y.getExecOutput("git",e,{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stderr.length>0&&r.exitCode!=0)throw new Error(r.stderr);return r.stdout.trim()})}static async inferRefFromHead(){let e=await t.findContainingRef("refs/heads/");if(e)return e;let r=await t.findContainingRef("refs/remotes/");if(r){let i=r.match(/^refs\/remotes\/[^/]+\/(.+)$/);return i?`refs/heads/${i[1]}`:r}let n=await t.exec(["tag","--contains","HEAD"]),[s]=n.split(`
`).map(i=>i.trim()).filter(i=>i.length>0);if(s)return`refs/tags/${s}`;throw new Error("Cannot infer ref from detached HEAD")}static async findDetachedTagRef(e,r){let s=(await t.exec(["for-each-ref","--format=%(refname)","--points-at","HEAD","refs/tags/"])).split(`
`).map(i=>i.trim()).filter(i=>i.length>0).sort((i,a)=>a.length-i.length);for(let i of s){let a=`tag: ${i.slice(10)}`;if(e===a||e.startsWith(`${a}, `))return i}if(s.length===1)return s[0];throw new Error(`Cannot find detached tag ref in "${r}"`)}static async findContainingRef(e){let r=await t.exec(["for-each-ref","--format=%(refname)","--contains","HEAD","--sort=-committerdate",e]),[n]=r.split(`
`).map(s=>s.trim()).filter(s=>s.length>0);return n}static async commitDate(e){return new Date(await t.exec(["show","-s",'--format="%ci"',e]))}};var pue=require("crypto"),Yo=w(require("fs"),1),Wo=w(require("path"),1);var yf=w(SU(),1),fue=w(U2(),1),Cf=w(lue(),1);var Vq=w(SU(),1);var due=w(Ni(),1);var uue="application/vnd.oci.empty.v1+json";var $o=class{static{o(this,"Cosign")}binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"cosign",this._version="",this._versionOnce=!1}async isAvailable(){let e=await Y.getExecOutput(this.binPath,[],{ignoreReturnCode:!0,silent:!0}).then(r=>r.stderr.length>0&&r.exitCode!=0?(b(`Cosign.isAvailable cmd err: ${r.stderr.trim()}`),!1):r.exitCode==0).catch(r=>(b(`Cosign.isAvailable error: ${r}`),!1));return b(`Cosign.isAvailable: ${e}`),e}async version(){return this._versionOnce?this._version:(this._versionOnce=!0,this._version=await Y.getExecOutput(this.binPath,["version","--json"],{ignoreReturnCode:!0,silent:!0}).then(e=>{if(e.stderr.length>0&&e.exitCode!=0)throw new Error(e.stderr.trim());return JSON.parse(e.stdout.trim()).gitVersion}),this._version)}async printVersion(){await Y.exec(this.binPath,["version","--json"],{failOnStdErr:!1})}async versionSatisfies(e,r){let n=r??await this.version();if(!n)return b("Cosign.versionSatisfies false: undefined version"),!1;let s=due.satisfies(n,e)||/^[0-9a-f]{7}$/.exec(n)!==null;return b(`Cosign.versionSatisfies ${n} statisfies ${e}: ${s}`),s}static parseCommandOutput(e){let r,n,s,i;for(let a of e.split(/\r?\n/)){let c=a.trim();if(!c.startsWith("{")||!c.endsWith("}"))continue;let l;try{l=JSON.parse(c)}catch{continue}if(l&&Array.isArray(l.errors)&&l.errors.length>0&&(i=l.errors),!r&&l&&Array.isArray(l.manifests)&&l.manifests.length>0){let u=l.manifests[0];u?.artifactType===Vq.BUNDLE_V03_MEDIA_TYPE&&typeof u.digest=="string"?r=u.digest:u?.artifactType===uue&&typeof u.digest=="string"&&(n=u.digest)}if(!s&&l&&l.mediaType===Vq.BUNDLE_V03_MEDIA_TYPE&&(s=l),s&&(r||n)){i=void 0;break}}return{bundle:s,signatureManifestDigest:r||n,errors:i}}};var zq=w(require("fs"),1);var GN=class t{static{o(this,"ImageTools")}buildx;constructor(e){this.buildx=e?.buildx||new _e}async getCommand(e){return await this.buildx.getCommand(["imagetools",...e])}async getInspectCommand(e){return await this.getCommand(["inspect",...e])}async getCreateCommand(e){return await this.getCommand(["create",...e])}async inspectImage(e){return await this.inspect(e,"{{json .Image}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"config"),r;throw new Error("Unexpected output format")})}async inspectManifest(e){return await this.inspect(e,"{{json .Manifest}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"manifests"),r;throw new Error("Unexpected output format")})}async attestationDescriptors(e){let r=await this.inspectManifest(e);if(typeof r!="object"||r===null||!("manifests"in r)||!Array.isArray(r.manifests))throw new Error(`No descriptor found for ${e.name}`);let n=r.manifests.filter(a=>a.annotations?.["vnd.docker.reference.type"]==="attestation-manifest");if(!e.platform)return n;let s=e.platform,i=new Map;for(let a of r.manifests)a.digest&&i.set(a.digest,a);return n.filter(a=>{let c=a.annotations?.["vnd.docker.reference.digest"];if(!c)return!1;let l=i.get(c);return l?l.platform?.os===s.os&&l.platform?.architecture===s.architecture&&(l.platform?.variant??"")===(s.variant??""):!1})}async attestationDigests(e){return(await this.attestationDescriptors(e)).map(r=>r.digest)}async create(e){let r=[],n=Oe.tmpName({tmpdir:Oe.tmpDir(),template:"imagetools-metadata-XXXXXX"}),s=[],i=[];for(let c of e.sources){if(c.startsWith("cwd://")){let l=c.substring(6);l.length>0&&s.push(l);continue}i.push(c)}if(e.tags)for(let c of e.tags)r.push("--tag",c);if(e.platforms)for(let c of e.platforms)r.push("--platform",c);if(e.annotations)for(let c of e.annotations)r.push("--annotation",c);e.dryRun?r.push("--dry-run"):r.push("--metadata-file",n);for(let c of s)r.push("--file",c);for(let c of i)r.push(c);let a=await this.getCreateCommand(r);if(e.skipExec){S(`[command]${a.command} ${a.args.join(" ")}`),S("Skipped create command");return}return await Y.getExecOutput(a.command,a.args,{ignoreReturnCode:!0,silent:e.silent}).then(c=>{if(c.stderr.length>0&&c.exitCode!=0)throw new Error(c.stderr.trim());if(!e.dryRun){if(!zq.default.existsSync(n))return;let l=zq.default.readFileSync(n,{encoding:"utf-8"}).trim();if(l===""||l==="null")return;let u=JSON.parse(l),d=u["containerimage.descriptor"];return d?{digest:u["containerimage.digest"]||d.digest,descriptor:d,imageNames:u["image.name"]?u["image.name"].split(",").map(A=>A.trim()):[]}:void 0}})}async inspect(e,r,n){let s=await this.getInspectCommand([e.name,"--format",r]);if(!e.retryOnManifestUnknown)return await this.execInspect(s.command,s.args,n);let i=e.retryLimit??15,a;for(let c=0;c<i;c++)try{return await this.execInspect(s.command,s.args,n)}ca Line truncated
${a.message}`),await new Promise(u=>setTimeout(u,Math.pow(2,c)*100))}throw a??new Error(`ImageTools inspect command failed for ${e.name}`)}async execInspect(e,r,n){return await Y.getExecOutput(e,r,{ignoreReturnCode:!0,silent:!0}).then(s=>{if(s.stderr.length>0&&s.exitCode!=0)throw new Error(s.stderr.trim());return n(JSON.parse(s.stdout))})}static isManifestUnknownError(e){return/(MANIFEST_UNKNOWN|manifest unknown)/i.test(e)||/:\s*not found$/i.test(e)}};var dd="https://search.sigstore.dev";var Aue="slsaprovenance1",ml=class t{static{o(this,"Sigstore")}cosign;imageTools;constructor(e){this.cosign=e?.cosign||new $o,this.imageTools=e?.imageTools||new GN}async signAttestationManifests(e){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to sign attestation manifests");let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let n=await this.cosignSigningConfigArgs(e.noTransparencyLog);for(let s of e.imageNames){let i=await this.imageTools.attestationDigests({name:`${s}@${e.imageDigest}`,retryOnManifestUnknown:e.retryOnManifestUnknown,retryLimit:e.retryLimit});for(let a of i){let c=`${s}@${a}`;await it(`Signing attestation manifest ${c}`,async()=>{let l=["sign","--yes","--oidc-provider","github-actions","--registry-referrers-mode","oci-1-1","--new-bundle-format",...n];S(`[command]${this.cosign.binPath} ${[...l,c].join(" ")}`);let u=await Y.getExecOutput(this.cosign.binPath,["--verbose",...l,c],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),d=$o.parseCommandOutput(u.stderr.trim());if(u.exitCode!=0)if(d.errors&&d.errors.length>0){let p=d.errors.map(f=>`- [${f.code}] ${f.message} : ${f.detail}`).join(`
`);throw new Error(`Cosign sign command failed with errors:
${p}`)}else throw new Error(`Cosign sign command failed with: ${u.stderr.trim().split(/\r?\n/).filter(p=>p.length>0).pop()??"unknown error"}`);let A=t.parseBundle((0,yf.bundleFromJSON)(d.bundle));A.tlogID&&S(`Uploaded to Rekor transparency log: ${dd}?logIndex=${A.tlogID}`),S(`Signature manifest pushed: https://oci.dag.dev/?referrers=${c}`),r[c]={...A,imageName:s}})}}}catch(n){throw new Error(`Signing BuildKit attestation manifests failed: ${n.message}`)}return r}async verifySignedManifests(e,r){let n={};for(let[s,i]of Object.entries(e))await it(`Verifying signature of ${s}`,async()=>{let a=await this.verifyImageAttestation(s,{certificateIdentityRegexp:r.certificateIdentityRegexp,noTransparencyLog:r.noTransparencyLog||!i.tlogID,retryOnManifestUnknown:r.retryOnManifestUnknown,retryLimit:r.retryLimit});S(`Signature manifest verified: https://oci.dag.dev/?image=${i.imageName}@${a.signatureManifestDigest}`),n[s]=a});return n}async verifyImageAttestations(e,r){let n={},s=await this.imageTools.attestationDigests({name:e,platform:r.platform,retryOnManifestUnknown:r.retryOnManifestUnknown,retryLimit:r.retryLimit});if(s.length===0)throw new Error(`No attestation manifests found for ${e}`);let i=e.split(":",1)[0];for(let a of s){let c=`${i}@${a}`,l=await this.verifyImageAttestation(c,r);S(`Signature manifest verified: https://oci.dag.dev/?image=${i}@${l.signatureManifestDigest}`),n[c]=l}return n}async verifyImageAttestation(e,r){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed manifests");let n=["verify","--experimental-oci11","--new-bundle-format","--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp];if(r.noTransparencyLog&&n.push("--use-signed-timestamps","--insecure-ignore-tlog"),!r.retryOnManifestUnknown){S(`[command]${this.cosign.binPath} ${[...n,e].join(" ")}`);let a=await Y.getExecOutput(this.cosign.binPath,["--verbose",...n,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})});if(a.exitCode!==0)throw new Error(`Cosign verify command failed with: ${a.stderr.trim().split(/\r?\n/).filter(l=>l.length>0).pop()??"unknown error"}`);let c=$o.parseCommandOutput(a.stderr.trim());return{cosignArgs:n,signatureManifestDigest:c.signatureManifestDigest}}let s=r.retryLimit??15,i;S(`[command]${this.cosign.binPath} ${[...n,e].join(" ")}`);for(let a=0;a<s;a++){let c=await Y.getExecOutput(this.cosign.binPath,["--verbose",...n,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),l=$o.parseCommandOutput(c.stderr.trim());if(c.exitCode===0)return{cosignArgs:n,signatureManifestDigest:l.signatureManifestDigest};if(l.errors&&l.errors.length>0){let u=l.errors.map(d=>`- [${d.code}] ${d.message} : ${d.detail}`).join(`
`);if(i=new Error(`Cosign verify command failed with errors:
${u}`),l.errors.some(d=>d.code==="MANIFEST_UNKNOWN"))S(`Cosign verify command failed with MANIFEST_UNKNOWN, retrying attempt ${a+1}/${s}...
${u}`),await new Promise(d=>setTimeout(d,Math.pow(2,a)*100));else throw i}else throw new Error(`Cosign verify command failed with: ${c.stderr.trim().split(/\r?\n/).filter(u=>u.length>0).pop()??"unknown error"}`)}throw i}async signProvenanceBlobs(e){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to sign provenance blobs");let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let n=await this.cosignSigningConfigArgs(e.noTransparencyLog),s=t.getProvenanceBlobs(e);for(let i of Object.keys(s))await it(`Signing ${i}`,async()=>{let a=s[i],c=Wo.default.join(Wo.default.dirname(i),`${e.name??"provenance"}.sigstore.json`),l=t.getProvenanceSubjects(a);if(l.length===0){Ve(`No subjects found in provenance ${i}, skip signing.`);return}let u=Wo.default.join(Wo.default.dirname(i),l[0].name),d=["attest-blob","--yes","--oidc-provider","github-actions","--new-bundle-format","--statement",i,"--type",Aue,"--bundle",c,...n];S(`[command]${this.cosign.binPath} ${[...d,u].join(" ")}`);let A=await Y.getExecOutput(this.cosign.binPath,["--verbose",...d,u],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),p=$o.parseCommandOutput(A.stderr.trim());if(A.exitCode!=0)if(p.errors&&p.errors.length>0){let h=p.errors.map(g=>`- [${g.code}] ${g.message} : ${g.detail}`).join(`
`);throw new Error(`Cosign attest-blob command failed with errors:
${h}`)}else throw new Error(`Cosign attest-blob command failed with: ${A.stderr.trim().split(/\r?\n/).filter(h=>h.length>0).pop()??"unknown error"}`);let f=t.parseBundle((0,yf.bundleFromJSON)(JSON.parse(Yo.default.readFileSync(c,{encoding:"utf-8"}))));S("Provenance blob signed for:");for(let h of l){let[g,y]=Object.entries(h.digest)[0]||[];S(` - ${h.name} (${g}:${y})`)}f.tlogID&&S(`Attestation signature uploaded to Rekor transparency log: ${dd}?logIndex=${f.tlogID}`),S(`Sigstore bundle written to: ${c}`),r[i]={...f,bundlePath:c,subjects:l}})}catch(n){throw new Error(`Signing BuildKit provenance blobs failed: ${n.message}`)}return r}async verifySignedArtifacts(e,r){let n={};if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed artifacts");for(let[s,i]of Object.entries(e)){let a=Wo.default.dirname(s);await it(`Verifying signature bundle ${i.bundlePath}`,async()=>{for(let c of i.subjects){let l=Wo.default.join(a,c.name);S(`Verifying signed artifact ${l}`);let u=["verify-blob-attestation","--new-bundle-format","--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp,"--type",r.predicateType??Aue];(r.noTransparencyLog||!i.tlogID)&&u.push("--use-signed-timestamps","--insecure-ignore-tlog");let d=await Y.getExecOutput(this.cosign.binPath,[...u,"--bundle",i.bundlePath,l],{ignoreReturnCode:!0});if(d.stderr.length>0&&d.exitCode!=0)throw new Error(d.stderr);n[l]={bundlePath:i.bundlePath,cosignArgs:u}}})}return n}async verifyArtifact(e,r,n){S("Verifying keyless verification bundle signature");let s=JSON.parse(Yo.default.readFileSync(r,"utf-8")),i=(0,yf.bundleFromJSON)(s);S("Fetching Sigstore TUF trusted root metadata");let a=await fue.getTrustedRoot(),c=(0,Cf.toTrustMaterial)(a);try{S("Verifying artifact signature");let l=(0,Cf.toSignedEntity)(i,Yo.default.readFileSync(e)),u=t.parseCertificate(i),d=i.verificationMaterial.tlogEntries,A=d.length>0?d[0].logIndex:void 0;if(n?.subjectAlternativeName&&n?.subjectAlternativeName instanceof RegExp){let h=u.subjectAltName?.replace(/^uri:/i,"");if(h){if(!h.match(n.subjectAlternativeName))throw new Error(`Signing certificate subjectAlternativeName "${h}" does not match expected pattern`)}else throw new Error("Signing certificate does not contain subjectAltName")}let f=new Cf.Verifier(c).verify(l,{subjectAlternativeName:n?.subjectAlternativeName&&typeof n.subjectAlternativeName=="string"?n.subjectAlternativeName:void 0,extensions:n?.issuer?{issuer:n.issuer}:void 0});return b(`Sigstore.verifyArtifact signer: ${JSON.stringify(f)}`),{payload:s,certificate:u.toString(),tlogID:A}}catch(l){throw new Error(`Failed to verify artifact signature: ${l}`)}}static noTransparencyLog(e){return e??We.context.payload.repository?.private??!1}async cosignSigningConfigArgs(e){let r=[],n=t.noTransparencyLog(e);return S(`Upload to transparency log: ${n?"disabled":"enabled"}`),await this.cosign.versionSatisfies(">=3.0.4")?await it("Creating Sigstore protobuf signing config",async()=>{let s=Oe.tmpName({template:"signing-config-XXXXXX.json",tmpdir:Oe.tmpDir()}),i=["signing-config","create","--with-default-services=true",`--out=${s}`];n&&i.push("--no-default-rekor=true"),await Y.exec(this.cosign.binPath,i,{env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),S(JSON.stringify(JSON.parse(Yo.default.readFileSync(s,{encoding:"utf-8"})),null,2)),r.push(`--signing-config=${s}`)}):(r.push("--use-signing-config"),n&&r.push("--tlog-upload=false")),r}static getProvenanceBlobs(e){let r=Wo.default.join(e.localExportDir,"provenance.json");if(Yo.default.existsSync(r))return{[r]:Yo.default.readFileSync(r)};let n=Yo.default.readdirSync(e.localExportDir,{withFileTypes:!0}),s=n.filter(i=>i.isDirectory());if(s.length>0&&s.length===n.length&&s.every(i=>Yo.default.existsSync(Wo.default.join(e.localExportDir,i.name,"provenance.json")))){let i={};for(let a of s){let c=Wo.default.join(e.localExportDir,a.name,"provenance.json");i[c]=Yo.default.readFileSync(c)}return i}throw new Error(`No valid provenance.json found in ${e.localExportDir}`)}static getProvenanceSubjects(e){return JSON.parse(e.toString()).subject.map(n=>({name:n.name,digest:n.digest}))}static parseBundle(e){let r=t.parseCertificate(e),n=e.verificationMaterial.tlogEntries,s=n.length>0?n[0].logIndex:void 0;return{payload:(0,yf.bundleToJSON)(e),certificate:r.toString(),tlogID:s}}static parseCertificate(e){let r;switch(e.verificationMaterial.content.$case){case"x509CertificateChain":r=e.verificationMaterial.content.x509CertificateChain.certificates[0].rawBytes;break;case"certificate":r=e.verificationMaterial.content.certificate.rawBytes;break;default:throw new Error("Bundle must contain an x509 certificate")}return new pue.X509Certificate(r)}};var HN=class t{static{o(this,"Install")}standalone;githubToken;sigstore;constructor(e){this.standalone=e?.standalone,this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN,this.sigstore=e?.sigstore||new ml}as Line truncated
# syntax=docker/dockerfile:1
ARG GO_VERSION="1.24"
ARG ALPINE_VERSION="3.22"
FROM --platform=$BUILDPLATFORM tonistiigi/xx:1.7.0 AS xx
FROM --platform=$BUILDPLATFORM golang:\${GO_VERSION}-alpine\${ALPINE_VERSION} AS builder-base
COPY --from=xx / /
RUN apk add --no-cache git
ENV GOTOOLCHAIN=auto
ENV CGO_ENABLED=0
WORKDIR /src
RUN --mount=type=cache,target=/go/pkg/mod \\
--mount=type=bind,source=go.mod,target=go.mod \\
--mount=type=bind,source=go.sum,target=go.sum \\
go mod download
FROM builder-base AS version
RUN --mount=type=bind,target=. <<'EOT'
git rev-parse HEAD 2>/dev/null || {
echo >&2 "Failed to get git revision, make sure --build-arg BUILDKIT_CONTEXT_KEEP_GIT_DIR=1 is set when building from Git directly"
exit 1
}
set -ex
export PKG=sigs.k8s.io BUILDDATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") TREESTATE=$(if ! git diff --no-ext-diff --quiet --exit-code; then echo dirty; else echo clean; fi) VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags) COMMIT=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi);
echo "-X \${PKG}/release-utils/version.gitVersion=\${VERSION} -X \${PKG}/release-utils/version.gitCommit=\${COMMIT} -X \${PKG}/release-utils/version.gitTreeState=\${TREESTATE} -X \${PKG}/release-utils/version.buildDate=\${BUILDDATE}" > /tmp/.ldflags;
echo -n "\${VERSION}" > /tmp/.version;
EOT
FROM builder-base AS builder
ARG TARGETPLATFORM
RUN --mount=type=bind,target=. \\
--mount=type=cache,target=/root/.cache,id=cosign-$TARGETPLATFORM \\
--mount=source=/tmp/.ldflags,target=/tmp/.ldflags,from=version \\
--mount=type=cache,target=/go/pkg/mod <<EOT
set -ex
xx-go build -trimpath -ldflags "-s -w $(cat /tmp/.ldflags)" -o /out/cosign ./cmd/cosign
xx-verify --static /out/cosign
EOT
FROM scratch
COPY --from=builder /out /
`;var jN=class t{static{o(this,"Install")}githubToken;buildx;sigstore;constructor(e){this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN,this.buildx=e?.buildx||new _e,this.sigstore=e?.sigstore||new ml}async download(e){let r=await t.getDownloadVersion(e.version);b(`Install.download version: ${r.version}`);let n=await t.getRelease(r,this.githubToken);b(`Install.download release tag name: ${n.tag_name}`);let s=await this.vspec(n.tag_name);b(`Install.download vspec: ${s}`);let i=wf.clean(s)||"";if(!wf.valid(i))throw new Error(`Invalid Cosign version "${s}".`);let a=new mr({htcName:"cosign-dl-bin",htcVersion:s,baseCacheDir:bf.default.join(Ti.default.homedir(),".bin"),cacheFile:Ti.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:e.ghaNoCache}),c=await a.find();if(c)return S(`Cosign binary found in ${c}`),c;let l=Yq.format(r.downloadURL,s,this.filename());S(`Downloading ${l}`);let u=await Ss(l,void 0,this.githubToken);b(`Install.download htcDownloadPath: ${u}`),e.verifySignature&&wf.satisfies(s,">=3.0.1")&&await this.verifySignature(u,l);let d=await a.save(u,e.skipState);return S(`Cached to ${d}`),d}async build(e,r,n){let s=await this.vspec(e);b(`Install.build vspec: ${s}`);let i=new mr({htcName:"cosign-build-bin",htcVersion:s,baseCacheDir:bf.default.join(Ti.default.homedir(),".bin"),cacheFile:Ti.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:r}),a=await i.find();if(a)return S(`Cosign binary found in ${a}`),a;let c=bf.default.join(Oe.tmpDir(),"cosign-build-cache"),l=await this.buildCommand(e,c),u=await Y.getExecOutput(l.command,l.args,{ignoreReturnCode:!0,input:Buffer.from(mue)}).then(A=>{if(A.stderr.length>0&&A.exitCode!=0)throw new Error(`build failed with: ${A.stderr.match(/(.*)\s*$/)?.[0]?.trim()??"unknown error"}`);return`${c}/cosign`}),d=await i.save(u,n);return S(`Cached to ${d}`),d}async install(e,r){r=r||Oe.tmpDir();let n=bf.default.join(r,"cosign-bin");xE.default.existsSync(n)||xE.default.mkdirSync(n,{recursive:!0});let s=Ti.default.platform()=="win32"?"cosign.exe":"cosign",i=bf.default.join(n,s);return xE.default.copyFileSync(e,i),S("Fixing perms"),xE.default.chmodSync(i,"0755"),Ji(n),S("Added Cosign to PATH"),S(`Binary path: ${i}`),i}async buildCommand(e,r){let n=await new _e({standalone:!0}).isAvailable(),s=await new _e({standalone:!1}).isAvailable(),i=!1;if(await this.buildx.isStandalone()&&n)b("Install.buildCommand: Buildx standalone found, build with it"),i=!0;else if(!await this.buildx.isStandalone()&&s)b("Install.buildCommand: Buildx plugin found, build with it"),i=!1;else if(n)b("Install.buildCommand: Buildx plugin not found, but standalone found so trying to build with it"),i=!0;else if(s)b("Install.buildCommand: Buildx standalone not found, but plugin found so trying to build with it"),i=!1;else throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${e}`);let a=["build","--platform","local","--build-arg","BUILDKIT_CONTEXT_KEEP_GIT_DIR=1","--output",`type=local,dest=${r}`];return process.env.GIT_AUTH_TOKEN&&a.push("--secret","id=GIT_AUTH_TOKEN"),a.push("-f-",e),await new _e({standalone:i}).getCommand(a)}async verifySignature(e,r){let n=`${r}.sigstore.json`;S(`Downloading keyless verification bundle at ${n}`);let s=await Ss(n,void 0,this.githubToken);b(`Install.verifySignature bundlePath: ${s}`);let i=await this.sigstore.verifyArtifact(e,s,{subjectAlternativeName:"keyless@projectsigstore.iam.gserviceaccount.com",issuer:"https://accounts.google.com"});S(`Cosign binary signature verified! ${i.tlogID?`${dd}?logIndex=${i.tlogID}`:""}`)}filename(){let e;switch(Ti.default.arch()){case"x64":{e="amd64";break}case"ppc64":{e="ppc64le";break}default:{e=Ti.default.arch();break}}let r=Ti.default.platform()=="win32"?"windows":Ti.default.platform(),n=Ti.default.platform()=="win32"?".exe":"";return Yq.format("cosign-%s-%s%s",r,e,n)}async vspec(e){if(!Me.isValidRef(e)){let u=e.replace(/^v+|v+$/g,"");return S(`Use ${u} version spec cache key for ${e}`),u}let[r,n]=e.split("#");n.length==0&&(n="master");let s;n.match(/^[0-9a-fA-F]{40}$/)?s=n:s=await qp.remoteSha(r,n,process.env.GIT_AUTH_TOKEN);let[i,a]=r.substring(19).split("/"),c=`${i}/${Me.trimSuffix(a,".git")}/${s}`,l=Me.hash(c);return S(`Use ${l} version spec cache key for ${c}`),l}static async getDownloadVersion(e){return{version:e,downloadURL:"https://github.com/sigstore/cosign/releases/download/v%s/%s",contentOpts:{owner:"docker",repo:"actions-toolkit",ref:"main",path:".github/cosign-releases.json"}}}static async getRelease(e,r){let s=await new We({token:r}).releases("Cosign",e.contentOpts);if(!s[e.version])throw new Error(`Cannot find Cosign release ${e.version} in releases JSON`);return s[e.version]}};var gue=w(Ni(),1);var KN=class{static{o(this,"Regctl")}binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"regctl",this._version="",this._versionOnce=!1}async blobGet(e){return await Y.getExecOutput(this.binPath,["blob","get",e.repository,e.digest],{ignoreReturnCode:!0,silen Line truncated
/*! Bundled license information:
undici/lib/web/fetch/body.js:
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
undici/lib/web/websocket/frame.js:
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
tmp/lib/tmp.js:
(*!
* Tmp
*
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
*
* MIT Licensed
*)
js-yaml/dist/js-yaml.mjs:
(*! js-yaml 5.2.0 https://github.com/nodeca/js-yaml @license MIT *)
@octokit/request-error/dist-src/index.js:
(* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
@octokit/request/dist-bundle/index.js:
(* v8 ignore next -- @preserve *)
(* v8 ignore else -- @preserve *)
*/
//# sourceMappingURL=index.cjs.map
Generated Vendored
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../node_modules/tunnel/lib/tunnel.js", "../node_modules/tunnel/index.js", "../node_modules/undici/lib/core/symbols.js", "../node_modules/undici/lib/core/errors.js", "../node_modules/undici/lib/core/constants.js", "../node_modules/undici/lib/core/tree.js", "../node_modules/undici/lib/core/util.js", "../node_modules/undici/lib/core/diagnostics.js", "../node_modules/undici/lib/core/request.js", "../node_modules/undici/lib/dispatcher/dispatcher.js", "../node_modules/undici/lib/dispatcher/dispatcher-base.js", "../node_modules/undici/lib/util/timers.js", "../node_modules/undici/lib/core/connect.js", "../node_modules/undici/lib/llhttp/utils.js", "../node_modules/undici/lib/llhttp/constants.js", "../node_modules/undici/lib/llhttp/llhttp-wasm.js", "../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js", "../node_modules/undici/lib/web/fetch/constants.js", "../node_modules/undici/lib/web/fetch/global.js", "../node_modules/undici/lib/web/fetch/data-url.js", "../node_modules/undici/lib/web/fetch/webidl.js", "../node_modules/undici/lib/web/fetch/util.js", "../node_modules/undici/lib/web/fetch/symbols.js", "../node_modules/undici/lib/web/fetch/file.js", "../node_modules/undici/lib/web/fetch/formdata.js", "../node_modules/undici/lib/web/fetch/formdata-parser.js", "../node_modules/undici/lib/web/fetch/body.js", "../node_modules/undici/lib/dispatcher/client-h1.js", "../node_modules/undici/lib/dispatcher/client-h2.js", "../node_modules/undici/lib/handler/redirect-handler.js", "../node_modules/undici/lib/interceptor/redirect-interceptor.js", "../node_modules/undici/lib/dispatcher/client.js", "../node_modules/undici/lib/dispatcher/fixed-queue.js", "../node_modules/undici/lib/dispatcher/pool-stats.js", "../node_modules/undici/lib/dispatcher/pool-base.js", "../node_modules/undici/lib/dispatcher/pool.js", "../node_modules/undici/lib/dispatcher/balanced-pool.js", "../node_modules/undici/lib/dispatcher/agent.js", "../node_modules/undici/lib/dispatcher/proxy-agent.js", "../node_modules/undici/lib/dispatcher/env-http-proxy-agent.js", "../node_modules/undici/lib/handler/retry-handler.js", "../node_modules/undici/lib/dispatcher/retry-agent.js", "../node_modules/undici/lib/api/readable.js", "../node_modules/undici/lib/api/util.js", "../node_modules/undici/lib/api/api-request.js", "../node_modules/undici/lib/api/abort-signal.js", "../node_modules/undici/lib/api/api-stream.js", "../node_modules/undici/lib/api/api-pipeline.js", "../node_modules/undici/lib/api/api-upgrade.js", "../node_modules/undici/lib/api/api-connect.js", "../node_modules/undici/lib/api/index.js", "../node_modules/undici/lib/mock/mock-errors.js", "../node_modules/undici/lib/mock/mock-symbols.js", "../node_modules/undici/lib/mock/mock-utils.js", "../node_modules/undici/lib/mock/mock-interceptor.js", "../node_modules/undici/lib/mock/mock-client.js", "../node_modules/undici/lib/mock/mock-pool.js", "../node_modules/undici/lib/mock/pluralizer.js", "../node_modules/undici/lib/mock/pending-interceptors-formatter.js", "../node_modules/undici/lib/mock/mock-agent.js", "../node_modules/undici/lib/global.js", "../node_modules/undici/lib/handler/decorator-handler.js", "../node_modules/undici/lib/interceptor/redirect.js", "../node_modules/undici/lib/interceptor/retry.js", "../node_modules/undici/lib/interceptor/dump.js", "../node_modules/undici/lib/interceptor/dns.js", "../node_modules/undici/lib/web/fetch/headers.js", "../node_modules/undici/lib/web/fetch/response.js", "../node_modules/undici/lib/web/fetch/dispatcher-weakref.js", "../node_modules/undici/lib/web/fetch/request.js", "../node_modules/undici/lib/web/fetch/index.js", "../node_modules/undici/lib/web/fileapi/symbols.js", "../node_modules/undici/lib/web/fileapi/progressevent.js", "../node_modules/undici/lib/web/fileapi/encoding.js", "../node_modules/undici/lib/web/fileapi/util.js", "../node_modules/undici/lib/web/fileapi/filereader.js", "../node_modules/undici/lib/web/cache/symbols.js", "../node_modules/undici/lib/web/cache/util.js", "../node_modules/undici/lib/web/cache/cache.js", "../node_modules/undici/lib/web/cache/cachestorage.js", "../node_modules/undici/lib/web/cookies/constants.js", "../node_modules/undici/lib/web/cookies/util.js", "../node_modules/undici/lib/web/cookies/parse.js", "../node_modules/undici/lib/web/cookies/index.js", "../node_modules/undici/lib/web/websocket/events.js", "../node_modules/undici/lib/web/websocket/constants.js", "../node_modules/undici/lib/web/websocket/symbols.js", "../node_modules/undici/lib/web/websocket/util.js", "../node_modules/undici/lib/web/websocket/frame.js", "../node_modules/undici/lib/web/websocket/connection.js", "../node_modules/undici/lib/web/websocket/permessage-deflate.js", "../node_modules/undici/lib/web/websocket/receiver.js", "../node_modules/undici/lib/web/websocket/sender.js", "../node_modules/undici/lib/web/websocket/websocket.js", "../node_modules/undici/lib/web/eventsource/util.js", "../node_modules/undici/lib/web/eventsource/eventsource-stream.js",Line truncated
"sourcesContent": ["'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('Line truncated
"mappings": "ipBAAA,IAAAA,GAAAC,EAAAC,IAAA,cAEA,IAAIC,IAAM,QAAQ,KAAK,EACnBC,IAAM,QAAQ,KAAK,EACnBC,GAAO,QAAQ,MAAM,EACrBC,GAAQ,QAAQ,OAAO,EACvBC,IAAS,QAAQ,QAAQ,EACzBC,IAAS,QAAQ,QAAQ,EACzBC,IAAO,QAAQ,MAAM,EAGzBP,GAAQ,aAAeQ,IACvBR,GAAQ,cAAgBS,IACxBT,GAAQ,cAAgBU,IACxBV,GAAQ,eAAiBW,IAGzB,SAASH,IAAaI,EAAS,CAC7B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACdU,CACT,CAJSE,EAAAP,IAAA,gBAMT,SAASC,IAAcG,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACrBU,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAN,IAAA,iBAQT,SAASC,IAAcE,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACfS,CACT,CAJSE,EAAAL,IAAA,iBAMT,SAASC,IAAeC,EAAS,CAC/B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACtBS,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAJ,IAAA,kBAST,SAASG,GAAeF,EAAS,CAC/B,IAAIK,EAAO,KACXA,EAAK,QAAUL,GAAW,CAAC,EAC3BK,EAAK,aAAeA,EAAK,QAAQ,OAAS,CAAC,EAC3CA,EAAK,WAAaA,EAAK,QAAQ,YAAcd,GAAK,MAAM,kBACxDc,EAAK,SAAW,CAAC,EACjBA,EAAK,QAAU,CAAC,EAEhBA,EAAK,GAAG,OAAQF,EAAA,SAAgBG,EAAQC,EAAMC,EAAMC,EAAc,CAEhE,QADIT,EAAUU,GAAUH,EAAMC,EAAMC,CAAY,EACvCE,EAAI,EAAGC,EAAMP,EAAK,SAAS,OAAQM,EAAIC,EAAK,EAAED,EAAG,CACxD,IAAIE,EAAUR,EAAK,SAASM,CAAC,EAC7B,GAAIE,EAAQ,OAASb,EAAQ,MAAQa,EAAQ,OAASb,EAAQ,KAAM,CAGlEK,EAAK,SAAS,OAAOM,EAAG,CAAC,EACzBE,EAAQ,QAAQ,SAASP,CAAM,EAC/B,MACF,CACF,CACAA,EAAO,QAAQ,EACfD,EAAK,aAAaC,CAAM,CAC1B,EAdgB,SAcf,CACH,CAvBSH,EAAAD,GAAA,kBAwBTP,IAAK,SAASO,GAAgBT,IAAO,YAAY,EAEjDS,GAAe,UAAU,WAAaC,EAAA,SAAoBW,EAAKP,EAAMC,EAAMC,EAAc,CACvF,IAAIJ,EAAO,KACPL,EAAUe,GAAa,CAAC,QAASD,CAAG,EAAGT,EAAK,QAASK,GAAUH,EAAMC,EAAMC,CAAY,CAAC,EAE5F,GAAIJ,EAAK,QAAQ,QAAU,KAAK,WAAY,CAE1CA,EAAK,SAAS,KAAKL,CAAO,EAC1B,MACF,CAGAK,EAAK,aAAaL,EAAS,SAASM,EAAQ,CAC1CA,EAAO,GAAG,OAAQU,CAAM,EACxBV,EAAO,GAAG,QAASW,CAAe,EAClCX,EAAO,GAAG,cAAeW,CAAe,EACxCH,EAAI,SAASR,CAAM,EAEnB,SAASU,GAAS,CAChBX,EAAK,KAAK,OAAQC,EAAQN,CAAO,CACnC,CAFSG,EAAAa,EAAA,UAIT,SAASC,EAAgBC,EAAK,CAC5Bb,EAAK,aAAaC,CAAM,EACxBA,EAAO,eAAe,OAAQU,CAAM,EACpCV,EAAO,eAAe,QAASW,CAAe,EAC9CX,EAAO,eAAe,cAAeW,CAAe,CACtD,CALSd,EAAAc,EAAA,kBAMX,CAAC,CACH,EA5BsC,cA8BtCf,GAAe,UAAU,aAAeC,EAAA,SAAsBH,EAASmB,EAAI,CACzE,IAAId,EAAO,KACPe,EAAc,CAAC,EACnBf,EAAK,QAAQ,KAAKe,CAAW,EAE7B,IAAIC,EAAiBN,GAAa,CAAC,EAAGV,EAAK,aAAc,CACvD,OAAQ,UACR,KAAML,EAAQ,KAAO,IAAMA,EAAQ,KACnC,MAAO,GACP,QAAS,CACP,KAAMA,EAAQ,KAAO,IAAMA,EAAQ,IACrC,CACF,CAAC,EACGA,EAAQ,eACVqB,EAAe,aAAerB,EAAQ,cAEpCqB,EAAe,YACjBA,EAAe,QAAUA,EAAe,SAAW,CAAC,EACpDA,EAAe,QAAQ,qBAAqB,EAAI,SAC5C,IAAI,OAAOA,EAAe,SAAS,EAAE,SAAS,QAAQ,GAG5DC,GAAM,wBAAwB,EAC9B,IAAIC,EAAalB,EAAK,QAAQgB,CAAc,EAC5CE,EAAW,4BAA8B,GACzCA,EAAW,KAAK,WAAYC,CAAU,EACtCD,EAAW,KAAK,UAAWE,CAAS,EACpCF,EAAW,KAAK,UAAWG,CAAS,EACpCH,EAAW,KAAK,QAASI,CAAO,EAChCJ,EAAW,IAAI,EAEf,SAASC,EAAWI,EAAK,CAEvBA,EAAI,QAAU,EAChB,CAHSzB,EAAAqB,EAAA,cAKT,SAASC,EAAUG,EAAKtB,EAAQuB,EAAM,CAEpC,QAAQ,SAAS,UAAW,CAC1BH,EAAUE,EAAKtB,EAAQuB,CAAI,CAC7B,CAAC,CACH,CALS1B,EAAAsB,EAAA,aAOT,SAASC,EAAUE,EAAKtB,EAAQuB,EAAM,CAIpC,GAHAN,EAAW,mBAAmB,EAC9BjB,EAAO,mBAAmB,EAEtBsB,EAAI,aAAe,IAAK,CAC1BN,GAAM,2DACJM,EAAI,UAAU,EAChBtB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,yDACJF,EAAI,UAAU,EAChCE,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,GAAIS,EAAK,OAAS,EAAG,CACnBP,GAAM,sCAAsC,EAC5ChB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,sCAAsC,EAC5DA,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,OAAAE,GAAM,sCAAsC,EAC5CjB,EAAK,QAAQA,EAAK,QAAQ,QAAQe,CAAW,CAAC,EAAId,EAC3Ca,EAAGb,CAAM,CAClB,CA3BSH,EAAAuB,EAAA,aA6BT,SAASC,EAAQI,EAAO,CACtBR,EAAW,mBAAmB,EAE9BD,GAAM;AAAA,EACAS,EAAM,QAASA,EAAM,KAAK,EAChC,IAAID,EAAQ,IAAI,MAAM,oDACWC,EAAM,OAAO,EAC9CD,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,CAC/B,CAVSjB,EAAAwB,EAAA,UAWX,EAnFwC,gBAqFxCzB,GAAe,UAAU,aAAeC,EAAA,SAAsBG,EAAQ,CACpE,IAAI0B,EAAM,KAAK,QAAQ,QAAQ1B,CAAM,EACrC,GAAI0B,IAAQ,GAGZ,MAAK,QAAQ,OAAOA,EAAK,CAAC,EAE1B,IAAInB,EAAU,KAAK,SAAS,MAAM,EAC9BA,GAGF,KAAK,aAAaA,EAAS,SAASP,EAAQ,CAC1CO,EAAQ,QAAQ,SAASP,CAAM,CACjC,CAAC,EAEL,EAfwC,gBAiBxC,SAASF,GAAmBJ,EAASmB,EAAI,CACvC,IAAId,EAAO,KACXH,GAAe,UAAU,aAAa,KAAKG,EAAML,EAAS,SAASM,EAAQ,CACzE,IAAI2B,EAAajC,EAAQ,QAAQ,UAAU,MAAM,EAC7CkC,EAAanB,GAAa,CAAC,EAAGV,EAAK,QAAS,CAC9C,OAAQC,EACR,WAAY2B,EAAaA,EAAW,QAAQ,OAAQ,EAAE,EAAIjC,EAAQ,IACpE,CAAC,EAGGmC,EAAe7C,IAAI,QAAQ,EAAG4C,CAAU,EAC5C7B,EAAK,QAAQA,EAAK,QAAQ,QAAQC,CAAM,CAAC,EAAI6B,EAC7ChB,EAAGgB,CAAY,CACjB,CAAC,CACH,CAdShC,EAAAC,GAAA,sBAiBT,SAASM,GAAUH,EAAMC,EAAMC,EAAc,CAC3C,OAAI,OAAOF,GAAS,SACX,CACL,KAAMA,EACN,KAAMC,EACN,aAAcC,CAChB,EAEKF,CACT,CATSJ,EAAAO,GAAA,aAWT,SAASK,GAAaqB,EAAQ,CAC5B,QAASzB,EAAI,EAAGC,EAAM,UAAU,OAAQD,EAAIC,EAAK,EAAED,EAAG,CACpD,IAAI0B,EAAY,UAAU1B,CAAC,EAC3B,GAAI,OAAO0B,GAAc,SAEvB,QADIC,EAAO,OAAO,KAAKD,CAAS,EACvBE,EAAI,EAAGC,EAASF,EAAK,OAAQC,EAAIC,EAAQ,EAAED,EAAG,CACrD,IAAIE,EAAIH,EAAKC,CAAC,EACVF,EAAUI,CAAC,IAAM,SACnBL,EAAOK,CAAC,EAAIJ,EAAUI,CAAC,EAE3B,CAEJ,CACA,OAAOL,CACT,CAdSjC,EAAAY,GAAA,gBAiBT,IAAIO,GACA,QAAQ,IAAI,YAAc,aAAa,KAAK,QAAQ,IAAI,UAAU,EACpEA,GAAQnB,EAAA,UAAW,CACjB,IAAIuC,EAAO,MAAM,UAAU,MAAM,KAAK,SAAS,EAC3C,OAAOA,EAAK,CAAC,GAAM,SACrBA,EAAK,CAAC,EAAI,WALine truncated
"names": ["require_tunnel", "__commonJSMin", "exports", "net", "tls", "http", "https", "events", "assert", "util", "httpOverHttp", "httpsOverHttp", "httpOverHttps", "httpsOverHttps", "options", "agent", "TunnelingAgent", "__name", "createSecureSocket", "self", "socket", "host", "port", "localAddress", "toOptions", "i", "len", "pending", "req", "mergeOptions", "onFree", "onCloseOrRemove", "err", "cb", "placeholder", "connectOptions", "debug", "connectReq", "onResponse", "onUpgrade", "onConnect", "onError", "res", "head", "error", "cause", "pos", "hostHeader", "tlsOptions", "secureSocket", "target", "overrides", "keys", "j", "keyLen", "k", "args", "require_tunnel", "__commonJSMin", "exports", "module", "require_symbols", "__commonJSMin", "exports", "module", "require_errors", "__commonJSMin", "exports", "module", "kUndiciError", "UndiciError", "__name", "message", "instance", "kConnectTimeoutError", "ConnectTimeoutError", "kHeadersTimeoutError", "HeadersTimeoutError", "kHeadersOverflowError", "HeadersOverflowError", "kBodyTimeoutError", "BodyTimeoutError", "kResponseStatusCodeError", "ResponseStatusCodeError", "statusCode", "headers", "body", "kInvalidArgumentError", "InvalidArgumentError", "kInvalidReturnValueError", "InvalidReturnValueError", "kAbortError", "AbortError", "kRequestAbortedError", "RequestAbortedError", "kInformationalError", "InformationalError", "kRequestContentLengthMismatchError", "RequestContentLengthMismatchError", "kResponseContentLengthMismatchError", "ResponseContentLengthMismatchError", "kClientDestroyedError", "ClientDestroyedError", "kClientClosedError", "ClientClosedError", "kSocketError", "SocketError", "socket", "kNotSupportedError", "NotSupportedError", "kBalancedPoolMissingUpstreamError", "BalancedPoolMissingUpstreamError", "kHTTPParserError", "HTTPParserError", "code", "data", "kResponseExceededMaxSizeError", "ResponseExceededMaxSizeError", "kRequestRetryError", "RequestRetryError", "kResponseError", "ResponseError", "kSecureProxyConnectionError", "SecureProxyConnectionError", "cause", "options", "kMessageSizeExceededError", "MessageSizeExceededError", "require_constants", "__commonJSMin", "exports", "module", "headerNameLowerCasedRecord", "wellknownHeaderNames", "i", "key", "lowerCasedKey", "require_tree", "__commonJSMin", "exports", "module", "wellknownHeaderNames", "headerNameLowerCasedRecord", "TstNode", "_TstNode", "__name", "key", "value", "index", "length", "node", "code", "keylength", "TernarySearchTree", "tree", "i", "require_util", "__commonJSMin", "exports", "module", "assert", "kDestroyed", "kBodyUsed", "kListeners", "kBody", "IncomingMessage", "stream", "net", "Blob", "nodeUtil", "stringify", "EE", "InvalidArgumentError", "headerNameLowerCasedRecord", "tree", "nodeMajor", "nodeMinor", "v", "BodyAsyncIterable", "__name", "body", "wrapRequestBody", "isStream", "bodyLength", "isIterable", "nop", "obj", "isBlobLike", "object", "sTag", "buildURL", "url", "queryParams", "stringified", "isValidPort", "port", "value", "isHttpOrHttpsPrefixed", "parseURL", "origin", "path", "parseOrigin", "getHostname", "host", "idx", "getServerName", "servername", "deepClone", "isAsyncIterable", "state", "isBuffer", "isDestroyed", "destroy", "err", "KEEPALIVE_TIMEOUT_EXPR", "parseKeepAliveTimeout", "val", "m", "headerNameToString", "bufferToLowerCasedHeaderName", "parseHeaders", "headers", "i", "key", "headersValue", "x", "parseRawHeaders", "len", "ret", "hasContentLength", "contentDispositionIdx", "kLen", "n", "buffer", "validateHandler", "handler", "method", "upgrade", "isDisturbed", "isErrored", "isReadable", "getSocketInfo", "socket", "ReadableStreamFrom", "iterable", "iterator", "controller", "done", "buf", "reason", "isFormDataLike", "addAbortListener", "signal", "listener", "hasToWellFormed", "hasIsWellFormed", "toUSVString", "isUSVString", "isTokenCharCode", "c", "isValidHTTPToken", "characters", "headerCharRegex", "isValidHeaderValue", "parseRangeHeader", "range", "addListener", "name", "removeAllListeners", "errorRequest", "client", "request", "kEnumerableProperty", "normalizedMethodRecordsBase", "normalizedMethodRecords", "require_diagnostics", "__commonJSMin", "exports", "module", "diagnosticsChannel", "util", "undiciDebugLog", "fetchDebuglog", "websocketDebuglog", "isClientSet", "channels", "debuglog", "evt", "version", "protocol", "port", "host", "error", "method", "path", "origin", "statusCode", "address", "websocket", "code", "reason", "err", "require_request", "__commonJSMin", "exports", "module", "InvalidArgumentError", "NotSupportedError", "assert", "isValidHTTPToken", "isValidHeaderValue", "isStream", "destroy", "isBuffer", "isFormDataLike", "isIterable", "isBlobLike", "buildURL", "validateHandler", "getServerName", "normalizedMethodRecords", "channels", "headerNameLowerCasedRecord", "invalidPathRegex", "kHandler", "Request", "__name", "origin", "path", "method", "body", "headers", "query", "idempotent", "blocking", "upgrade", "headersTimeout", "bodyTimeout", "resetLine truncated
}
Generated Vendored
-9237
View File
File diff suppressed because it is too large. Load diff
Generated Vendored
+5003
View File
File diff suppressed because it is too large. Load diff
+42 -18
View File
@@ -1,42 +1,66 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" {
targets = ["build"]
}
group "pre-checkin" {
targets = ["update-yarn", "format", "build"]
targets = ["vendor", "format", "build"]
}
group "validate" {
targets = ["validate-format", "validate-build", "validate-yarn"]
}
target "update-yarn" {
target = "update-yarn"
output = ["."]
targets = ["lint", "build-validate", "vendor-validate"]
}
target "build" {
target = "dist"
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-update"
output = ["."]
}
target "test" {
target = "test"
target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-validate"
output = ["type=cacheonly"]
}
target "format" {
target = "format"
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "format-update"
output = ["."]
}
target "validate-format" {
target = "validate-format"
target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "lint"
output = ["type=cacheonly"]
}
target "validate-build" {
target = "validate-build"
target "vendor" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]
}
target "validate-yarn" {
target = "validate-yarn"
}
target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]
}
target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test-coverage"
output = ["./coverage"]
}
+52
View File
@@ -0,0 +1,52 @@
import {defineConfig} from 'eslint/config';
import js from '@eslint/js';
import tseslint from '@typescript-eslint/eslint-plugin';
import vitest from '@vitest/eslint-plugin';
import globals from 'globals';
import eslintConfigPrettier from 'eslint-config-prettier/flat';
import eslintPluginPrettier from 'eslint-plugin-prettier';
export default defineConfig([
{
ignores: ['.yarn/**/*', 'coverage/**/*', 'dist/**/*']
},
js.configs.recommended,
...tseslint.configs['flat/recommended'],
eslintConfigPrettier,
{
languageOptions: {
globals: {
...globals.node
}
}
},
{
files: ['__tests__/**'],
...vitest.configs.recommended,
languageOptions: {
globals: {
...globals.node,
...vitest.environments.env.globals
}
},
rules: {
...vitest.configs.recommended.rules,
'vitest/no-conditional-expect': 'error',
'vitest/no-disabled-tests': 0
}
},
{
plugins: {
prettier: eslintPluginPrettier
},
rules: {
'prettier/prettier': 'error',
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
]
}
}
]);
-6
View File
@@ -1,6 +0,0 @@
#!/usr/bin/env bash
iidfile=$(mktemp -t docker-iidfile.XXXXXXXXXX)
DOCKER_BUILDKIT=1 docker build --iidfile $iidfile --progress=plain .
docker run -it --rm $(cat $iidfile)
docker rmi $(cat $iidfile)
-12
View File
@@ -1,12 +0,0 @@
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
setupFiles: ["dotenv/config"],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
testRunner: 'jest-circus/runner',
transform: {
'^.+\\.ts$': 'ts-jest'
},
verbose: false
}
+28 -30
View File
@@ -1,13 +1,14 @@
{
"name": "docker-setup-buildx",
"description": "Set up Docker Buildx",
"main": "lib/main.js",
"type": "module",
"main": "src/main.ts",
"scripts": {
"build": "tsc && ncc build",
"format": "prettier --write **/*.ts",
"format-check": "prettier --check **/*.ts",
"test": "jest --coverage",
"pre-checkin": "yarn run format && yarn run build"
"build": "esbuild src/main.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/index.cjs --sourcemap --minify --keep-names && yarn run license",
"lint": "eslint --max-warnings=0 .",
"format": "eslint --fix .",
"test": "vitest run",
"license": "generate-license-file --input package.json --output dist/licenses.txt --overwrite --ci --no-spinner --eol lf"
},
"repository": {
"type": "git",
@@ -18,33 +19,30 @@
"docker",
"buildx"
],
"author": "Docker",
"contributors": [
{
"name": "CrazyMax",
"url": "https://crazymax.dev"
}
],
"author": "Docker Inc.",
"license": "Apache-2.0",
"packageManager": "yarn@4.15.0",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/exec": "^1.0.4",
"@actions/http-client": "^1.0.9",
"@actions/tool-cache": "^1.6.1",
"semver": "^7.3.4",
"uuid": "^8.3.2"
"@actions/core": "^3.0.1",
"@docker/actions-toolkit": "^0.92.0",
"js-yaml": "^5.2.0"
},
"devDependencies": {
"@types/jest": "^26.0.3",
"@types/node": "^14.0.14",
"@vercel/ncc": "^0.23.0",
"dotenv": "^8.2.0",
"jest": "^26.1.0",
"jest-circus": "^26.1.0",
"jest-runtime": "^26.1.0",
"prettier": "^2.0.5",
"ts-jest": "^26.1.1",
"typescript": "^3.9.5",
"typescript-formatter": "^7.2.2"
"@eslint/js": "^9.39.3",
"@types/js-yaml": "^4.0.9",
"@types/node": "^24.11.0",
"@typescript-eslint/eslint-plugin": "^8.56.1",
"@typescript-eslint/parser": "^8.56.1",
"@vitest/coverage-v8": "^4.0.18",
"@vitest/eslint-plugin": "^1.6.9",
"esbuild": "^0.28.0",
"eslint": "^9.39.3",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"generate-license-file": "^4.1.1",
"globals": "^17.3.0",
"prettier": "^3.8.1",
"typescript": "^5.9.3",
"vitest": "^4.0.18"
}
}
-129
View File
@@ -1,129 +0,0 @@
import * as fs from 'fs';
import * as path from 'path';
import * as semver from 'semver';
import * as util from 'util';
import * as context from './context';
import * as exec from './exec';
import * as github from './github';
import * as core from '@actions/core';
import * as tc from '@actions/tool-cache';
export async function getVersion(): Promise<string> {
return await exec.exec(`docker`, ['buildx', 'version'], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
return parseVersion(res.stdout);
});
}
export async function parseVersion(stdout: string): Promise<string> {
const matches = /\sv?([0-9.]+)/.exec(stdout);
if (!matches) {
throw new Error(`Cannot parse Buildx version`);
}
return semver.clean(matches[1]);
}
export async function isAvailable(): Promise<Boolean> {
return await exec.exec(`docker`, ['buildx'], true).then(res => {
if (res.stderr != '' && !res.success) {
return false;
}
return res.success;
});
}
export async function platforms(): Promise<String | undefined> {
return await exec.exec(`docker`, ['buildx', 'inspect'], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
for (const line of res.stdout.trim().split(`\n`)) {
if (line.startsWith('Platforms')) {
return line.replace('Platforms: ', '').replace(/\s/g, '').trim();
}
}
});
}
export async function install(inputVersion: string, dockerConfigHome: string): Promise<string> {
const release: github.GitHubRelease | null = await github.getRelease(inputVersion);
if (!release) {
throw new Error(`Cannot find buildx ${inputVersion} release`);
}
core.debug(`Release found: ${release.tag_name}`);
const version = release.tag_name.replace(/^v+|v+$/g, '');
let toolPath: string;
toolPath = tc.find('buildx', version);
if (!toolPath) {
const c = semver.clean(version) || '';
if (!semver.valid(c)) {
throw new Error(`Invalid Buildx version "${version}".`);
}
toolPath = await download(version);
}
const pluginsDir: string = path.join(dockerConfigHome, 'cli-plugins');
core.debug(`Plugins dir is ${pluginsDir}`);
if (!fs.existsSync(pluginsDir)) {
fs.mkdirSync(pluginsDir, {recursive: true});
}
const filename: string = context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
const pluginPath: string = path.join(pluginsDir, filename);
core.debug(`Plugin path is ${pluginPath}`);
fs.copyFileSync(path.join(toolPath, filename), pluginPath);
core.info('🔨 Fixing perms...');
fs.chmodSync(pluginPath, '0755');
return pluginPath;
}
async function download(version: string): Promise<string> {
const targetFile: string = context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
const downloadUrl = util.format(
'https://github.com/docker/buildx/releases/download/v%s/%s',
version,
await filename(version)
);
let downloadPath: string;
try {
core.info(`⬇️ Downloading ${downloadUrl}...`);
downloadPath = await tc.downloadTool(downloadUrl);
core.debug(`Downloaded to ${downloadPath}`);
} catch (error) {
throw error;
}
return await tc.cacheFile(downloadPath, targetFile, 'buildx', version);
}
async function filename(version: string): Promise<string> {
let arch: string;
switch (context.osArch) {
case 'x64': {
arch = 'amd64';
break;
}
case 'ppc64': {
arch = 'ppc64le';
break;
}
case 'arm': {
const arm_version = (process.config.variables as any).arm_version;
arch = arm_version ? 'arm-v' + arm_version : 'arm';
break;
}
default: {
arch = context.osArch;
break;
}
}
const platform: string = context.osPlat == 'win32' ? 'windows' : context.osPlat;
const ext: string = context.osPlat == 'win32' ? '.exe' : '';
return util.format('buildx-v%s.%s-%s%s', version, platform, arch, ext);
}
+110 -27
View File
@@ -1,49 +1,132 @@
import * as os from 'os';
import * as crypto from 'crypto';
import * as core from '@actions/core';
export const osPlat: string = os.platform();
export const osArch: string = os.arch();
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
import {Util} from '@docker/actions-toolkit/lib/util.js';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
export const builderNodeEnvPrefix = 'BUILDER_NODE';
const defaultBuildkitdFlags = '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host';
export interface Inputs {
version: string;
name: string;
driver: string;
driverOpts: string[];
buildkitdFlags: string;
install: boolean;
buildkitdConfig: string;
buildkitdConfigInline: string;
platforms: string[];
use: boolean;
endpoint: string;
append: string;
cacheBinary: boolean;
cleanup: boolean;
keepState: boolean;
}
export async function getInputs(): Promise<Inputs> {
return {
version: core.getInput('version'),
name: await getBuilderName(core.getInput('name'), core.getInput('driver') || 'docker-container'),
driver: core.getInput('driver') || 'docker-container',
driverOpts: await getInputList('driver-opts', true),
buildkitdFlags:
core.getInput('buildkitd-flags') ||
'--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
install: /true/i.test(core.getInput('install')),
use: /true/i.test(core.getInput('use')),
endpoint: core.getInput('endpoint')
driverOpts: Util.getInputList('driver-opts', {ignoreComma: true, quote: false}),
buildkitdFlags: core.getInput('buildkitd-flags'),
platforms: Util.getInputList('platforms'),
use: core.getBooleanInput('use'),
endpoint: core.getInput('endpoint'),
buildkitdConfig: core.getInput('buildkitd-config'),
buildkitdConfigInline: core.getInput('buildkitd-config-inline'),
append: core.getInput('append'),
keepState: core.getBooleanInput('keep-state'),
cacheBinary: core.getBooleanInput('cache-binary'),
cleanup: core.getBooleanInput('cleanup')
};
}
export async function getInputList(name: string, ignoreComma?: boolean): Promise<string[]> {
const items = core.getInput(name);
if (items == '') {
return [];
}
return items
.split(/\r?\n/)
.filter(x => x)
.reduce<string[]>(
(acc, line) => acc.concat(!ignoreComma ? line.split(',').filter(x => x) : line).map(pat => pat.trim()),
[]
);
export async function getBuilderName(name: string, driver: string): Promise<string> {
return driver == 'docker' ? await Docker.context() : name || `builder-${crypto.randomUUID()}`;
}
export const asyncForEach = async (array, callback) => {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array);
export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
const args: Array<string> = ['create', '--name', inputs.name, '--driver', inputs.driver];
if (await toolkit.buildx.versionSatisfies('>=0.3.0')) {
await Util.asyncForEach(inputs.driverOpts, async (driverOpt: string) => {
args.push('--driver-opt', driverOpt);
});
if (inputs.buildkitdFlags) {
args.push('--buildkitd-flags', inputs.buildkitdFlags);
} else if (driverSupportsBuildkitdFlags(inputs.driver)) {
args.push('--buildkitd-flags', defaultBuildkitdFlags);
}
}
};
if (inputs.platforms.length > 0) {
args.push('--platform', inputs.platforms.join(','));
}
if (inputs.use) {
args.push('--use');
}
if (inputs.buildkitdConfig) {
args.push('--config', toolkit.buildkit.config.resolveFromFile(inputs.buildkitdConfig));
} else if (inputs.buildkitdConfigInline) {
args.push('--config', toolkit.buildkit.config.resolveFromString(inputs.buildkitdConfigInline));
}
if (inputs.endpoint) {
args.push(inputs.endpoint);
}
return args;
}
export async function getAppendArgs(inputs: Inputs, node: Node, toolkit: Toolkit): Promise<Array<string>> {
const args: Array<string> = ['create', '--name', inputs.name, '--append'];
if (node.name) {
args.push('--node', node.name);
} else if (inputs.driver == 'kubernetes' && (await toolkit.buildx.versionSatisfies('<0.11.0'))) {
args.push('--node', `node-${crypto.randomUUID()}`);
}
if (node['driver-opts'] && (await toolkit.buildx.versionSatisfies('>=0.3.0'))) {
await Util.asyncForEach(node['driver-opts'], async (driverOpt: string) => {
args.push('--driver-opt', driverOpt);
});
if (node['buildkitd-flags']) {
args.push('--buildkitd-flags', node['buildkitd-flags']);
} else if (driverSupportsBuildkitdFlags(inputs.driver)) {
args.push('--buildkitd-flags', defaultBuildkitdFlags);
}
}
if (node.platforms) {
args.push('--platform', node.platforms);
}
if (node.endpoint) {
args.push(node.endpoint);
}
return args;
}
export async function getInspectArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
const args: Array<string> = ['inspect', '--bootstrap'];
if (await toolkit.buildx.versionSatisfies('>=0.4.0')) {
args.push('--builder', inputs.name);
}
return args;
}
function driverSupportsBuildkitdFlags(driver: string): boolean {
return driver == '' || driver == 'docker-container' || driver == 'docker' || driver == 'kubernetes';
}
export function getVersion(inputs: Inputs): string {
const version = inputs.version;
if (inputs.driver === 'cloud') {
if (!version || version === 'latest') {
return 'cloud:latest';
}
if (version.startsWith('cloud:') || version.startsWith('lab:')) {
return version;
}
return `cloud:${version}`;
}
return version;
}
-7
View File
@@ -1,7 +0,0 @@
import * as exec from './exec';
export async function isDaemonRunning(): Promise<boolean> {
return await exec.exec(`docker`, ['version', '--format', '{{.Server.Os}}'], true).then(res => {
return !res.stdout.includes(' ') && res.success;
});
}
-34
View File
@@ -1,34 +0,0 @@
import * as aexec from '@actions/exec';
import {ExecOptions} from '@actions/exec';
export interface ExecResult {
success: boolean;
stdout: string;
stderr: string;
}
export const exec = async (command: string, args: string[] = [], silent: boolean): Promise<ExecResult> => {
let stdout: string = '';
let stderr: string = '';
const options: ExecOptions = {
silent: silent,
ignoreReturnCode: true
};
options.listeners = {
stdout: (data: Buffer) => {
stdout += data.toString();
},
stderr: (data: Buffer) => {
stderr += data.toString();
}
};
const returnCode: number = await aexec.exec(command, args, options);
return {
success: returnCode === 0,
stdout: stdout.trim(),
stderr: stderr.trim()
};
};
-12
View File
@@ -1,12 +0,0 @@
import * as httpm from '@actions/http-client';
export interface GitHubRelease {
id: number;
tag_name: string;
}
export const getRelease = async (version: string): Promise<GitHubRelease | null> => {
const url: string = `https://github.com/docker/buildx/releases/${version}`;
const http: httpm.HttpClient = new httpm.HttpClient('setup-buildx');
return (await http.getJson<GitHubRelease>(url)).result;
};
+266 -83
View File
@@ -1,94 +1,277 @@
import * as crypto from 'crypto';
import * as fs from 'fs';
import * as yaml from 'js-yaml';
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import * as os from 'os';
import * as path from 'path';
import * as semver from 'semver';
import * as buildx from './buildx';
import * as context from './context';
import * as mexec from './exec';
import * as stateHelper from './state-helper';
import * as actionsToolkit from '@docker/actions-toolkit';
async function run(): Promise<void> {
try {
if (os.platform() !== 'linux') {
core.setFailed('Only supported on linux platform');
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
import {Builder} from '@docker/actions-toolkit/lib/buildx/builder.js';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
import {Exec} from '@docker/actions-toolkit/lib/exec.js';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
import {Util} from '@docker/actions-toolkit/lib/util.js';
import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
import {ContextInfo} from '@docker/actions-toolkit/lib/types/docker/docker.js';
import * as context from './context.js';
import * as stateHelper from './state-helper.js';
actionsToolkit.run(
// main
async () => {
const inputs: context.Inputs = await context.getInputs();
stateHelper.setCleanup(inputs.cleanup);
const version = context.getVersion(inputs);
const toolkit = new Toolkit();
const standalone = await toolkit.buildx.isStandalone();
stateHelper.setStandalone(standalone);
if (inputs.keepState && inputs.driver !== 'docker-container') {
// https://docs.docker.com/reference/cli/docker/buildx/rm/#keep-state
throw new Error(`Cannot use keep-state with ${inputs.driver} driver`);
}
stateHelper.setKeepState(inputs.keepState);
await core.group(`Docker info`, async () => {
try {
await Docker.printVersion();
await Docker.printInfo();
} catch (e) {
core.info(e.message);
}
});
let toolPath;
if (Util.isValidRef(version)) {
if (standalone) {
throw new Error(`Cannot build from source without the Docker CLI`);
}
await core.group(`Build buildx from source`, async () => {
toolPath = await toolkit.buildxInstall.build(version, !inputs.cacheBinary);
});
} else if (!(await toolkit.buildx.isAvailable()) || version) {
await core.group(`Download buildx from GitHub Releases`, async () => {
toolPath = await toolkit.buildxInstall.download({
version: version || 'latest',
ghaNoCache: !inputs.cacheBinary
});
});
}
if (toolPath) {
await core.group(`Install buildx`, async () => {
if (standalone) {
await toolkit.buildxInstall.installStandalone(toolPath);
} else {
await toolkit.buildxInstall.installPlugin(toolPath);
}
});
}
await core.group(`Buildx version`, async () => {
await toolkit.buildx.printVersion();
});
core.setOutput('name', inputs.name);
stateHelper.setBuilderName(inputs.name);
stateHelper.setBuilderDriver(inputs.driver);
fs.mkdirSync(Buildx.certsDir, {recursive: true});
stateHelper.setCertsDir(Buildx.certsDir);
// if the default context has TLS data loaded and endpoint is not set, then
// we create a temporary docker context only if driver is docker-container
// https://github.com/docker/buildx/blob/b96ad59f64d40873e4959336d294b648bb3937fe/builder/builder.go#L489
// https://github.com/docker/setup-buildx-action/issues/105
if (!standalone && inputs.driver == 'docker-container' && (await Docker.context()) == 'default' && inputs.endpoint.length == 0) {
let defaultContextWithTLS: boolean = false;
await core.group(`Inspecting default docker context`, async () => {
await Docker.getExecOutput(['context', 'inspect', '--format=json', 'default'], {
ignoreReturnCode: true,
silent: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.info(`Cannot inspect default docker context: ${res.stderr.trim()}`);
} else {
try {
const contextInfo = (<Array<ContextInfo>>JSON.parse(res.stdout.trim()))[0];
core.info(JSON.stringify(JSON.parse(res.stdout.trim()), undefined, 2));
const hasTLSData = Object.keys(contextInfo.Endpoints).length > 0 && Object.values(contextInfo.Endpoints)[0].TLSData !== undefined;
const hasTLSMaterial = Object.keys(contextInfo.TLSMaterial).length > 0 && Object.values(contextInfo.TLSMaterial)[0].length > 0;
defaultContextWithTLS = hasTLSData || hasTLSMaterial;
} catch (e) {
core.info(`Unable to parse default docker context info: ${e}`);
core.info(res.stdout.trim());
}
}
});
});
if (defaultContextWithTLS) {
const tmpDockerContext = `buildx-${crypto.randomUUID()}`;
await core.group(`Creating temp docker context (TLS data loaded in default one)`, async () => {
await Docker.getExecOutput(['context', 'create', tmpDockerContext], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(`Cannot create docker context ${tmpDockerContext}: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
} else {
core.info(`Setting builder endpoint to ${tmpDockerContext} context`);
inputs.endpoint = tmpDockerContext;
stateHelper.setTmpDockerContext(tmpDockerContext);
}
});
});
}
}
if (inputs.driver !== 'docker') {
await core.group(`Creating a new builder instance`, async () => {
if (await toolkit.builder.exists(inputs.name)) {
core.info(`Builder ${inputs.name} already exists, skipping creation`);
} else {
const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, inputs.endpoint, {
cacert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CACERT`],
cert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CERT`],
key: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_KEY`]
});
if (certsDriverOpts.length > 0) {
inputs.driverOpts = [...inputs.driverOpts, ...certsDriverOpts];
}
const createCmd = await toolkit.buildx.getCommand(await context.getCreateArgs(inputs, toolkit));
await Exec.getExecOutput(createCmd.command, createCmd.args, {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
}
});
}
if (inputs.append) {
await core.group(`Appending node(s) to builder`, async () => {
let nodeIndex = 1;
const nodes = yaml.load(inputs.append) as Node[];
for (const node of nodes) {
const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, `${node.endpoint}`, {
cacert: process.env[`${context.builderNodeEnvPrefix}_${nodeIndex}_AUTH_TLS_CACERT`],
cert: process.env[`${context.builderNodeEnvPrefix}_${nodeIndex}_AUTH_TLS_CERT`],
key: process.env[`${context.builderNodeEnvPrefix}_${nodeIndex}_AUTH_TLS_KEY`]
});
if (certsDriverOpts.length > 0) {
node['driver-opts'] = [...(node['driver-opts'] || []), ...certsDriverOpts];
}
const appendCmd = await toolkit.buildx.getCommand(await context.getAppendArgs(inputs, node, toolkit));
await Exec.getExecOutput(appendCmd.command, appendCmd.args, {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(`Failed to append node ${node.name}: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
}
});
nodeIndex++;
}
});
}
await core.group(`Booting builder`, async () => {
const inspectCmd = await toolkit.buildx.getCommand(await context.getInspectArgs(inputs, toolkit));
await Exec.getExecOutput(inspectCmd.command, inspectCmd.args, {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
});
const builderInspect = await toolkit.builder.inspect(inputs.name);
const firstNode = builderInspect.nodes[0];
await core.group(`Inspect builder`, async () => {
const reducedPlatforms: Array<string> = [];
for (const node of builderInspect.nodes) {
for (const platform of node.platforms?.split(',') || []) {
if (reducedPlatforms.indexOf(platform) > -1) {
continue;
}
reducedPlatforms.push(platform);
}
}
core.info(JSON.stringify(builderInspect, undefined, 2));
core.setOutput('driver', builderInspect.driver);
core.setOutput('platforms', reducedPlatforms.join(','));
core.setOutput('nodes', JSON.stringify(builderInspect.nodes, undefined, 2));
});
if (!standalone && builderInspect.driver == 'docker-container') {
stateHelper.setContainerName(`${Buildx.containerNamePrefix}${firstNode.name}`);
await core.group(`BuildKit version`, async () => {
for (const node of builderInspect.nodes) {
const buildkitVersion = await toolkit.buildkit.getVersion(node);
core.info(`${node.name}: ${buildkitVersion}`);
}
});
}
if (core.isDebug() || firstNode['buildkitd-flags']?.includes('--debug')) {
stateHelper.setDebug('true');
}
},
// post
async () => {
if (stateHelper.IsDebug && stateHelper.containerName.length > 0) {
await core.group(`BuildKit container logs`, async () => {
await Docker.getExecOutput(['logs', `${stateHelper.containerName}`], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
});
}
if (!stateHelper.cleanup) {
return;
}
const inputs: context.Inputs = await context.getInputs();
const dockerConfigHome: string = process.env.DOCKER_CONFIG || path.join(os.homedir(), '.docker');
if (!(await buildx.isAvailable()) || inputs.version) {
core.startGroup(`👉 Installing Buildx`);
await buildx.install(inputs.version || 'latest', dockerConfigHome);
core.endGroup();
}
const buildxVersion = await buildx.getVersion();
core.info(`📣 Buildx version: ${buildxVersion}`);
const builderName: string = inputs.driver == 'docker' ? 'default' : `builder-${require('uuid').v4()}`;
core.setOutput('name', builderName);
stateHelper.setBuilderName(builderName);
if (inputs.driver !== 'docker') {
core.startGroup(`🔨 Creating a new builder instance`);
let createArgs: Array<string> = ['buildx', 'create', '--name', builderName, '--driver', inputs.driver];
if (semver.satisfies(buildxVersion, '>=0.3.0')) {
await context.asyncForEach(inputs.driverOpts, async driverOpt => {
createArgs.push('--driver-opt', driverOpt);
});
if (inputs.buildkitdFlags) {
createArgs.push('--buildkitd-flags', inputs.buildkitdFlags);
if (stateHelper.builderDriver != 'docker' && stateHelper.builderName.length > 0) {
await core.group(`Removing builder`, async () => {
const buildx = new Buildx({standalone: stateHelper.standalone});
const builder = new Builder({buildx: buildx});
if (await builder.exists(stateHelper.builderName)) {
const rmCmd = await buildx.getCommand(['rm', stateHelper.builderName, ...(stateHelper.keepState ? ['--keep-state'] : [])]);
await Exec.getExecOutput(rmCmd.command, rmCmd.args, {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
} else {
core.info(`${stateHelper.builderName} does not exist`);
}
}
if (inputs.use) {
createArgs.push('--use');
}
if (inputs.endpoint) {
createArgs.push(inputs.endpoint);
}
await exec.exec('docker', createArgs);
core.endGroup();
core.startGroup(`🏃 Booting builder`);
let bootstrapArgs: Array<string> = ['buildx', 'inspect', '--bootstrap'];
if (semver.satisfies(buildxVersion, '>=0.4.0')) {
bootstrapArgs.push('--builder', builderName);
}
await exec.exec('docker', bootstrapArgs);
core.endGroup();
});
}
if (inputs.install) {
core.startGroup(`🤝 Setting buildx as default builder`);
await exec.exec('docker', ['buildx', 'install']);
core.endGroup();
if (stateHelper.tmpDockerContext) {
await core.group(`Removing temp docker context`, async () => {
await Exec.getExecOutput('docker', ['context', 'rm', '-f', stateHelper.tmpDockerContext], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(`${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
}
});
});
}
core.startGroup(`🛒 Extracting available platforms`);
const platforms = await buildx.platforms();
core.info(`${platforms}`);
core.setOutput('platforms', platforms);
core.endGroup();
} catch (error) {
core.setFailed(error.message);
if (stateHelper.certsDir.length > 0 && fs.existsSync(stateHelper.certsDir)) {
await core.group(`Cleaning up certificates`, async () => {
fs.rmSync(stateHelper.certsDir, {recursive: true});
});
}
}
}
async function cleanup(): Promise<void> {
if (stateHelper.builderName.length == 0) {
return;
}
await mexec.exec('docker', ['buildx', 'rm', `${stateHelper.builderName}`], false).then(res => {
if (res.stderr != '' && !res.success) {
core.warning(res.stderr);
}
});
}
if (!stateHelper.IsPost) {
run();
} else {
cleanup();
}
);
+38 -3
View File
@@ -1,12 +1,47 @@
import * as core from '@actions/core';
export const IsPost = !!process.env['STATE_isPost'];
export const IsDebug = !!process.env['STATE_isDebug'];
export const standalone = /true/i.test(process.env['STATE_standalone'] || '');
export const builderName = process.env['STATE_builderName'] || '';
export const builderDriver = process.env['STATE_builderDriver'] || '';
export const containerName = process.env['STATE_containerName'] || '';
export const certsDir = process.env['STATE_certsDir'] || '';
export const tmpDockerContext = process.env['STATE_tmpDockerContext'] || '';
export const cleanup = /true/i.test(process.env['STATE_cleanup'] || '');
export const keepState = /true/i.test(process.env['STATE_keepState'] || '');
export function setDebug(debug: string) {
core.saveState('isDebug', debug);
}
export function setStandalone(standalone: boolean) {
core.saveState('standalone', standalone);
}
export function setBuilderName(builderName: string) {
core.saveState('builderName', builderName);
}
if (!IsPost) {
core.saveState('isPost', 'true');
export function setBuilderDriver(builderDriver: string) {
core.saveState('builderDriver', builderDriver);
}
export function setContainerName(containerName: string) {
core.saveState('containerName', containerName);
}
export function setCertsDir(certsDir: string) {
core.saveState('certsDir', certsDir);
}
export function setTmpDockerContext(tmpDockerContext: string) {
core.saveState('tmpDockerContext', tmpDockerContext);
}
export function setCleanup(cleanup: boolean) {
core.saveState('cleanup', cleanup);
}
export function setKeepState(keepState: boolean) {
core.saveState('keepState', keepState);
}
+9 -10
View File
@@ -1,18 +1,17 @@
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"lib": [
"es6",
"dom"
],
"module": "nodenext",
"moduleResolution": "nodenext",
"esModuleInterop": true,
"newLine": "lf",
"outDir": "./lib",
"rootDir": "./src",
"strict": true,
"forceConsistentCasingInFileNames": true,
"noImplicitAny": false,
"esModuleInterop": true,
"sourceMap": true
"resolveJsonModule": true,
"useUnknownInCatchVariables": false,
},
"exclude": ["node_modules", "**/*.test.ts"]
"include": [
"src/**/*.ts"
]
}
+16
View File
@@ -0,0 +1,16 @@
import {defineConfig} from 'vitest/config';
export default defineConfig({
test: {
clearMocks: true,
environment: 'node',
setupFiles: ['./__tests__/setup.unit.ts'],
include: ['**/*.test.ts'],
coverage: {
provider: 'v8',
reporter: ['clover'],
include: ['src/**/*.ts'],
exclude: ['src/**/main.ts']
}
}
});
+6224 -3798
View File
File diff suppressed because it is too large. Load diff