Compare commits

...

105 Commits

Author SHA1 Message Date
CrazyMax
1a6edb0ba9 Merge pull request #215 from crazy-max/node24
node 24 as default runtime
2026-03-02 18:02:06 +01:00
CrazyMax
1c63d0a9bc node 24 as default runtime
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 14:57:51 +01:00
CrazyMax
36efcb97db Merge pull request #214 from crazy-max/fix-vendoring
dockerfile: fix vendoring
2026-03-02 11:08:58 +01:00
CrazyMax
61e47f647f Merge pull request #213 from crazy-max/update-yarn
update yarn to 4.9.2
2026-03-02 11:08:34 +01:00
CrazyMax
64e9804c90 dockerfile: fix vendoring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:48:17 +01:00
CrazyMax
ca54cb1e9e update yarn to 4.9.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 01:36:01 +01:00
CrazyMax
2d1c601523 Merge pull request #209 from docker/dependabot/npm_and_yarn/fast-xml-parser-5.3.6
build(deps): bump fast-xml-parser from 5.3.4 to 5.4.1
2026-02-28 01:06:42 +01:00
CrazyMax
87e5e87f0e Merge pull request #208 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-02-28 00:59:06 +01:00
github-actions[bot]
c5620aed45 chore: update generated content 2026-02-27 23:54:32 +00:00
dependabot[bot]
76747bc859 build(deps): bump fast-xml-parser from 5.3.4 to 5.3.6
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.4 to 5.3.6.
- [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.3.4...v5.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-27 23:53:20 +00:00
dependabot[bot]
ba311ac264 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-27 23:48:31 +00:00
CrazyMax
817f81dc01 Merge pull request #204 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.76.0
build(deps): bump @docker/actions-toolkit from 0.71.0 to 0.77.0
2026-02-28 00:46:26 +01:00
github-actions[bot]
f524fc8e8f chore: update generated content 2026-02-27 23:28:40 +00:00
dependabot[bot]
d628ef03a6 build(deps): bump @docker/actions-toolkit from 0.71.0 to 0.76.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.71.0 to 0.76.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.71.0...v0.76.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-27 23:27:25 +00:00
CrazyMax
bd87803de9 Merge pull request #205 from docker/dependabot/npm_and_yarn/actions/core-3.0.0
build(deps): bump @actions/core from 2.0.1 to 3.0.0
2026-02-28 00:25:31 +01:00
github-actions[bot]
d758fac2f6 chore: update generated content 2026-02-27 23:00:39 +00:00
dependabot[bot]
994ca6a470 build(deps): bump @actions/core from 2.0.1 to 3.0.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 2.0.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-02-27 22:59:23 +00:00
CrazyMax
567531d87b Merge pull request #212 from crazy-max/esm
switch to ESM and update config/test wiring
2026-02-27 23:56:39 +01:00
CrazyMax
9ba91cefb5 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-27 18:32:01 +01:00
CrazyMax
73dd80d85e update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-27 18:29:32 +01:00
CrazyMax
6d927c4c13 switch to ESM and update config/test wiring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-27 18:28:51 +01:00
CrazyMax
48428700fb switch from jest to vitest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-27 18:24:25 +01:00
CrazyMax
206b75dbd2 Merge pull request #207 from docker/dependabot/npm_and_yarn/fast-xml-parser-5.3.4
build(deps): bump fast-xml-parser from 5.3.3 to 5.3.4
2026-02-02 17:32:23 +01:00
github-actions[bot]
c5226a330b chore: update generated content 2026-01-30 23:14:52 +00:00
dependabot[bot]
7ca7d98ba6 build(deps): bump fast-xml-parser from 5.3.3 to 5.3.4
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.3 to 5.3.4.
- [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.3.3...v5.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 23:13:34 +00:00
CrazyMax
44cc003740 Merge pull request #202 from docker/dependabot/npm_and_yarn/lodash-4.17.23
build(deps): bump lodash from 4.17.21 to 4.17.23
2026-01-29 18:01:32 +01:00
CrazyMax
992974e691 Merge pull request #206 from crazy-max/update-dist-workflow
ci: update-dist workflow
2026-01-29 17:50:19 +01:00
CrazyMax
1d3903993e ci: update-dist workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-29 16:27:39 +01:00
dependabot[bot]
dabbf8396d 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 01:47:12 +00:00
Paweł Gronowski
e43656e248 Merge pull request #193 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.71.0
build(deps): bump @docker/actions-toolkit from 0.69.0 to 0.71.0
2025-12-19 15:08:37 +00:00
CrazyMax
51b16473d8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-19 15:47:58 +01:00
dependabot[bot]
34fbc53a71 build(deps): bump @docker/actions-toolkit from 0.69.0 to 0.71.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.69.0 to 0.71.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.69.0...v0.71.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 13:51:44 +00:00
CrazyMax
ec52bdf18d Merge pull request #196 from docker/dependabot/npm_and_yarn/js-yaml-3.14.2
build(deps): bump js-yaml from 3.14.1 to 3.14.2
2025-12-19 14:49:38 +01:00
Paweł Gronowski
c2e06996ea Merge pull request #192 from docker/dependabot/npm_and_yarn/actions/core-2.0.1
build(deps): bump @actions/core from 1.11.1 to 2.0.1
2025-12-19 13:28:29 +00:00
CrazyMax
02a35a12bc chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-19 13:31:18 +01:00
dependabot[bot]
1d30751f7d 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>
2025-12-19 12:30:01 +00:00
dependabot[bot]
20e0c03a8d build(deps): bump @actions/core from 1.11.1 to 2.0.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.11.1 to 2.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/artifact@2.0.1/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 12:28:32 +00:00
CrazyMax
069eb67b1b Merge pull request #194 from crazy-max/update-dev-deps
update dev dependencies
2025-12-19 13:23:13 +01:00
CrazyMax
c17c6939ae chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-19 10:29:49 +01:00
CrazyMax
42e161ad30 update jest config since 30.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-19 10:25:42 +01:00
CrazyMax
37fd203c16 migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-19 10:23:58 +01:00
CrazyMax
c33cda087a update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-19 10:15:30 +01:00
CrazyMax
714148933e Merge pull request #190 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.69.0
build(deps): bump @docker/actions-toolkit from 0.68.0 to 0.69.0
2025-12-03 10:00:58 +01:00
CrazyMax
56702790ee chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-02 18:55:30 +01:00
dependabot[bot]
b989044537 build(deps): bump @docker/actions-toolkit from 0.68.0 to 0.69.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.68.0 to 0.69.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.68.0...v0.69.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 16:43:22 +00:00
CrazyMax
f2e530b12f Merge pull request #185 from polarctos/patch-1
Add github-token input to readme
2025-11-28 16:28:47 +01:00
polarctos
db7d380101 Add github-token input to readme
Signed-off-by: polarctos <polarctos@users.noreply.github.com>
2025-11-28 15:58:12 +01:00
CrazyMax
e61617a16c Merge pull request #189 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.68.0
build(deps): bump @docker/actions-toolkit from 0.65.0 to 0.68.0
2025-11-27 12:31:47 +01:00
CrazyMax
4d3a27b3a8 Merge pull request #187 from docker/dependabot/github_actions/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6
2025-11-27 12:10:26 +01:00
CrazyMax
84eefba60b chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-27 11:35:38 +01:00
dependabot[bot]
71cca025e9 build(deps): bump @docker/actions-toolkit from 0.65.0 to 0.68.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.65.0 to 0.68.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.65.0...v0.68.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 10:31:46 +00:00
dependabot[bot]
beedf3fcfc 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 10:07:13 +00:00
CrazyMax
efe9e3891a Merge pull request #182 from crazy-max/releases-gh-token
set github token to list releases and download assets
2025-11-04 11:46:09 +01:00
Paweł Gronowski
78e4df2bef Merge pull request #180 from crazy-max/macos-15
ci: update to macos-15-intel
2025-11-04 10:57:59 +01:00
CrazyMax
9321b687cf chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-03 23:28:53 +01:00
CrazyMax
276a2f38a4 set github token to list releases and download assets
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-03 23:28:52 +01:00
CrazyMax
4160483120 ci: update to macos-15-intel
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-03 16:31:39 +01:00
CrazyMax
b71d5ee00d Merge pull request #179 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.65.0
build(deps): bump @docker/actions-toolkit from 0.64.0 to 0.65.0
2025-11-03 16:31:26 +01:00
CrazyMax
d3f310eaa3 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-03 16:20:03 +01:00
dependabot[bot]
c8283cc2af build(deps): bump @docker/actions-toolkit from 0.64.0 to 0.65.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.64.0 to 0.65.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.64.0...v0.65.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 14:01:14 +00:00
CrazyMax
3fb92d6d9c Merge pull request #177 from docker/dependabot/npm_and_yarn/npm_and_yarn-9eb7991974
build(deps): bump the npm_and_yarn group across 1 directory with 2 updates
2025-10-16 14:18:45 +02:00
CrazyMax
138843162e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-10-16 14:17:13 +02:00
dependabot[bot]
4d8e316444 build(deps): bump the npm_and_yarn group across 1 directory with 2 updates
Bumps the npm_and_yarn group with 2 updates in the / directory: [brace-expansion](https://github.com/juliangruber/brace-expansion) and [undici](https://github.com/nodejs/undici).


Updates `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)

Updates `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: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: undici
  dependency-version: 5.29.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 12:10:45 +00:00
CrazyMax
13bc64bf22 Merge pull request #175 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.64.0
build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.64.0
2025-10-16 14:07:57 +02:00
CrazyMax
9b44f456e3 ci: test docker 29 release
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-10-16 12:42:50 +02:00
CrazyMax
db9988d080 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-10-16 12:37:54 +02:00
dependabot[bot]
80ba8d8f5f build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.64.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.62.1 to 0.64.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.62.1...v0.64.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 10:35:32 +00:00
CrazyMax
48f9dddab2 Merge pull request #173 from docker/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-10-16 12:33:51 +02:00
dependabot[bot]
746efa2ccb 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 18:02:20 +00:00
CrazyMax
46897a6289 Merge pull request #167 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-06 22:04:03 +02:00
CrazyMax
74ac62f5d7 Merge pull request #168 from ArunKumarT1995/feature/rundirinput
Add input for runtime basedir
2025-08-06 22:03:44 +02:00
CrazyMax
a4da7e5ab9 readme: fix inputs table
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 21:43:43 +02:00
CrazyMax
8f22df35b2 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 21:43:42 +02:00
CrazyMax
d2d8fc9bf5 move runtime-basedir default to context
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 21:43:42 +02:00
ArunKumarT1995
de8d0f39ec add runtime-basedir input
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 21:36:25 +02:00
dependabot[bot]
0d6d6d60ff 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:11:51 +00:00
CrazyMax
29412e2cf6 Merge pull request #165 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:57:58 +02:00
CrazyMax
59de7d6072 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-16 14:43:08 +02:00
CrazyMax
7fa26c3c14 update since docker install constructor changes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-16 14:40:11 +02:00
dependabot[bot]
3072e160e1 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-05-28 10:32:21 +00:00
CrazyMax
efe6ba76e3 Merge pull request #163 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.61.0
build(deps): bump @docker/actions-toolkit from 0.57.0 to 0.61.0
2025-05-13 13:57:16 +02:00
CrazyMax
1211ebfa1f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-05-12 14:12:41 +02:00
CrazyMax
63f2e57f85 setup regctl and undock
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-05-12 14:06:55 +02:00
dependabot[bot]
b7bb1d4426 build(deps): bump @docker/actions-toolkit from 0.57.0 to 0.61.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.57.0 to 0.61.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.57.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:33:30 +00:00
CrazyMax
7db77378a9 Merge pull request #162 from crazy-max/pr-assign-author
pr-assign-author workflow
2025-04-23 16:09:53 +02:00
CrazyMax
2d89c571bd pr-assign-author workflow 2025-04-23 14:20:59 +02:00
CrazyMax
f27261ca18 Merge pull request #160 from crazy-max/fix-codecov
ci: fix missing source for codecov
2025-04-22 14:53:31 +02:00
CrazyMax
a39f563e16 ci: fix missing source for codecov 2025-04-22 14:36:35 +02:00
CrazyMax
54c51f4ee8 Merge pull request #156 from crazy-max/ci-test-latest
ci: test latest docker version
2025-03-18 12:23:39 +01:00
CrazyMax
364f5e215c ci: test latest docker version 2025-03-18 11:49:03 +01:00
CrazyMax
b60f85385d Merge pull request #154 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.57.0
build(deps): bump @docker/actions-toolkit from 0.56.0 to 0.57.0
2025-03-12 10:10:05 +01:00
CrazyMax
643c69a8cb chore: update generated content 2025-03-12 09:56:06 +01:00
dependabot[bot]
5c724e91b0 build(deps): bump @docker/actions-toolkit from 0.56.0 to 0.57.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.56.0 to 0.57.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.56.0...v0.57.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-03-11 11:36:06 +00:00
CrazyMax
c2d73c1a11 Merge pull request #153 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.56.0
build(deps): bump @docker/actions-toolkit from 0.53.0 to 0.56.0
2025-02-26 16:38:52 +01:00
CrazyMax
bb512e8cb4 chore: update generated content 2025-02-26 16:16:11 +01:00
dependabot[bot]
36de8cc80a build(deps): bump @docker/actions-toolkit from 0.53.0 to 0.56.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.53.0 to 0.56.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.53.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:04 +00:00
CrazyMax
f96ea45537 Merge pull request #149 from crazy-max/ci-arm64
ci: test ubuntu arm64 runners
2025-01-28 11:42:33 +01:00
CrazyMax
6b291a174a Merge pull request #147 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-28 10:48:44 +01:00
CrazyMax
d44b774c56 ci: test ubuntu arm64 runners 2025-01-28 10:40:04 +01:00
CrazyMax
057bfa9666 chore: update generated content 2025-01-28 10:23:13 +01:00
CrazyMax
0f738e9bf9 Merge pull request #148 from crazy-max/publish-immutable-action
ci: publish as immutable action workflow
2025-01-28 10:05:34 +01:00
CrazyMax
a329cfc112 ci: publish as immutable action workflow 2025-01-28 09:49:05 +01:00
dependabot[bot]
979ffe9e09 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-23 10:48:18 +00:00
CrazyMax
847482916a Merge pull request #143 from crazy-max/bake-v6
update bake-action to v6
2025-01-08 18:53:23 +01:00
CrazyMax
d6e275d4ff update bake-action to v6 2025-01-08 13:04:17 +01:00
31 changed files with 3239 additions and 8503 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

@@ -28,16 +28,17 @@ jobs:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 - ubuntu-24.04-arm
- macos-13 - macos-15-intel
- windows-latest - windows-latest
version: version:
- ""
- v27.3.1 - v27.3.1
- type=image,tag=27.3.1 - type=image,tag=27.3.1
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@@ -51,13 +52,13 @@ jobs:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 - ubuntu-24.04-arm
- macos-13 - macos-15-intel
- windows-latest - windows-latest
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@@ -72,13 +73,13 @@ jobs:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 - ubuntu-24.04-arm
- macos-13 - macos-15-intel
- windows-latest - windows-latest
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@@ -99,13 +100,13 @@ jobs:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 - ubuntu-24.04-arm
- macos-13 - macos-15-intel
- windows-latest - windows-latest
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@@ -118,12 +119,11 @@ jobs:
docker context inspect foo docker context inspect foo
lima-start-args: lima-start-args:
#runs-on: macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 runs-on: macos-15-intel
runs-on: macos-13
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@@ -143,7 +143,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Uninstall containerd name: Uninstall containerd
if: matrix.containerd == 'containerd-tarball' if: matrix.containerd == 'containerd-tarball'
@@ -183,12 +183,11 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: os:
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 - macos-15-intel
- macos-13
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@@ -222,7 +221,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@@ -243,7 +242,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@@ -260,7 +259,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
uses: ./ uses: ./
@@ -279,13 +278,13 @@ jobs:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317 - ubuntu-24.04-arm
- macos-13 - macos-15-intel
- windows-latest - windows-latest
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Set up Docker name: Set up Docker
id: setup_docker id: setup_docker
@@ -299,3 +298,47 @@ jobs:
docker info docker info
env: env:
DOCKER_HOST: ${{ steps.setup_docker.outputs.tcp }} DOCKER_HOST: ${{ steps.setup_docker.outputs.tcp }}
undock-regctl-version:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
undock_version:
- ''
- v0.9.0
regctl_version:
- ''
- v0.8.2
steps:
-
name: Checkout
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
with:
version: type=image
env:
UNDOCK_VERSION: ${{ matrix.undock_version }}
REGCTL_VERSION: ${{ matrix.regctl_version }}
docker-29:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-15-intel
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
with:
version: v29.0.0-rc.1
channel: test

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:
types:
- opened
- reopened
jobs:
run:
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@1b673f36fad86812f538c1df9794904038a23cbf
permissions:
contents: read
pull-requests: write

21
.github/workflows/publish.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
name: publish
on:
release:
types:
- published
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
-
name: Checkout
uses: actions/checkout@v6
-
name: Publish
uses: actions/publish-immutable-action@v0.0.4

View File

@@ -17,15 +17,16 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Test name: Test
uses: docker/bake-action@v5 uses: docker/bake-action@v6
with: with:
targets: test targets: test
- -
name: Upload coverage name: Upload coverage
uses: codecov/codecov-action@v5 uses: codecov/codecov-action@v5
with: with:
source: .
files: ./coverage/clover.xml files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}

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

@@ -0,0 +1,49 @@
name: update-dist
on:
pull_request:
types:
- opened
- synchronize
jobs:
update-dist:
if: github.actor == 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
-
name: GitHub auth token from GitHub App
id: docker-read-app
uses: actions/create-github-app-token@v2
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@v6
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
token: ${{ steps.docker-read-app.outputs.token || github.token }}
-
name: Build
uses: docker/bake-action@v6
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

@@ -15,16 +15,17 @@ jobs:
prepare: prepare:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
targets: ${{ steps.targets.outputs.matrix }} targets: ${{ steps.generate.outputs.targets }}
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- -
name: Targets matrix name: List targets
id: targets id: generate
run: | uses: docker/bake-action/subaction/list-targets@v6
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
@@ -35,11 +36,8 @@ jobs:
matrix: matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }} target: ${{ fromJson(needs.prepare.outputs.targets) }}
steps: steps:
-
name: Checkout
uses: actions/checkout@v4
- -
name: Validate name: Validate
uses: docker/bake-action@v5 uses: docker/bake-action@v6
with: with:
targets: ${{ matrix.target }} targets: ${{ matrix.target }}

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,7 @@ logFilters:
level: discard level: discard
- code: YN0076 - code: YN0076
level: discard level: discard
- code: YN0086
level: discard
nodeLinker: node-modules nodeLinker: node-modules
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"

View File

@@ -114,7 +114,7 @@ jobs:
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 |
|-----------------|--------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------| |-------------------|--------|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `version` | String | `latest` | Docker version to use. See [inputs.version](#inputs.version). | | `version` | String | `latest` | Docker version to use. See [inputs.version](#inputs.version). |
| `channel` | String | `stable` | Docker CE [channel](https://download.docker.com/linux/static/) (`stable` or `test`). Only applicable to `type=archive` | | `channel` | String | `stable` | Docker CE [channel](https://download.docker.com/linux/static/) (`stable` or `test`). Only applicable to `type=archive` |
| `daemon-config` | String | | [Docker daemon JSON configuration](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file) | | `daemon-config` | String | | [Docker daemon JSON configuration](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file) |
@@ -122,6 +122,8 @@ The following inputs can be used as `step.with` keys
| `context` | String | `setup-docker-action` | Docker context name. | | `context` | String | `setup-docker-action` | Docker context name. |
| `set-host` | Bool | `false` | Set `DOCKER_HOST` environment variable to docker socket path. | | `set-host` | Bool | `false` | Set `DOCKER_HOST` environment variable to docker socket path. |
| `rootless` | Bool | `false` | Start daemon in rootless mode | | `rootless` | Bool | `false` | Start daemon in rootless mode |
| `runtime-basedir` | String | `<home>/setup-docker-action` | Docker runtime base directory |
| `github-token` | String | `${{ github.token }}` | Optional GitHub Token used to get releases and download assets to avoid rate limitation. On GitHub Enterprise, you might need to set a PAT for `github.com`. |
### inputs.version ### inputs.version

View File

@@ -1,6 +1,8 @@
import {beforeEach, describe, expect, test} from '@jest/globals'; import {beforeEach, describe, expect, test} from 'vitest';
import * as os from 'os';
import * as path from 'path';
import * as context from '../src/context'; import * as context from '../src/context.js';
describe('getInputs', () => { describe('getInputs', () => {
beforeEach(() => { beforeEach(() => {
@@ -13,7 +15,7 @@ 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>([
@@ -30,8 +32,10 @@ describe('getInputs', () => {
context: '', context: '',
daemonConfig: '', daemonConfig: '',
rootless: false, rootless: false,
setHost: false setHost: false,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
[ [
1, 1,
@@ -52,8 +56,10 @@ describe('getInputs', () => {
context: 'foo', context: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`, daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`,
rootless: false, rootless: false,
setHost: false setHost: false,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
[ [
2, 2,
@@ -70,8 +76,10 @@ describe('getInputs', () => {
context: '', context: '',
daemonConfig: '', daemonConfig: '',
rootless: false, rootless: false,
setHost: true setHost: true,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
[ [
3, 3,
@@ -90,8 +98,10 @@ describe('getInputs', () => {
context: 'foo', context: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`, daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`,
rootless: false, rootless: false,
setHost: false setHost: false,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
[ [
4, 4,
@@ -108,8 +118,10 @@ describe('getInputs', () => {
context: '', context: '',
daemonConfig: '', daemonConfig: '',
rootless: false, rootless: false,
setHost: false setHost: false,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
[ [
5, 5,
@@ -128,7 +140,9 @@ describe('getInputs', () => {
context: '', context: '',
daemonConfig: '', daemonConfig: '',
rootless: false, rootless: false,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
[ [
6, 6,
@@ -147,7 +161,9 @@ describe('getInputs', () => {
context: '', context: '',
daemonConfig: '', daemonConfig: '',
rootless: false, rootless: false,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
[ [
7, 7,
@@ -165,7 +181,9 @@ describe('getInputs', () => {
context: '', context: '',
daemonConfig: '', daemonConfig: '',
rootless: false, rootless: false,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
[ [
8, 8,
@@ -183,7 +201,9 @@ describe('getInputs', () => {
context: '', context: '',
daemonConfig: '', daemonConfig: '',
rootless: true, rootless: true,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
[ [
9, 9,
@@ -203,11 +223,14 @@ describe('getInputs', () => {
daemonConfig: '', daemonConfig: '',
tcpPort: 2378, tcpPort: 2378,
rootless: false, rootless: false,
setHost: false setHost: false,
} as context.Inputs runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
], ],
])( ];
'[%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-docker-action-'));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/setup-docker-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
});

View File

@@ -31,6 +31,13 @@ inputs:
description: 'Enable Docker rootless mode' description: 'Enable Docker rootless mode'
default: 'false' default: 'false'
required: false required: false
runtime-basedir:
description: 'Docker runtime base directory'
required: false
github-token:
description: "GitHub Token used to get releases and download assets"
default: ${{ github.token }}
required: false
outputs: outputs:
sock: sock:
@@ -39,6 +46,6 @@ outputs:
description: "Docker TCP address if tcp-port is set" description: "Docker TCP address if tcp-port is set"
runs: runs:
using: 'node20' using: 'node24'
main: 'dist/index.js' main: 'dist/index.js'
post: '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
@@ -27,25 +28,34 @@ RUN --mount=type=bind,target=.,rw <<EOT
git add -A git add -A
cp -rf /vendor/* . cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"' echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock git status --porcelain -- yarn.lock
exit 1 exit 1
fi fi
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/*' | 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

2632
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-update" { target "vendor-update" {
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,30 +0,0 @@
import fs from 'fs';
import os from 'os';
import path from 'path';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-setup-docker-action-'));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/setup-docker-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,
testEnvironment: 'node',
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-docker", "name": "docker-setup-docker",
"description": "Set up Docker for use in GitHub Actions by downloading and installing a version of Docker CE", "description": "Set up Docker for use in GitHub Actions by downloading and installing a version of Docker CE",
"main": "lib/main.js", "type": "module",
"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",
"all": "yarn run build && yarn run format && yarn test" "all": "yarn run build && yarn run format && yarn test"
}, },
"repository": { "repository": {
@@ -24,24 +21,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.11.1", "@actions/core": "^3.0.0",
"@docker/actions-toolkit": "^0.49.0" "@docker/actions-toolkit": "^0.77.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.6.0", "@eslint/js": "^9.39.3",
"@typescript-eslint/eslint-plugin": "^6.6.0", "@types/node": "^24.11.0",
"@typescript-eslint/parser": "^6.6.0", "@typescript-eslint/eslint-plugin": "^8.56.1",
"@vercel/ncc": "^0.38.0", "@typescript-eslint/parser": "^8.56.1",
"eslint": "^8.49.0", "@vercel/ncc": "^0.38.4",
"eslint-config-prettier": "^9.0.0", "@vitest/coverage-v8": "^4.0.18",
"eslint-plugin-jest": "^27.2.3", "@vitest/eslint-plugin": "^1.6.9",
"eslint-plugin-prettier": "^5.0.0", "eslint": "^9.39.3",
"jest": "^29.6.4", "eslint-config-prettier": "^10.1.8",
"prettier": "^3.0.3", "eslint-plugin-prettier": "^5.5.5",
"ts-jest": "^29.1.1", "globals": "^17.3.0",
"ts-node": "^10.9.1", "prettier": "^3.8.1",
"typescript": "^5.2.2" "typescript": "^5.9.3",
"vitest": "^4.0.18"
} }
} }

View File

@@ -1,8 +1,10 @@
import os from 'os';
import path from 'path';
import * as core from '@actions/core'; import * as core from '@actions/core';
import {parse} from 'csv-parse/sync'; import {parse} from 'csv-parse/sync';
import {InstallSource} from '@docker/actions-toolkit/lib/docker/install'; import {InstallSource} from '@docker/actions-toolkit/lib/docker/install.js';
import {Util} from '@docker/actions-toolkit/lib/util'; import {Util} from '@docker/actions-toolkit/lib/util.js';
export interface Inputs { export interface Inputs {
source: InstallSource; source: InstallSource;
@@ -11,6 +13,8 @@ export interface Inputs {
context: string; context: string;
setHost: boolean; setHost: boolean;
rootless: boolean; rootless: boolean;
runtimeBasedir: string;
githubToken: string;
} }
export function getInputs(): Inputs { export function getInputs(): Inputs {
@@ -27,7 +31,9 @@ export function getInputs(): Inputs {
tcpPort: Util.getInputNumber('tcp-port'), tcpPort: Util.getInputNumber('tcp-port'),
context: core.getInput('context'), context: core.getInput('context'),
setHost: core.getBooleanInput('set-host'), setHost: core.getBooleanInput('set-host'),
rootless: core.getBooleanInput('rootless') rootless: core.getBooleanInput('rootless'),
runtimeBasedir: core.getInput('runtime-basedir') || path.join(os.homedir(), `setup-docker-action`),
githubToken: core.getInput('github-token')
}; };
} }

View File

@@ -1,24 +1,51 @@
import * as crypto from 'crypto'; import * as crypto from 'crypto';
import os from 'os';
import path from 'path'; import path from 'path';
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 {Install} from '@docker/actions-toolkit/lib/docker/install'; import {Install} from '@docker/actions-toolkit/lib/docker/install.js';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
import {Install as RegclientInstall} from '@docker/actions-toolkit/lib/regclient/install.js';
import {Install as UndockInstall} from '@docker/actions-toolkit/lib/undock/install.js';
import * as context from './context'; import * as context from './context.js';
import * as stateHelper from './state-helper'; import * as stateHelper from './state-helper.js';
const regctlDefaultVersion = 'v0.8.3';
const undockDefaultVersion = 'v0.10.0';
actionsToolkit.run( actionsToolkit.run(
// main // main
async () => { async () => {
const input: context.Inputs = context.getInputs(); const input: context.Inputs = context.getInputs();
const runDir = path.join(os.homedir(), `setup-docker-action-${crypto.randomUUID().slice(0, 8)}`); const runDir = path.join(input.runtimeBasedir, `run-${crypto.randomUUID().slice(0, 8)}`);
if (input.context == 'default') { if (input.context == 'default') {
throw new Error(`'default' context cannot be used.`); throw new Error(`'default' context cannot be used.`);
} }
if (input.source.type === 'image') {
await core.group(`Download and install regctl`, async () => {
const regclientInstall = new RegclientInstall({githubToken: input.githubToken});
const regclientBinPath = await regclientInstall.download(
process.env.REGCTL_VERSION && process.env.REGCTL_VERSION.trim()
? process.env.REGCTL_VERSION
: regctlDefaultVersion,
true
);
await regclientInstall.install(regclientBinPath);
});
await core.group(`Download and install undock`, async () => {
const undockInstall = new UndockInstall({githubToken: input.githubToken});
const undockBinPath = await undockInstall.download(
process.env.UNDOCK_VERSION && process.env.UNDOCK_VERSION.trim()
? process.env.UNDOCK_VERSION
: undockDefaultVersion,
true
);
await undockInstall.install(undockBinPath);
});
}
let tcpPort: number | undefined; let tcpPort: number | undefined;
let tcpAddress: string | undefined; let tcpAddress: string | undefined;
if (input.tcpPort) { if (input.tcpPort) {
@@ -32,7 +59,8 @@ actionsToolkit.run(
rootless: input.rootless, rootless: input.rootless,
contextName: input.context || 'setup-docker-action', contextName: input.context || 'setup-docker-action',
daemonConfig: input.daemonConfig, daemonConfig: input.daemonConfig,
localTCPPort: tcpPort localTCPPort: tcpPort,
githubToken: input.githubToken
}); });
let toolDir; let toolDir;
if (!(await Docker.isAvailable()) || input.source) { if (!(await Docker.isAvailable()) || input.source) {

View File

@@ -1,8 +1,8 @@
{ {
"compilerOptions": { "compilerOptions": {
"module": "nodenext",
"moduleResolution": "nodenext",
"esModuleInterop": true, "esModuleInterop": true,
"target": "es6",
"module": "commonjs",
"newLine": "lf", "newLine": "lf",
"outDir": "./lib", "outDir": "./lib",
"rootDir": "./src", "rootDir": "./src",
@@ -11,9 +11,7 @@
"resolveJsonModule": true, "resolveJsonModule": true,
"useUnknownInCatchVariables": false, "useUnknownInCatchVariables": false,
}, },
"exclude": [ "include": [
"node_modules", "src/**/*.ts"
"**/*.test.ts",
"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']
}
}
});

7856
yarn.lock

File diff suppressed because it is too large Load Diff