Compare commits

..

116 commits

Author SHA1 Message Date
CrazyMax
f4e8deed0c
Merge pull request #269 from crazy-max/fix-update-dist
Some checks failed
ci / default (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, arm64,riscv64,arm) (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, arm64,riscv64,arm) (push) Has been cancelled
ci / error (push) Has been cancelled
ci / cache-image (false) (push) Has been cancelled
ci / cache-image (true) (push) Has been cancelled
ci / version (tonistiigi/binfmt:latest) (push) Has been cancelled
ci / version (tonistiigi/binfmt:master) (push) Has been cancelled
ci / version (tonistiigi/binfmt:qemu-v7.0.0) (push) Has been cancelled
codeql / analyze (push) Has been cancelled
test / test (push) Has been cancelled
validate / prepare (push) Has been cancelled
zizmor / zizmor (push) Has been cancelled
validate / validate (push) Has been cancelled
ci: stop update-dist reruns after generated dist pushes
2026-04-01 15:09:07 +02:00
CrazyMax
5a1a5cc4f8
ci: stop update-dist reruns after generated dist pushes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-01 13:16:02 +02:00
CrazyMax
6412e4f975
Merge pull request #268 from docker/dependabot/github_actions/codecov/codecov-action-6.0.0
Some checks are pending
ci / error (push) Waiting to run
ci / default (push) Waiting to run
ci / main (tonistiigi/binfmt:latest, all) (push) Waiting to run
ci / main (tonistiigi/binfmt:latest, arm64,riscv64,arm) (push) Waiting to run
ci / main (tonistiigi/binfmt:master, all) (push) Waiting to run
ci / main (tonistiigi/binfmt:master, arm64,riscv64,arm) (push) Waiting to run
ci / cache-image (false) (push) Waiting to run
ci / cache-image (true) (push) Waiting to run
ci / version (tonistiigi/binfmt:latest) (push) Waiting to run
ci / version (tonistiigi/binfmt:master) (push) Waiting to run
ci / version (tonistiigi/binfmt:qemu-v7.0.0) (push) Waiting to run
codeql / analyze (push) Waiting to run
test / test (push) Waiting to run
validate / validate (push) Blocked by required conditions
validate / prepare (push) Waiting to run
zizmor / zizmor (push) Waiting to run
build(deps): bump codecov/codecov-action from 5.5.4 to 6.0.0
2026-03-31 09:27:41 +02:00
dependabot[bot]
3329a8ce3d
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](75cd11691c...57e3a136b7)

---
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:51:28 +00:00
Tõnis Tiigi
cf45d1535a
Merge pull request #267 from crazy-max/zizmor
Some checks are pending
ci / default (push) Waiting to run
ci / version (tonistiigi/binfmt:latest) (push) Waiting to run
ci / version (tonistiigi/binfmt:master) (push) Waiting to run
ci / version (tonistiigi/binfmt:qemu-v7.0.0) (push) Waiting to run
ci / main (tonistiigi/binfmt:latest, all) (push) Waiting to run
ci / main (tonistiigi/binfmt:latest, arm64,riscv64,arm) (push) Waiting to run
ci / main (tonistiigi/binfmt:master, all) (push) Waiting to run
ci / main (tonistiigi/binfmt:master, arm64,riscv64,arm) (push) Waiting to run
ci / error (push) Waiting to run
ci / cache-image (false) (push) Waiting to run
ci / cache-image (true) (push) Waiting to run
codeql / analyze (push) Waiting to run
test / test (push) Waiting to run
validate / prepare (push) Waiting to run
validate / validate (push) Blocked by required conditions
zizmor / zizmor (push) Waiting to run
ci: zizmor workflow
2026-03-30 18:50:33 -07:00
CrazyMax
7b4ca36676
fix zizmor findings
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 14:25:09 +02:00
CrazyMax
9d536b88bb
ci: zizmor workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 14:24:46 +02:00
Tõnis Tiigi
6804d31319
Merge pull request #260 from crazy-max/update-crazy-max-actions
Some checks failed
codeql / analyze (push) Has been cancelled
ci / default (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, arm64,riscv64,arm) (push) Has been cancelled
test / test (push) Has been cancelled
validate / prepare (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, arm64,riscv64,arm) (push) Has been cancelled
ci / error (push) Has been cancelled
ci / cache-image (false) (push) Has been cancelled
ci / cache-image (true) (push) Has been cancelled
ci / version (tonistiigi/binfmt:latest) (push) Has been cancelled
ci / version (tonistiigi/binfmt:master) (push) Has been cancelled
ci / version (tonistiigi/binfmt:qemu-v7.0.0) (push) Has been cancelled
validate / validate (push) Has been cancelled
ci: bump crazy-max/.github to 1.1.0
2026-03-25 10:44:07 -07:00
CrazyMax
f03c104308
ci: bump crazy-max/.github to 1.1.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-25 12:47:34 +01:00
CrazyMax
6632d370ea
Merge pull request #256 from crazy-max/codeql
Some checks failed
ci / version (tonistiigi/binfmt:latest) (push) Has been cancelled
ci / version (tonistiigi/binfmt:qemu-v7.0.0) (push) Has been cancelled
ci / default (push) Has been cancelled
codeql / analyze (push) Has been cancelled
ci / version (tonistiigi/binfmt:master) (push) Has been cancelled
test / test (push) Has been cancelled
validate / prepare (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, arm64,riscv64,arm) (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, arm64,riscv64,arm) (push) Has been cancelled
ci / error (push) Has been cancelled
ci / cache-image (false) (push) Has been cancelled
ci / cache-image (true) (push) Has been cancelled
validate / validate (push) Has been cancelled
ci: enable SAST scanning with CodeQL
2026-03-20 16:57:34 +01:00
CrazyMax
ff0bafa2b5
ci: enable SAST scanning with CodeQL
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-20 12:00:52 +01:00
CrazyMax
b99055d793
Merge pull request #252 from docker/dependabot/github_actions/actions/create-github-app-token-3
Some checks failed
ci / default (push) Has been cancelled
test / test (push) Has been cancelled
validate / prepare (push) Has been cancelled
ci / cache-image (false) (push) Has been cancelled
ci / cache-image (true) (push) Has been cancelled
ci / version (tonistiigi/binfmt:latest) (push) Has been cancelled
ci / version (tonistiigi/binfmt:master) (push) Has been cancelled
ci / version (tonistiigi/binfmt:qemu-v7.0.0) (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, arm64,riscv64,arm) (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, arm64,riscv64,arm) (push) Has been cancelled
ci / error (push) Has been cancelled
validate / validate (push) Has been cancelled
build(deps): bump actions/create-github-app-token from 2 to 3
2026-03-16 12:47:25 +01:00
dependabot[bot]
f80e0ace51
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 06:17:10 +00:00
Tõnis Tiigi
a4bc6cde7e
Merge pull request #248 from docker/dependabot/github_actions/docker/bake-action-7
Some checks failed
ci / default (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:latest, arm64,riscv64,arm) (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, all) (push) Has been cancelled
ci / main (tonistiigi/binfmt:master, arm64,riscv64,arm) (push) Has been cancelled
ci / error (push) Has been cancelled
ci / cache-image (false) (push) Has been cancelled
ci / cache-image (true) (push) Has been cancelled
ci / version (tonistiigi/binfmt:latest) (push) Has been cancelled
ci / version (tonistiigi/binfmt:master) (push) Has been cancelled
ci / version (tonistiigi/binfmt:qemu-v7.0.0) (push) Has been cancelled
test / test (push) Has been cancelled
validate / prepare (push) Has been cancelled
validate / validate (push) Has been cancelled
build(deps): bump docker/bake-action from 6 to 7
2026-03-09 12:36:36 -07:00
CrazyMax
83ebb81e64
ci: switch to matrix subaction
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-06 10:13:48 +01:00
dependabot[bot]
9586bd4603
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 06:16:16 +00:00
CrazyMax
72cd565084
Merge pull request #246 from crazy-max/update-readme
readme: update to v4
2026-03-05 09:20:21 +01:00
CrazyMax
b7a46cd9ec
readme: update to v4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 09:10:56 +01:00
CrazyMax
7430fdb955
Merge pull request #247 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:36:15 +01:00
github-actions[bot]
618b42c7b3 chore: update generated content 2026-03-05 06:18:42 +00:00
dependabot[bot]
3fcc89cfff
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 06:17:21 +00:00
CrazyMax
ce360397dd
Merge pull request #245 from crazy-max/node24
node 24 as default runtime
2026-03-04 08:50:11 +01:00
CrazyMax
63863443c1
node 24 as default runtime
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 12:26:39 +01:00
CrazyMax
1ea3db7bfb
Merge pull request #243 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.77.0
build(deps): bump @docker/actions-toolkit from 0.67.0 to 0.77.0
2026-03-03 11:11:19 +01:00
github-actions[bot]
b56a0022b9 chore: update generated content 2026-03-03 10:09:38 +00:00
dependabot[bot]
c43f02d0c9
build(deps): bump @docker/actions-toolkit from 0.67.0 to 0.77.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.67.0 to 0.77.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.67.0...v0.77.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 10:08:39 +00:00
CrazyMax
ce10c58dd1
Merge pull request #244 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 11:07:00 +01:00
github-actions[bot]
429fc9dbda chore: update generated content 2026-03-03 10:05:29 +00:00
dependabot[bot]
060e5f8b59
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 10:04:24 +00:00
CrazyMax
44be13e7d9
Merge pull request #231 from docker/dependabot/npm_and_yarn/js-yaml-3.14.2
build(deps): bump js-yaml from 3.14.1 to 3.14.2
2026-03-03 11:02:23 +01:00
github-actions[bot]
1897438ed3 chore: update generated content 2026-03-03 10:00:55 +00:00
dependabot[bot]
adf071a310
build(deps): bump js-yaml from 3.14.1 to 3.14.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 09:59:44 +00:00
CrazyMax
4b7abe2c57
Merge pull request #240 from docker/dependabot/npm_and_yarn/isaacs/brace-expansion-5.0.1
build(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1
2026-03-03 10:57:51 +01:00
CrazyMax
6482e7b1e7
Merge pull request #238 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 10:57:27 +01:00
CrazyMax
14fe2cc84d
Merge pull request #241 from crazy-max/esm
switch to ESM and update config/test wiring
2026-03-03 10:56:14 +01:00
CrazyMax
db7449a449
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:50:23 +01:00
CrazyMax
571d554c38
dockerfile: fix vendoring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:50:23 +01:00
CrazyMax
2693966af9
update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 02:06:16 +01:00
CrazyMax
546120eb48
switch to ESM and update config/test wiring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 02:05:32 +01:00
CrazyMax
4fda753335
switch from jest to vitest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 02:05:29 +01:00
dependabot[bot]
ce13b05d64
build(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1
Bumps @isaacs/brace-expansion from 5.0.0 to 5.0.1.

---
updated-dependencies:
- dependency-name: "@isaacs/brace-expansion"
  dependency-version: 5.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-03 19:53:26 +00:00
CrazyMax
7e10951aea
Merge pull request #239 from crazy-max/update-dist-workflow
ci: update-dist workflow
2026-01-29 21:27:44 +01:00
CrazyMax
477096478d
ci: update-dist workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-29 16:30:07 +01:00
dependabot[bot]
b564b89191
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:38:04 +00:00
Tõnis Tiigi
45136fd328
Merge pull request #237 from crazy-max/update-dev-deps
update dev dependencies
2026-01-07 16:41:08 -08:00
CrazyMax
3bbb6edcd4
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:58:42 +01:00
CrazyMax
e138b3487d
update jest config since 30.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:58:42 +01:00
CrazyMax
dbe731c126
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:58:42 +01:00
CrazyMax
9e419b622c
update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:58:41 +01:00
CrazyMax
6b85f876ea
Merge pull request #233 from docker/dependabot/github_actions/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6
2026-01-07 15:52:16 +01:00
dependabot[bot]
a3a541afbc
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 06:00:56 +00:00
CrazyMax
c7c5346462
Merge pull request #230 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.67.0
build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.67.0
2025-11-05 16:00:00 +01:00
CrazyMax
3a517a1a6f
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 15:57:38 +01:00
dependabot[bot]
a5b45edf7e
build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.67.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.62.1 to 0.67.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.62.1...v0.67.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 14:54:03 +00:00
CrazyMax
3a64278e93
Merge pull request #220 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-11-05 15:51:51 +01:00
CrazyMax
94906ba253
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 15:49:59 +01:00
dependabot[bot]
4027abfd67
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-11-05 14:43:21 +00:00
CrazyMax
bee0aaad0f
Merge pull request #221 from docker/dependabot/npm_and_yarn/tmp-0.2.4
build(deps): bump tmp from 0.2.3 to 0.2.4
2025-11-05 15:41:25 +01:00
CrazyMax
0d7e25756e
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 15:37:38 +01:00
dependabot[bot]
b86960130e
build(deps): bump tmp from 0.2.3 to 0.2.4
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 14:34:41 +00:00
CrazyMax
3a043edff3
Merge pull request #219 from docker/dependabot/npm_and_yarn/undici-5.29.0
build(deps): bump undici from 5.28.4 to 5.29.0
2025-11-05 15:32:38 +01:00
CrazyMax
7ce6cde3fb
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 14:58:26 +01:00
CrazyMax
801c7ff061
Merge pull request #218 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-11-05 14:56:48 +01:00
dependabot[bot]
46e6051a4d
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-11-05 13:55:30 +00:00
dependabot[bot]
8e42949624
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-11-05 13:55:24 +00:00
CrazyMax
69a60f36e3
Merge pull request #229 from crazy-max/yarn-4.9.2
update yarn to 4.9.2
2025-11-05 14:53:02 +01:00
CrazyMax
a086e65697
update yarn to 4.9.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 14:51:16 +01:00
CrazyMax
5d29132711
Merge pull request #228 from crazy-max/dev-deps
update dev dependencies
2025-11-05 14:50:04 +01:00
CrazyMax
2c4e2c9c86
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 14:48:17 +01:00
CrazyMax
76c9b61130
update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 14:46:13 +01:00
CrazyMax
e77e8065d9
Merge pull request #226 from crazy-max/workflow-dispatch
ci: workflow_dispatch to trigger manually
2025-09-11 17:00:22 +02:00
CrazyMax
646f117836
ci: workflow_dispatch to trigger manually
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-11 16:58:37 +02:00
CrazyMax
3320a6b3fe
Merge pull request #224 from docker/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-09-11 16:56:19 +02:00
dependabot[bot]
e88307919d
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 15:18:29 +00:00
CrazyMax
05340d1c67
Merge pull request #217 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.62.1
build(deps): bump @docker/actions-toolkit from 0.56.0 to 0.62.1
2025-06-16 14:36:39 +02:00
CrazyMax
2c50240b0c
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-16 14:33:31 +02:00
dependabot[bot]
914cee9a9c
build(deps): bump @docker/actions-toolkit from 0.56.0 to 0.62.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.56.0 to 0.62.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.56.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-05-28 06:04:33 +00:00
CrazyMax
737ba1e397
Merge pull request #212 from crazy-max/pr-assign-author
pr-assign-author workflow
2025-04-23 16:09:46 +02:00
CrazyMax
7a388d81f1
pr-assign-author workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-23 14:22:01 +02:00
CrazyMax
5a7ea16bc4
Merge pull request #211 from crazy-max/fix-codecov
ci: fix missing source for codecov
2025-04-22 14:43:00 +02:00
CrazyMax
a2fd8cfed3
ci: fix missing source for codecov
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-22 14:38:36 +02:00
Tõnis Tiigi
fcd3152d8a
Merge pull request #207 from crazy-max/note-setup-buildx
readme: note about usage with setup-buildx-action
2025-03-11 08:34:46 -07:00
CrazyMax
6bc7671629
readme: note about usage with setup-buildx-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-05 10:58:39 +01:00
CrazyMax
29109295f8
Merge pull request #202 from crazy-max/binfmt-version
display binfmt version
2025-02-28 13:50:00 +01:00
CrazyMax
7ffe24aa9a
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-27 09:30:21 +01:00
CrazyMax
17bc18bb05
display binfmt version
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-27 09:28:25 +01:00
CrazyMax
5964de0df5
Merge pull request #205 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 16:24:20 +01:00
CrazyMax
862b6633f8
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 16:18:00 +01:00
dependabot[bot]
138de3b646
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:27:05 +00:00
CrazyMax
4574d27a47
Merge pull request #195 from radarhere/patch-1
Fixed typo
2025-02-06 14:23:14 +01:00
CrazyMax
7a38281c35
Merge pull request #197 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:22:31 +01:00
dependabot[bot]
7a1c63f9e5
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 06:06:55 +00:00
Andrew Murray
2825a1268f
Fixed typo
Signed-off-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2025-01-30 07:48:55 +11:00
CrazyMax
f30d974279
Merge pull request #193 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.53.0
build(deps): bump @docker/actions-toolkit from 0.49.0 to 0.53.0
2025-01-24 10:25:29 +01:00
CrazyMax
568bf0683b
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-24 10:22:44 +01:00
dependabot[bot]
a1aad7b5f5
build(deps): bump @docker/actions-toolkit from 0.49.0 to 0.53.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.49.0 to 0.53.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.49.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 06:42:07 +00:00
CrazyMax
e5daf5da4e
Merge pull request #189 from crazy-max/bake-v6
update bake-action to v6
2025-01-08 18:53:16 +01:00
CrazyMax
faec242d1f
update bake-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 13:12:39 +01:00
CrazyMax
53851d1459
Merge pull request #187 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.49.0
build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.49.0
2025-01-08 09:48:04 +01:00
CrazyMax
7066b9044f
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 09:45:58 +01:00
dependabot[bot]
75590814eb
build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.49.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.35.0 to 0.49.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.35.0...v0.49.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-08 08:42:07 +00:00
CrazyMax
08d11eb481
Merge pull request #172 from docker/dependabot/npm_and_yarn/actions/core-1.11.1
build(deps): bump @actions/core from 1.10.1 to 1.11.1
2025-01-08 09:40:08 +01:00
CrazyMax
e53506fe6c
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 09:35:52 +01:00
dependabot[bot]
610b4428f9
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>
2025-01-08 08:34:18 +00:00
CrazyMax
58a19f851c
Merge pull request #182 from docker/dependabot/npm_and_yarn/cross-spawn-7.0.6
build(deps): bump cross-spawn from 7.0.3 to 7.0.6
2025-01-08 09:31:49 +01:00
CrazyMax
49a12c4cc8
Merge pull request #180 from docker/dependabot/github_actions/codecov/codecov-action-5
build(deps): bump codecov/codecov-action from 4 to 5
2025-01-08 09:31:29 +01:00
CrazyMax
2b8ac83d96
ci: fix deprecated input for codecov-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 09:29:31 +01:00
Tõnis Tiigi
fdbeaac5ff
Merge pull request #130 from crazy-max/cache-image
cache-image input to enable/disable caching of binfmt image
2025-01-07 13:48:23 -08:00
CrazyMax
c3bed4ec62
chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-30 22:55:59 +01:00
CrazyMax
0d7f78d53b
cache-image input to enable/disable caching of binfmt image
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-30 22:54:51 +01:00
dependabot[bot]
4556918418
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-19 15:10:19 +00:00
dependabot[bot]
e267f33184
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 06:35:34 +00:00
CrazyMax
8b562efa09
Merge pull request #175 from crazy-max/publish-immutable-action
ci: publish as immutable action workflow
2024-10-26 00:41:07 +02:00
CrazyMax
2f493fa515
ci: publish as immutable action workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-25 13:11:58 +02:00
CrazyMax
719c55c4a5
Merge pull request #162 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:35 +02:00
dependabot[bot]
0d9790b125
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:56 +00:00
36 changed files with 3438 additions and 7648 deletions

View file

@ -1,3 +0,0 @@
/dist/**
/coverage/**
/node_modules/**

View file

@ -1,24 +0,0 @@
{
"env": {
"node": true,
"es6": true,
"jest": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jest",
"prettier"
]
}

View file

@ -14,7 +14,7 @@ to the public under the [project's open source license](LICENSE).
5. Format code and build javascript artifacts: `docker buildx bake pre-checkin` 5. Format code and build javascript artifacts: `docker buildx bake pre-checkin`
6. Validate all code has correctly formatted and built: `docker buildx bake validate` 6. Validate all code has correctly formatted and built: `docker buildx bake validate`
7. Push to your fork and [submit a pull request](https://github.com/docker/setup-qemu-action/compare) 7. Push to your fork and [submit a pull request](https://github.com/docker/setup-qemu-action/compare)
8. Pat your self on the back and wait for your pull request to be reviewed and merged. 8. Pat yourself 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: Here are a few things you can do that will increase the likelihood of your pull request being accepted:

View file

@ -4,6 +4,12 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
cooldown:
default-days: 2
groups:
crazy-max-dot-github:
patterns:
- "crazy-max/.github/*"
labels: labels:
- "dependencies" - "dependencies"
- "bot" - "bot"
@ -11,6 +17,8 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
cooldown:
default-days: 2
versioning-strategy: "increase" versioning-strategy: "increase"
allow: allow:
- dependency-type: "production" - dependency-type: "production"

View file

@ -1,10 +1,14 @@
name: ci name: ci
permissions:
contents: read
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
on: on:
workflow_dispatch:
schedule: schedule:
- cron: '0 10 * * *' - cron: '0 10 * * *'
push: push:
@ -21,7 +25,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Set up QEMU name: Set up QEMU
id: qemu id: qemu
@ -44,7 +48,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Set up QEMU name: Set up QEMU
id: qemu id: qemu
@ -61,7 +65,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Stop docker name: Stop docker
run: | run: |
@ -79,3 +83,45 @@ jobs:
echo "::error::Should have failed" echo "::error::Should have failed"
exit 1 exit 1
fi fi
cache-image:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cache:
- true
- false
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Set up QEMU
id: qemu
uses: ./
with:
image: tonistiigi/binfmt:master
cache-image: ${{ matrix.cache }}
-
name: Available platforms
run: echo ${{ steps.qemu.outputs.platforms }}
version:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
image:
- tonistiigi/binfmt:master
- tonistiigi/binfmt:latest
- tonistiigi/binfmt:qemu-v7.0.0
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Set up QEMU
uses: ./
with:
image: ${{ matrix.image }}

46
.github/workflows/codeql.yml vendored Normal file
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Enable corepack
run: |
corepack enable
yarn --version
-
name: Set up Node
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
with:
languages: javascript-typescript
build-mode: none
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
with:
category: "/language:javascript-typescript"

17
.github/workflows/pr-assign-author.yml vendored Normal file
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@bb328ea508cd6a89d0865555ddbeb148e5724aed # v1.3.0
permissions:
contents: read
pull-requests: write

28
.github/workflows/publish.yml vendored Normal file
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Publish
uses: actions/publish-immutable-action@4bc8754ffc40f27910afb20287dbbbb675a4e978 # v0.0.4

View file

@ -1,5 +1,8 @@
name: test name: test
permissions:
contents: read
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
@ -17,15 +20,16 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Test name: Test
uses: docker/bake-action@v5 uses: docker/bake-action@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0
with: with:
source: .
targets: test targets: test
- -
name: Upload coverage name: Upload coverage
uses: codecov/codecov-action@v4 uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with: with:
file: ./coverage/clover.xml files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}

56
.github/workflows/update-dist.yml vendored Normal file
View file

@ -0,0 +1,56 @@
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@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
with:
app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }}
private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }}
owner: docker
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
token: ${{ steps.docker-read-app.outputs.token }}
-
name: Build
uses: docker/bake-action@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.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 "chore: update generated content"
git push
)
else
echo "No changes in dist"
fi

View file

@ -1,5 +1,8 @@
name: validate name: validate
permissions:
contents: read
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
@ -15,16 +18,17 @@ jobs:
prepare: prepare:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
targets: ${{ steps.targets.outputs.matrix }} matrix: ${{ steps.generate.outputs.matrix }}
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Targets matrix name: Generate matrix
id: targets id: generate
run: | uses: docker/bake-action/subaction/matrix@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0
echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT with:
target: validate
validate: validate:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -33,13 +37,10 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }} include: ${{ fromJson(needs.prepare.outputs.matrix) }}
steps: steps:
-
name: Checkout
uses: actions/checkout@v4
- -
name: Validate name: Validate
uses: docker/bake-action@v5 uses: docker/bake-action@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0
with: with:
targets: ${{ matrix.target }} targets: ${{ matrix.target }}

29
.github/workflows/zizmor.yml vendored Normal file
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@bb328ea508cd6a89d0865555ddbeb148e5724aed # v1.3.0
permissions:
contents: read
security-events: write
with:
min-severity: medium
min-confidence: medium
persona: pedantic

3
.github/zizmor.yml vendored Normal file
View file

@ -0,0 +1,3 @@
rules:
secrets-outside-env: # FIXME: remove this rule when zizmor 1.24.0 is released, fixing the right persona attached to this rule: https://github.com/zizmorcore/zizmor/pull/1783
disable: true

View file

@ -6,6 +6,5 @@
"singleQuote": true, "singleQuote": true,
"trailingComma": "none", "trailingComma": "none",
"bracketSpacing": false, "bracketSpacing": false,
"arrowParens": "avoid", "arrowParens": "avoid"
"parser": "typescript"
} }

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,9 @@
# https://yarnpkg.com/configuration/yarnrc
compressionLevel: mixed
enableGlobalCache: false
enableHardenedMode: true
logFilters: logFilters:
- code: YN0013 - code: YN0013
level: discard level: discard
@ -5,9 +11,9 @@ logFilters:
level: discard level: discard
- code: YN0076 - code: YN0076
level: discard level: discard
- code: YN0086
level: discard
nodeLinker: node-modules nodeLinker: node-modules
plugins: npmAuthToken: "${NODE_AUTH_TOKEN:-fallback}"
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"

View file

@ -32,19 +32,33 @@ jobs:
steps: steps:
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v3 uses: docker/setup-qemu-action@v4
``` ```
> [!NOTE]
> If you are using [`docker/setup-buildx-action`](https://github.com/docker/setup-buildx-action),
> this action should come before it:
>
> ```yaml
> -
> name: Set up QEMU
> uses: docker/setup-qemu-action@v4
> -
> name: Set up Docker Buildx
> uses: docker/setup-buildx-action@v4
> ```
## Customizing ## Customizing
### inputs ### inputs
The following inputs can be used as `step.with` keys: The following inputs can be used as `step.with` keys:
| Name | Type | Default | Description | | Name | Type | Default | Description |
|-------------|--------|-------------------------------------------------------------------------------|--------------------------------------------------| |---------------|--------|-------------------------------------------------------------------------------|----------------------------------------------------|
| `image` | String | [`tonistiigi/binfmt:latest`](https://hub.docker.com/r/tonistiigi/binfmt/tags) | QEMU static binaries Docker image | | `image` | String | [`tonistiigi/binfmt:latest`](https://hub.docker.com/r/tonistiigi/binfmt/tags) | QEMU static binaries Docker image |
| `platforms` | String | `all` | Platforms to install (e.g., `arm64,riscv64,arm`) | | `platforms` | String | `all` | Platforms to install (e.g., `arm64,riscv64,arm`) |
| `cache-image` | Bool | `true` | Cache binfmt image to GitHub Actions cache backend |
### outputs ### outputs

View file

@ -1,6 +1,6 @@
import {beforeEach, describe, expect, test} from '@jest/globals'; import {beforeEach, describe, expect, test} from 'vitest';
import * as context from '../src/context'; import * as context from '../src/context.js';
describe('getInputs', () => { describe('getInputs', () => {
beforeEach(() => { beforeEach(() => {
@ -13,38 +13,46 @@ describe('getInputs', () => {
}); });
// prettier-ignore // prettier-ignore
test.each([ const cases: [number, Map<string, string>, context.Inputs][] = [
[ [
0, 0,
new Map<string, string>([]), new Map<string, string>([
['cache-image', 'true'],
]),
{ {
image: 'docker.io/tonistiigi/binfmt:latest', image: 'docker.io/tonistiigi/binfmt:latest',
platforms: 'all', platforms: 'all',
} as context.Inputs cacheImage: true,
}
], ],
[ [
1, 1,
new Map<string, string>([ new Map<string, string>([
['image', 'docker/binfmt:latest'], ['image', 'docker/binfmt:latest'],
['platforms', 'arm64,riscv64,arm'], ['platforms', 'arm64,riscv64,arm'],
['cache-image', 'false'],
]), ]),
{ {
image: 'docker/binfmt:latest', image: 'docker/binfmt:latest',
platforms: 'arm64,riscv64,arm', platforms: 'arm64,riscv64,arm',
} as context.Inputs cacheImage: false,
}
], ],
[ [
2, 2,
new Map<string, string>([ new Map<string, string>([
['platforms', 'arm64, riscv64, arm '], ['platforms', 'arm64, riscv64, arm '],
['cache-image', 'true'],
]), ]),
{ {
image: 'docker.io/tonistiigi/binfmt:latest', image: 'docker.io/tonistiigi/binfmt:latest',
platforms: 'arm64,riscv64,arm', platforms: 'arm64,riscv64,arm',
} as context.Inputs cacheImage: true,
}
] ]
])( ];
'[%d] given %p as inputs, returns %p', test.each(cases)(
'[%d] given %o as inputs, returns %o',
async (num: number, inputs: Map<string, string>, expected: context.Inputs) => { async (num: number, inputs: Map<string, string>, expected: context.Inputs) => {
inputs.forEach((value: string, name: string) => { inputs.forEach((value: string, name: string) => {
setInput(name, value); setInput(name, value);

12
__tests__/setup.unit.ts Normal file
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-qemu-action-'));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/setup-qemu-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
});

View file

@ -15,11 +15,16 @@ inputs:
description: 'Platforms to install (e.g. arm64,riscv64,arm)' description: 'Platforms to install (e.g. arm64,riscv64,arm)'
default: 'all' default: 'all'
required: false required: false
cache-image:
description: 'Cache binfmt image to GitHub Actions cache backend'
default: 'true'
required: false
outputs: outputs:
platforms: platforms:
description: 'Available platforms (comma separated)' description: 'Available platforms (comma separated)'
runs: runs:
using: 'node20' using: 'node24'
main: 'dist/index.js' main: 'dist/index.js'
post: 'dist/index.js'

View file

@ -1,12 +1,13 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
ARG NODE_VERSION=20 ARG NODE_VERSION=24
FROM node:${NODE_VERSION}-alpine AS base FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git RUN apk add --no-cache cpio findutils git rsync
WORKDIR /src WORKDIR /src
RUN --mount=type=bind,target=.,rw \ RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT --mount=type=cache,target=/src/.yarn/cache <<EOT
set -e
corepack enable corepack enable
yarn --version yarn --version
yarn config set --home enableTelemetry 0 yarn config set --home enableTelemetry 0
@ -34,18 +35,27 @@ RUN --mount=type=bind,target=.,rw <<EOT
EOT EOT
FROM deps AS build FROM deps AS build
RUN --mount=type=bind,target=.,rw \ RUN --mount=target=/context \
--mount=type=cache,target=/src/.yarn/cache \ --mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \ --mount=type=cache,target=/src/node_modules <<EOT
yarn run build && mkdir /out && cp -Rf dist /out/ set -e
rsync -a /context/. .
rm -rf dist
yarn run build
mkdir /out
cp -r dist /out
EOT
FROM scratch AS build-update FROM scratch AS build-update
COPY --from=build /out / COPY --from=build /out /
FROM build AS build-validate FROM build AS build-validate
RUN --mount=type=bind,target=.,rw <<EOT RUN --mount=target=/context \
--mount=target=.,type=tmpfs <<EOT
set -e set -e
rsync -a /context/. .
git add -A git add -A
rm -rf dist
cp -rf /out/* . cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"' echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
@ -58,8 +68,7 @@ FROM deps AS format
RUN --mount=type=bind,target=.,rw \ RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \ --mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \ --mount=type=cache,target=/src/node_modules \
yarn run format \ yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update FROM scratch AS format-update
COPY --from=format /out / COPY --from=format /out /
@ -74,7 +83,7 @@ FROM deps AS test
RUN --mount=type=bind,target=.,rw \ RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \ --mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \ --mount=type=cache,target=/src/node_modules \
yarn run test --coverage --coverageDirectory=/tmp/coverage yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
FROM scratch AS test-coverage FROM scratch AS test-coverage
COPY --from=test /tmp/coverage / COPY --from=test /tmp/coverage /

105
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

2488
dist/licenses.txt generated vendored

File diff suppressed because it is too large Load diff

3
dist/package.json generated vendored Normal file
View file

@ -0,0 +1,3 @@
{
"type": "module"
}

1
dist/sourcemap-register.cjs generated vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/sourcemap-register.js generated vendored

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,9 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" { group "default" {
targets = ["build"] targets = ["build"]
} }
@ -11,42 +17,49 @@ group "validate" {
} }
target "build" { target "build" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "build-update" target = "build-update"
output = ["."] output = ["."]
} }
target "build-validate" { target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "build-validate" target = "build-validate"
output = ["type=cacheonly"] output = ["type=cacheonly"]
} }
target "format" { target "format" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "format-update" target = "format-update"
output = ["."] output = ["."]
} }
target "lint" { target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "lint" target = "lint"
output = ["type=cacheonly"] output = ["type=cacheonly"]
} }
target "vendor" { target "vendor" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "vendor-update" target = "vendor-update"
output = ["."] output = ["."]
} }
target "vendor-validate" { target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "vendor-validate" target = "vendor-validate"
output = ["type=cacheonly"] output = ["type=cacheonly"]
} }
target "test" { target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile" dockerfile = "dev.Dockerfile"
target = "test-coverage" target = "test-coverage"
output = ["./coverage"] output = ["./coverage"]

52
eslint.config.mjs Normal file
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
}
]
}
}
]);

View file

@ -1,29 +0,0 @@
import fs from 'fs';
import os from 'os';
import path from 'path';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-setup-qemu-action-'));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/setup-qemu-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
}) as {
[key: string]: string;
};
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
testMatch: ['**/*.test.ts'],
transform: {
'^.+\\.ts$': 'ts-jest'
},
moduleNameMapper: {
'^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs'
},
collectCoverageFrom: ['src/**/{!(main.ts),}.ts'],
coveragePathIgnorePatterns: ['lib/', 'node_modules/', '__mocks__/', '__tests__/'],
verbose: true
};

View file

@ -1,16 +1,13 @@
{ {
"name": "docker-setup-qemu", "name": "docker-setup-qemu",
"description": "Install QEMU static binaries", "description": "Install QEMU static binaries",
"type": "module",
"main": "src/main.ts", "main": "src/main.ts",
"scripts": { "scripts": {
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt", "build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
"lint": "yarn run prettier && yarn run eslint", "lint": "eslint --max-warnings=0 .",
"format": "yarn run prettier:fix && yarn run eslint:fix", "format": "eslint --fix .",
"eslint": "eslint --max-warnings=0 .", "test": "vitest run"
"eslint:fix": "eslint --fix .",
"prettier": "prettier --check \"./**/*.ts\"",
"prettier:fix": "prettier --write \"./**/*.ts\"",
"test": "jest"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -23,24 +20,25 @@
], ],
"author": "Docker Inc.", "author": "Docker Inc.",
"license": "Apache-2.0", "license": "Apache-2.0",
"packageManager": "yarn@3.6.3", "packageManager": "yarn@4.9.2",
"dependencies": { "dependencies": {
"@actions/core": "^1.10.1", "@actions/core": "^3.0.0",
"@docker/actions-toolkit": "^0.35.0" "@docker/actions-toolkit": "^0.79.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.12.12", "@eslint/js": "^9.39.3",
"@typescript-eslint/eslint-plugin": "^7.9.0", "@types/node": "^24.11.0",
"@typescript-eslint/parser": "^7.9.0", "@typescript-eslint/eslint-plugin": "^8.56.1",
"@vercel/ncc": "^0.38.1", "@typescript-eslint/parser": "^8.56.1",
"eslint": "^8.57.0", "@vercel/ncc": "^0.38.4",
"eslint-config-prettier": "^9.1.0", "@vitest/coverage-v8": "^4.0.18",
"eslint-plugin-jest": "^28.5.0", "@vitest/eslint-plugin": "^1.6.9",
"eslint-plugin-prettier": "^5.1.3", "eslint": "^9.39.3",
"jest": "^29.7.0", "eslint-config-prettier": "^10.1.8",
"prettier": "^3.2.5", "eslint-plugin-prettier": "^5.5.5",
"ts-jest": "^29.1.2", "globals": "^17.3.0",
"ts-node": "^10.9.2", "prettier": "^3.8.1",
"typescript": "^5.4.5" "typescript": "^5.9.3",
"vitest": "^4.0.18"
} }
} }

View file

@ -1,14 +1,16 @@
import * as core from '@actions/core'; import * as core from '@actions/core';
import {Util} from '@docker/actions-toolkit/lib/util'; import {Util} from '@docker/actions-toolkit/lib/util.js';
export interface Inputs { export interface Inputs {
image: string; image: string;
platforms: string; platforms: string;
cacheImage: boolean;
} }
export function getInputs(): Inputs { export function getInputs(): Inputs {
return { return {
image: core.getInput('image') || 'docker.io/tonistiigi/binfmt:latest', image: core.getInput('image') || 'docker.io/tonistiigi/binfmt:latest',
platforms: Util.getInputList('platforms').join(',') || 'all' platforms: Util.getInputList('platforms').join(',') || 'all',
cacheImage: core.getBooleanInput('cache-image')
}; };
} }

View file

@ -1,8 +1,9 @@
import * as context from './context';
import * as core from '@actions/core'; import * as core from '@actions/core';
import * as actionsToolkit from '@docker/actions-toolkit'; import * as actionsToolkit from '@docker/actions-toolkit';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
import * as context from './context.js';
interface Platforms { interface Platforms {
supported: string[]; supported: string[];
@ -20,7 +21,11 @@ actionsToolkit.run(
}); });
await core.group(`Pulling binfmt Docker image`, async () => { await core.group(`Pulling binfmt Docker image`, async () => {
await Docker.getExecOutput(['pull', input.image], { await Docker.pull(input.image, input.cacheImage);
});
await core.group(`Image info`, async () => {
await Docker.getExecOutput(['image', 'inspect', input.image], {
ignoreReturnCode: true ignoreReturnCode: true
}).then(res => { }).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) { if (res.stderr.length > 0 && res.exitCode != 0) {
@ -29,8 +34,8 @@ actionsToolkit.run(
}); });
}); });
await core.group(`Image info`, async () => { await core.group(`Binfmt version`, async () => {
await Docker.getExecOutput(['image', 'inspect', input.image], { await Docker.getExecOutput(['run', '--rm', '--privileged', input.image, '--version'], {
ignoreReturnCode: true ignoreReturnCode: true
}).then(res => { }).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) { if (res.stderr.length > 0 && res.exitCode != 0) {

View file

@ -1,9 +1,8 @@
{ {
"compilerOptions": { "compilerOptions": {
"module": "nodenext",
"moduleResolution": "nodenext",
"esModuleInterop": true, "esModuleInterop": true,
"target": "es6",
"module": "commonjs",
"strict": true,
"newLine": "lf", "newLine": "lf",
"outDir": "./lib", "outDir": "./lib",
"rootDir": "./src", "rootDir": "./src",
@ -12,10 +11,7 @@
"resolveJsonModule": true, "resolveJsonModule": true,
"useUnknownInCatchVariables": false, "useUnknownInCatchVariables": false,
}, },
"exclude": [ "include": [
"./__tests__/**/*", "src/**/*.ts"
"./lib/**/*",
"node_modules",
"jest.config.ts"
] ]
} }

16
vitest.config.ts Normal file
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']
}
}
});

7344
yarn.lock

File diff suppressed because it is too large Load diff