Compare commits

...

120 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
CrazyMax
370a7dad4b Merge pull request #139 from vvoland/docs-version-csv
docs: Document `version` csv format
2024-12-16 12:53:19 +01:00
Paweł Gronowski
23c3839175 docs: Document version csv format
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2024-12-16 12:03:55 +01:00
CrazyMax
b814c39737 Merge pull request #138 from crazy-max/expose-tcp-input
tcp-port opt to expose Docker API to a local TCP address
2024-12-16 11:58:33 +01:00
CrazyMax
75153b5b5e chore: update generated content 2024-12-16 11:22:38 +01:00
CrazyMax
3a56725668 tcp-port opt to expose Docker API to a local TCP address 2024-12-16 11:22:38 +01:00
CrazyMax
fde3095c59 Merge pull request #140 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.49.0
build(deps): bump @docker/actions-toolkit from 0.48.0 to 0.49.0
2024-12-16 11:17:40 +01:00
CrazyMax
d22c57e6c4 chore: update generated content 2024-12-16 11:06:49 +01:00
dependabot[bot]
6172ee107f build(deps): bump @docker/actions-toolkit from 0.48.0 to 0.49.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.48.0 to 0.49.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.48.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>
2024-12-16 09:58:50 +00:00
CrazyMax
2a248d822c Merge pull request #137 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.48.0
build(deps): bump @docker/actions-toolkit from 0.47.0 to 0.48.0
2024-12-12 16:00:49 +01:00
CrazyMax
6dbd87054b chore: update generated content 2024-12-12 15:51:25 +01:00
dependabot[bot]
68b1efda1d build(deps): bump @docker/actions-toolkit from 0.47.0 to 0.48.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.47.0 to 0.48.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.47.0...v0.48.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-12 14:07:23 +00:00
CrazyMax
7188e7a998 Merge pull request #135 from crazy-max/ci-disable-summary
ci: disable build summary
2024-12-06 15:35:19 +01:00
CrazyMax
927974f719 Merge pull request #134 from crazy-max/update-readme
readme: update action to latest stable
2024-12-06 15:35:06 +01:00
CrazyMax
1439ace8f2 ci: disable build summary 2024-12-06 14:52:34 +01:00
CrazyMax
b86a7cc004 readme: update action to latest stable 2024-12-06 14:44:50 +01:00
31 changed files with 3378 additions and 8502 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

@@ -18,6 +18,7 @@ on:
env:
DOCKER_VERSION: v27.3.1
DOCKER_BUILD_SUMMARY: false
jobs:
main:
@@ -27,16 +28,17 @@ jobs:
matrix:
os:
- ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- ubuntu-24.04-arm
- macos-15-intel
- windows-latest
version:
- ""
- v27.3.1
- type=image,tag=27.3.1
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
@@ -50,13 +52,13 @@ jobs:
matrix:
os:
- ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- ubuntu-24.04-arm
- macos-15-intel
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
@@ -71,13 +73,13 @@ jobs:
matrix:
os:
- ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- ubuntu-24.04-arm
- macos-15-intel
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
@@ -98,13 +100,13 @@ jobs:
matrix:
os:
- ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- ubuntu-24.04-arm
- macos-15-intel
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
@@ -117,12 +119,11 @@ jobs:
docker context inspect foo
lima-start-args:
#runs-on: macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
runs-on: macos-13
runs-on: macos-15-intel
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
@@ -142,7 +143,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Uninstall containerd
if: matrix.containerd == 'containerd-tarball'
@@ -182,12 +183,11 @@ jobs:
fail-fast: false
matrix:
os:
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- macos-15-intel
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
@@ -221,7 +221,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
@@ -242,7 +242,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
@@ -259,7 +259,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Set up Docker
uses: ./
@@ -270,3 +270,75 @@ jobs:
name: List contexts
run: |
docker context ls
tcp:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- macos-15-intel
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v6
-
name: Set up Docker
id: setup_docker
uses: ./
with:
version: ${{ env.DOCKER_VERSION }}
tcp-port: 2378
-
name: Check docker info through TCP
run: |
docker info
env:
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:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Test
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v5
with:
source: .
files: ./coverage/clover.xml
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:
runs-on: ubuntu-latest
outputs:
targets: ${{ steps.targets.outputs.matrix }}
targets: ${{ steps.generate.outputs.targets }}
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Targets matrix
id: targets
run: |
echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
name: List targets
id: generate
uses: docker/bake-action/subaction/list-targets@v6
with:
target: validate
validate:
runs-on: ubuntu-latest
@@ -35,11 +36,8 @@ jobs:
matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }}
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Validate
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
targets: ${{ matrix.target }}

View File

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

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

View File

@@ -31,6 +31,7 @@ ___
* [Define custom `limactl start` arguments (macOS)](#define-custom-limactl-start-arguments-macos)
* [Customizing](#customizing)
* [inputs](#inputs)
* [inputs.version](#inputsversion)
* [outputs](#outputs)
* [Contributing](#contributing)
* [License](#license)
@@ -51,7 +52,7 @@ jobs:
steps:
-
name: Set up Docker
uses: docker/setup-docker-action@v3
uses: docker/setup-docker-action@v4
```
### Daemon configuration
@@ -73,7 +74,7 @@ jobs:
steps:
-
name: Set up Docker
uses: docker/setup-docker-action@v3
uses: docker/setup-docker-action@v4
with:
daemon-config: |
{
@@ -101,7 +102,7 @@ jobs:
steps:
-
name: Set up Docker
uses: docker/setup-docker-action@v3
uses: docker/setup-docker-action@v4
env:
LIMA_START_ARGS: --cpus 4 --memory 8
```
@@ -113,21 +114,91 @@ jobs:
The following inputs can be used as `step.with` keys
| Name | Type | Default | Description |
|-----------------|--------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------|
| `version` | String | `latest` | Docker CE version (e.g., `v24.0.6`). |
| `channel` | String | `stable` | Docker CE [channel](https://download.docker.com/linux/static/) (e.g, `stable`, `edge` or `test`). |
|-------------------|--------|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `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` |
| `daemon-config` | String | | [Docker daemon JSON configuration](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file) |
| `tcp-port` | Number | | TCP port to expose the Docker API locally |
| `context` | String | `setup-docker-action` | Docker context name. |
| `set-host` | Bool | `false` | Set `DOCKER_HOST` environment variable to docker socket path. |
| `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
By default, the latest stable version of Docker is fetched from download.docker.com.
You can specify a specific version number (e.g. `v27.4.0`).
Which is a shorthand for the full comma separated value:
`type=archive,channel=stable,version=v27.4.0`
You can also use this full csv format instead.
Currently supported source types are:
- `archive`
- `image`
#### `type=archive`
| Key | Default | Description |
|-----------|------------|--------------------------------------------------------------------------------------|
| `type` | `archive` | The source type of the Docker binaries. Possible values are `archive` and `image`. |
| `channel` | `stable` | The download.docker.com channel (`stable` or `test`). |
| `version` | `latest` | The Docker version to use. |
Examples:
```yaml
# last stable released version
version: latest
version: type=archive # same as above
version: version=latest # same as above
version: type=archive,version=latest # same as above
```
```yaml
# v27.3.0-rc.1 from test channel
version: type=archive,version=27.3.0-rc.1,channel=test
```
#### `type=image`
Other possible source type is `image` which will pull the Docker binaries from the `moby/moby-bin` and
`dockereng/cli-bin` Docker Hub repositories.
The advantage of using this source type is that these images are built by the Moby and Docker CI pipelines
for each branch and PR, so you can use the `tag` input to install a specific version or branch (e.g. `master`).
| Key | Default | Description |
|-----------|------------|--------------------------------------------------------------------------------------|
| `tag` | `latest` | The image tag to use. |
See https://hub.docker.com/r/moby/moby-bin/tags and https://hub.docker.com/r/dockereng/cli-bin/tags for available tags.
Examples:
```yaml
# install last stable released version from bin images
version: type=image
version: type=image,tag=latest # same as above
```
```yaml
# a cutting-edge version from the `master` branch
version: type=image,tag=master
```
```yaml
# install v27.4.0 from bin images
version: type=image,tag=27.4.0
```
### outputs
The following outputs are available
| Name | Type | Description |
|--------|--------|--------------------|
|--------|--------|---------------------------------------|
| `sock` | String | Docker socket path |
| `tcp` | String | Docker TCP address if tcp-port is set |
## Contributing

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', () => {
beforeEach(() => {
@@ -13,7 +15,7 @@ describe('getInputs', () => {
});
// prettier-ignore
test.each([
const cases: [number, Map<string, string>, context.Inputs][] = [
[
0,
new Map<string, string>([
@@ -30,8 +32,10 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
setHost: false
} as context.Inputs
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
[
1,
@@ -52,8 +56,10 @@ describe('getInputs', () => {
context: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`,
rootless: false,
setHost: false
} as context.Inputs
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
[
2,
@@ -70,8 +76,10 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
setHost: true
} as context.Inputs
setHost: true,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
[
3,
@@ -90,8 +98,10 @@ describe('getInputs', () => {
context: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`,
rootless: false,
setHost: false
} as context.Inputs
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
[
4,
@@ -108,8 +118,10 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
setHost: false
} as context.Inputs
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
[
5,
@@ -128,7 +140,9 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
} as context.Inputs
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
[
6,
@@ -147,7 +161,9 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
} as context.Inputs
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
[
7,
@@ -165,7 +181,9 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
} as context.Inputs
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
[
8,
@@ -183,10 +201,36 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: true,
} as context.Inputs
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
])(
'[%d] given %p as inputs, returns %p',
[
9,
new Map<string, string>([
['version', 'v24.0.8'],
['tcp-port', '2378'],
['set-host', 'false'],
['rootless', 'false'],
]),
{
source: {
type: 'archive',
version: 'v24.0.8',
channel: 'stable'
},
context: '',
daemonConfig: '',
tcpPort: 2378,
rootless: false,
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
githubToken: '',
}
],
];
test.each(cases)(
'[%d] given %o as inputs, returns %o',
async (num: number, inputs: Map<string, string>, expected: context.Inputs) => {
inputs.forEach((value: string, name: string) => {
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

@@ -17,6 +17,9 @@ inputs:
daemon-config:
description: 'Docker daemon JSON configuration'
required: false
tcp-port:
description: 'TCP port to expose the Docker API locally'
required: false
context:
description: 'Docker context name. (default setup-docker-action)'
required: false
@@ -28,12 +31,21 @@ inputs:
description: 'Enable Docker rootless mode'
default: '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:
sock:
description: "Docker socket path"
tcp:
description: "Docker TCP address if tcp-port is set"
runs:
using: 'node20'
using: 'node24'
main: 'dist/index.js'
post: 'dist/index.js'

View File

@@ -1,12 +1,13 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=20
ARG NODE_VERSION=24
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
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
set -e
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
@@ -27,25 +28,34 @@ RUN --mount=type=bind,target=.,rw <<EOT
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock
exit 1
fi
EOT
FROM deps AS build
RUN --mount=type=bind,target=.,rw \
RUN --mount=target=/context \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run build && mkdir /out && cp -Rf dist /out/
--mount=type=cache,target=/src/node_modules <<EOT
set -e
rsync -a /context/. .
rm -rf dist
yarn run build
mkdir /out
cp -r dist /out
EOT
FROM scratch AS build-update
COPY --from=build /out /
FROM build AS build-validate
RUN --mount=type=bind,target=.,rw <<EOT
RUN --mount=target=/context \
--mount=target=.,type=tmpfs <<EOT
set -e
rsync -a /context/. .
git add -A
rm -rf dist
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
@@ -58,8 +68,7 @@ FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format \
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /
@@ -74,7 +83,7 @@ FROM deps AS test
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverage --coverageDirectory=/tmp/coverage
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
FROM scratch AS test-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" {
targets = ["build"]
}
@@ -11,42 +17,49 @@ group "validate" {
}
target "build" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-update"
output = ["."]
}
target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-validate"
output = ["type=cacheonly"]
}
target "format" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "format-update"
output = ["."]
}
target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "lint"
output = ["type=cacheonly"]
}
target "vendor-update" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]
}
target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]
}
target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test-coverage"
output = ["./coverage"]

52
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",
"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": {
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
"lint": "yarn run prettier && yarn run eslint",
"format": "yarn run prettier:fix && yarn run eslint:fix",
"eslint": "eslint --max-warnings=0 .",
"eslint:fix": "eslint --fix .",
"prettier": "prettier --check \"./**/*.ts\"",
"prettier:fix": "prettier --write \"./**/*.ts\"",
"test": "jest",
"lint": "eslint --max-warnings=0 .",
"format": "eslint --fix .",
"test": "vitest run",
"all": "yarn run build && yarn run format && yarn test"
},
"repository": {
@@ -24,24 +21,25 @@
],
"author": "Docker Inc.",
"license": "Apache-2.0",
"packageManager": "yarn@3.6.3",
"packageManager": "yarn@4.9.2",
"dependencies": {
"@actions/core": "^1.11.1",
"@docker/actions-toolkit": "^0.47.0"
"@actions/core": "^3.0.0",
"@docker/actions-toolkit": "^0.77.0"
},
"devDependencies": {
"@types/node": "^20.6.0",
"@typescript-eslint/eslint-plugin": "^6.6.0",
"@typescript-eslint/parser": "^6.6.0",
"@vercel/ncc": "^0.38.0",
"eslint": "^8.49.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-jest": "^27.2.3",
"eslint-plugin-prettier": "^5.0.0",
"jest": "^29.6.4",
"prettier": "^3.0.3",
"ts-jest": "^29.1.1",
"ts-node": "^10.9.1",
"typescript": "^5.2.2"
"@eslint/js": "^9.39.3",
"@types/node": "^24.11.0",
"@typescript-eslint/eslint-plugin": "^8.56.1",
"@typescript-eslint/parser": "^8.56.1",
"@vercel/ncc": "^0.38.4",
"@vitest/coverage-v8": "^4.0.18",
"@vitest/eslint-plugin": "^1.6.9",
"eslint": "^9.39.3",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"globals": "^17.3.0",
"prettier": "^3.8.1",
"typescript": "^5.9.3",
"vitest": "^4.0.18"
}
}

View File

@@ -1,13 +1,20 @@
import os from 'os';
import path from 'path';
import * as core from '@actions/core';
import {InstallSource} from '@docker/actions-toolkit/lib/docker/install';
import {parse} from 'csv-parse/sync';
import {InstallSource} from '@docker/actions-toolkit/lib/docker/install.js';
import {Util} from '@docker/actions-toolkit/lib/util.js';
export interface Inputs {
source: InstallSource;
daemonConfig?: string;
tcpPort?: number;
context: string;
setHost: boolean;
rootless: boolean;
runtimeBasedir: string;
githubToken: string;
}
export function getInputs(): Inputs {
@@ -21,9 +28,12 @@ export function getInputs(): Inputs {
return {
source: source,
daemonConfig: core.getInput('daemon-config'),
tcpPort: Util.getInputNumber('tcp-port'),
context: core.getInput('context'),
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,30 +1,66 @@
import * as crypto from 'crypto';
import os from 'os';
import path from 'path';
import * as core from '@actions/core';
import * as actionsToolkit from '@docker/actions-toolkit';
import {Install} from '@docker/actions-toolkit/lib/docker/install';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
import {Install} from '@docker/actions-toolkit/lib/docker/install.js';
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 stateHelper from './state-helper';
import * as context from './context.js';
import * as stateHelper from './state-helper.js';
const regctlDefaultVersion = 'v0.8.3';
const undockDefaultVersion = 'v0.10.0';
actionsToolkit.run(
// main
async () => {
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') {
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 tcpAddress: string | undefined;
if (input.tcpPort) {
tcpPort = input.tcpPort;
tcpAddress = `tcp://127.0.0.1:${tcpPort}`;
}
const install = new Install({
runDir: runDir,
source: input.source,
rootless: input.rootless,
contextName: input.context || 'setup-docker-action',
daemonConfig: input.daemonConfig
daemonConfig: input.daemonConfig,
localTCPPort: tcpPort,
githubToken: input.githubToken
});
let toolDir;
if (!(await Docker.isAvailable()) || input.source) {
@@ -38,6 +74,10 @@ actionsToolkit.run(
await core.group(`Setting outputs`, async () => {
core.info(`sock=${sockPath}`);
core.setOutput('sock', sockPath);
if (tcpAddress) {
core.info(`tcp=${tcpAddress}`);
core.setOutput('tcp', tcpAddress);
}
});
if (input.setHost) {

View File

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