97 Commits

Author SHA1 Message Date
5bddaa4323 Merge pull request #66 from crazy-max/dependabot/npm_and_yarn/docker/actions-toolkit-0.21.1
build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.21.1
2024-04-25 11:39:39 +02:00
17819a1af9 chore: update generated content 2024-04-25 11:23:13 +02:00
d20884258e build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.21.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.18.0 to 0.21.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.18.0...v0.21.1)

---
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-04-25 09:06:09 +00:00
b74351ab97 Merge pull request #68 from MatthewCane/truncate-rundir-path-name
truncate runDir path name
2024-04-25 10:33:54 +02:00
0f5a011c3d Merge pull request #69 from crazy-max/pin-macos-vers
ci: pin to macos-13
2024-04-25 10:33:11 +02:00
99cad45695 readme: instruction for macos arm runners 2024-04-25 10:32:43 +02:00
aceee1722e ci: pin to macos-13 2024-04-25 10:32:43 +02:00
0cb459c59a chore: update generated content 2024-04-24 13:24:26 +01:00
81886c7276 Truncate runDir path name 2024-04-24 11:49:01 +01:00
fdc6583d4e Merge pull request #64 from crazy-max/ci-codecov-token
ci: set CODECOV_TOKEN
2024-04-08 09:49:45 +02:00
a4b15f09d5 ci: set CODECOV_TOKEN 2024-04-08 09:48:20 +02:00
c2351bbd0b Merge pull request #59 from crazy-max/ci-concurrency
ci: concurrency checks
2024-02-29 16:41:57 +01:00
c14b6e1c32 ci: concurrency checks 2024-02-29 16:40:39 +01:00
f1d16883d0 Merge pull request #58 from crazy-max/set-host
set-host input to set DOCKER_HOST env var
2024-02-29 16:39:12 +01:00
5de1d6bef5 chore: update generated content 2024-02-29 16:37:35 +01:00
7d4fd999a5 set-host input to set DOCKER_HOST env var 2024-02-29 16:37:34 +01:00
38c07112bd Merge pull request #57 from crazy-max/sock-output
sock output to get docker socket path
2024-02-29 16:31:31 +01:00
c6f8a8a2ba ci: bump default docker version 2024-02-29 16:30:20 +01:00
2960188cea chore: update generated content 2024-02-29 16:26:07 +01:00
8e060aa468 sock output to get docker socket path 2024-02-29 16:20:43 +01:00
fc6fa62ba9 Merge pull request #56 from crazy-max/dependabot/npm_and_yarn/docker/actions-toolkit-0.18.0
build(deps): bump @docker/actions-toolkit from 0.16.1 to 0.18.0
2024-02-29 16:16:29 +01:00
7864da88cb chore: update generated content 2024-02-29 16:05:35 +01:00
36eedea576 build(deps): bump @docker/actions-toolkit from 0.16.1 to 0.18.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.16.1 to 0.18.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.16.1...v0.18.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 15:03:59 +00:00
95a170fa60 Merge pull request #52 from crazy-max/dependabot/github_actions/codecov/codecov-action-4
build(deps): bump codecov/codecov-action from 3 to 4
2024-02-02 09:44:29 +01:00
1ea15ee881 build(deps): bump codecov/codecov-action from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 10:21:57 +00:00
729d91c21f Merge pull request #51 from crazy-max/dependabot/npm_and_yarn/docker/actions-toolkit-0.16.1
build(deps): bump @docker/actions-toolkit from 0.16.0 to 0.16.1
2024-01-26 10:50:18 +01:00
c553dd0c3f build(deps): bump @docker/actions-toolkit from 0.16.0 to 0.16.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.16.0 to 0.16.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.16.0...v0.16.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-22 10:16:31 +00:00
a307846a9f Merge pull request #50 from crazy-max/bump
bump to v3
2023-12-18 11:10:50 +01:00
57929789e6 bump to v3 2023-12-18 11:10:28 +01:00
d9be6cade4 Merge pull request #49 from crazy-max/dependabot/npm_and_yarn/docker/actions-toolkit-0.16.0
build(deps): bump @docker/actions-toolkit from 0.14.0 to 0.16.0
2023-12-18 11:03:33 +01:00
e1c24ba1f0 switch to lima 2023-12-18 10:41:37 +01:00
979d352bf6 chore: update generated content 2023-12-18 10:41:22 +01:00
db8a75eba6 build(deps): bump @docker/actions-toolkit from 0.14.0 to 0.16.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.14.0 to 0.16.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.14.0...v0.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 09:38:10 +00:00
69b561f709 Merge pull request #46 from crazy-max/dependabot/npm_and_yarn/docker/actions-toolkit-0.14.0
build(deps): bump @docker/actions-toolkit from 0.13.0 to 0.14.0
2023-11-17 04:06:41 -08:00
c33ee55bce ci: add macos-13 to the matrix 2023-11-17 12:06:05 +01:00
12e445b81b chore: update generated content 2023-11-17 11:58:43 +01:00
60457dabd3 build(deps): bump @docker/actions-toolkit from 0.13.0 to 0.14.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.13.0...v0.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-17 10:54:57 +00:00
8f158b20ff Merge pull request #43 from crazy-max/dependabot/npm_and_yarn/docker/actions-toolkit-0.13.0
build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.13.0
2023-10-13 05:20:05 -07:00
9057e9e607 chore: update generated content 2023-10-13 14:13:42 +02:00
addf8fa212 build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.13.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.12.0...v0.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-13 12:10:51 +00:00
63346e6cc5 Merge pull request #42 from crazy-max/test-without-qemu-sign
ci: disable colima workaround
2023-10-12 07:28:52 -07:00
83adf3b3da ci: disable colima workaround 2023-10-12 16:28:10 +02:00
828496ee08 Merge pull request #35 from crazy-max/dependabot/npm_and_yarn/actions/core-1.10.1
build(deps): bump @actions/core from 1.10.0 to 1.10.1
2023-09-13 10:23:02 +02:00
df46d8995c chore: update generated content 2023-09-13 10:16:57 +02:00
6ac516eae5 build(deps): bump @actions/core from 1.10.0 to 1.10.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.0 to 1.10.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 08:09:09 +00:00
df974f607b Merge pull request #36 from crazy-max/dependabot/npm_and_yarn/uuid-9.0.1
build(deps): bump uuid from 9.0.0 to 9.0.1
2023-09-13 10:08:02 +02:00
cf7c9d54cf chore: update generated content 2023-09-13 08:37:46 +02:00
1026ab4694 Merge pull request #39 from crazy-max/dependabot/github_actions/docker/bake-action-4
build(deps): bump docker/bake-action from 3 to 4
2023-09-13 08:36:19 +02:00
4c602a2061 Merge pull request #38 from crazy-max/dependabot/github_actions/docker/setup-buildx-action-3
build(deps): bump docker/setup-buildx-action from 2 to 3
2023-09-13 08:36:07 +02:00
806baaed75 Merge pull request #37 from crazy-max/dependabot/github_actions/docker/build-push-action-5
build(deps): bump docker/build-push-action from 4 to 5
2023-09-13 08:35:53 +02:00
cadd55dc3d build(deps): bump docker/bake-action from 3 to 4
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 3 to 4.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 10:31:08 +00:00
f3fe780861 build(deps): bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 10:19:37 +00:00
784197509a Merge pull request #34 from crazy-max/bump-major
docs: update actions to latest major
2023-09-10 15:44:53 +02:00
72f088c678 docs: update actions to latest major 2023-09-10 15:43:27 +02:00
94fed099f6 Merge pull request #32 from crazy-max/update-node20
chore: node 20 as default runtime
2023-09-10 15:38:19 +02:00
87e8022576 chore: node 20 as default runtime 2023-09-10 05:21:16 +02:00
64ced80536 chore: update generated content 2023-09-10 05:21:16 +02:00
cc7ab4747a vendor: bump @docker/actions-toolkit from 0.12.0-rc.1 to 0.12.0 2023-09-10 05:19:58 +02:00
2105ee4f68 chore: update dev dependencies 2023-09-10 05:19:31 +02:00
32402da4e2 chore: update to node 20 2023-09-10 05:18:52 +02:00
6a07d2066a Merge pull request #33 from crazy-max/update-yarn
chore: update yarn to 3.6.3
2023-09-10 05:13:51 +02:00
8fac59bbad chore: update generated content 2023-09-10 05:03:30 +02:00
e031a1afa4 chore: update yarn to 3.6.3 2023-09-10 05:01:37 +02:00
bba98f9cf3 codecov: update config 2023-09-09 11:50:16 +02:00
c9a433aeef Merge pull request #28 from crazy-max/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-06 20:27:36 +02:00
35358c035e Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 10:10:05 +00:00
ce60bfdfe1 Merge pull request #26 from crazy-max/colima-start-args
docs: define custom "colima start" arguments
2023-08-28 09:12:42 +02:00
24d5692d29 docs: define custom "colima start" arguments 2023-08-28 08:54:24 +02:00
c322702919 Merge pull request #25 from crazy-max/update-toolkit
bump @docker/actions-toolkit from 0.11.0 to 0.12.0-rc.1
2023-08-28 08:44:44 +02:00
ba6df22a99 update generated content 2023-08-28 08:36:20 +02:00
751eb0de7b bump @docker/actions-toolkit from 0.11.0 to 0.12.0-rc.1 2023-08-28 08:35:21 +02:00
2c7b4c9ba9 Merge pull request #24 from crazy-max/daemon-config
daemon-config input
2023-08-27 15:53:33 +02:00
0e98cdfc95 update generated content 2023-08-27 14:49:25 +02:00
e5467b74ef daemon-config input 2023-08-27 14:49:24 +02:00
d298db0f7d Merge pull request #23 from crazy-max/update-toolkit
bump @docker/actions-toolkit from 0.10.0 to 0.11.0
2023-08-27 14:21:47 +02:00
74272b7110 update generated content 2023-08-27 14:17:53 +02:00
d3292ed6bc bump @docker/actions-toolkit from 0.10.0 to 0.11.0 2023-08-27 14:15:30 +02:00
5566df4cd9 Merge pull request #22 from crazy-max/update-toolkit-2
bump @docker/actions-toolkit from 0.9.0 to 0.10.0
2023-08-26 12:55:15 +02:00
766484b9a8 update generated content 2023-08-26 12:49:11 +02:00
1a21164cad bump @docker/actions-toolkit from 0.9.0 to 0.10.0 2023-08-26 12:49:11 +02:00
0b0e2e14f8 ci: dump context 2023-08-26 12:49:11 +02:00
3ff7a3f336 ci: fix build-linux workflow 2023-08-26 12:21:53 +02:00
d1b108b3cc Merge pull request #21 from crazy-max/update-toolkit
bump @docker/actions-toolkit from 0.8.0 to 0.9.0
2023-08-26 12:21:12 +02:00
ff0fd563eb update generated content 2023-08-26 11:55:45 +02:00
3edb28603d docs: workaround for colima issue 2023-08-26 11:54:42 +02:00
0a0eee06ff bump @docker/actions-toolkit from 0.8.0 to 0.9.0 2023-08-26 11:54:33 +02:00
d00caf720d Merge pull request #20 from crazy-max/ci-dispatch
ci: workflow dispatch
2023-08-18 10:28:14 +02:00
26bcb039d3 ci: workflow dispatch 2023-08-18 10:27:44 +02:00
e22f202df2 Merge pull request #19 from crazy-max/ci-pin-docker
ci: pin docker version
2023-08-18 08:59:59 +02:00
99e070f51d ci: pin docker version 2023-08-17 19:05:52 +02:00
f5b7761d05 Merge pull request #17 from crazy-max/dependabot/npm_and_yarn/docker/actions-toolkit-0.8.0
Bump @docker/actions-toolkit from 0.1.0-beta.18 to 0.8.0
2023-08-17 10:19:29 +02:00
2dcc4846c6 update generated content 2023-08-17 10:16:12 +02:00
92951761fa Bump @docker/actions-toolkit from 0.1.0-beta.18 to 0.8.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.18 to 0.8.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.18...v0.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 10:46:25 +00:00
dd105ffea1 Merge pull request #14 from crazy-max/dependabot/github_actions/docker/bake-action-3
Bump docker/bake-action from 2 to 3
2023-05-01 23:53:05 +02:00
8ad3d347be Bump docker/bake-action from 2 to 3
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 2 to 3.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-18 11:07:28 +00:00
27 changed files with 8848 additions and 3892 deletions

View File

@ -1,2 +1,12 @@
/coverage
/node_modules
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

3
.eslintignore Normal file
View File

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

View File

@ -1,11 +1,12 @@
{
"env": {
"node": true,
"es2021": true,
"es6": true,
"jest": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"

2
.gitattributes vendored
View File

@ -1,2 +1,4 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/dist/** linguist-generated=true
/lib/** linguist-generated=true

View File

@ -1,6 +1,11 @@
name: ci
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
schedule:
- cron: '0 10 * * *'
push:
@ -11,6 +16,9 @@ on:
- 'v*'
pull_request:
env:
DOCKER_VERSION: v24.0.9
jobs:
main:
runs-on: ${{ matrix.os }}
@ -19,17 +27,32 @@ jobs:
matrix:
os:
- ubuntu-latest
- macos-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- windows-latest
version:
- pinned
- latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Set version
shell: bash
run: |
if [ "${{ matrix.version }}" != "pinned" ]; then
echo "DOCKER_VERSION=${{ matrix.version }}" >> $GITHUB_ENV
fi
-
name: Set up Docker
uses: ./
with:
version: v23.0.0
version: ${{ env.DOCKER_VERSION }}
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
channel:
runs-on: ${{ matrix.os }}
@ -38,18 +61,53 @@ jobs:
matrix:
os:
- ubuntu-latest
- macos-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Set up Docker
uses: ./
with:
version: v23.0.0-rc.4
version: v24.0.0-rc.4
channel: test
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
daemon-config:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker
uses: ./
with:
daemon-config: |
{
"debug": true,
"features": {
"containerd-snapshotter": true
}
}
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
context:
runs-on: ${{ matrix.os }}
@ -58,78 +116,65 @@ jobs:
matrix:
os:
- ubuntu-latest
- macos-latest
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Set up Docker
uses: ./
with:
version: v23.0.0
version: ${{ env.DOCKER_VERSION }}
context: foo
-
name: Check context
run: |
docker context inspect foo
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
lima-start-args:
#runs-on: macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
runs-on: macos-13
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker
uses: ./
env:
LIMA_START_ARGS: --cpus 4 --memory 8
build-linux:
runs-on: ubuntu-latest
services:
registry:
image: registry:2
ports:
- 5000:5000
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Set up Docker
uses: ./
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
driver: docker
driver-opts: network=host
-
name: Build and push
uses: docker/build-push-action@v4
with:
context: ./test
push: true
tags: |
localhost:5000/name/app:latest
-
name: Inspect
run: |
docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
build-macos:
runs-on: macos-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker
uses: ./
version: ${{ env.DOCKER_VERSION }}
-
name: Start registry
run: |
docker run -d -p 5000:5000 --restart=always --name registry registry:2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
with:
driver: docker
driver-opts: network=host
-
name: Build and push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
context: ./test
push: true
@ -139,16 +184,67 @@ jobs:
name: Inspect
run: |
docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
build-macos:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
#- macos-14 # no virt: https://github.com/docker/actions-toolkit/issues/317
- macos-13
- macos-12
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker
uses: ./
with:
version: ${{ env.DOCKER_VERSION }}
-
name: Start registry
run: |
docker run -d -p 5000:5000 --restart=always --name registry registry:2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker
driver-opts: network=host
-
name: Build and push
uses: docker/build-push-action@v5
with:
context: ./test
push: true
tags: |
localhost:5000/name/app:latest
-
name: Inspect
run: |
docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
build-windows:
runs-on: windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Set up Docker
uses: ./
with:
version: ${{ env.DOCKER_VERSION }}
-
name: Build
working-directory: ./test
@ -158,3 +254,27 @@ jobs:
name: Inspect
run: |
docker image inspect test
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
set-host:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker
uses: ./
with:
set-host: true
-
name: List contexts
run: |
docker context ls
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2

View File

@ -1,5 +1,9 @@
name: test
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
@ -13,14 +17,15 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Test
uses: docker/bake-action@v2
uses: docker/bake-action@v4
with:
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
file: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}

View File

@ -1,5 +1,9 @@
name: validate
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
@ -15,7 +19,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Targets matrix
id: targets
@ -33,9 +37,9 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Validate
uses: docker/bake-action@v2
uses: docker/bake-action@v4
with:
targets: ${{ matrix.target }}

66
.gitignore vendored
View File

@ -1,7 +1,5 @@
node_modules
lib
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
@ -9,6 +7,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@ -19,34 +18,14 @@ pids
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
@ -56,36 +35,19 @@ typings/
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
# dotenv environment variable files
.env
.env.test
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

6
.prettierignore Normal file
View File

@ -0,0 +1,6 @@
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/

File diff suppressed because one or more lines are too long

874
.yarn/releases/yarn-3.6.3.cjs vendored Normal file

File diff suppressed because one or more lines are too long

15
.yarnrc.yml Normal file
View File

@ -0,0 +1,15 @@
logFilters:
- code: YN0013
level: discard
- code: YN0019
level: discard
- code: YN0076
level: discard
nodeLinker: node-modules
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"
yarnPath: .yarn/releases/yarn-3.6.3.cjs

View File

@ -9,18 +9,29 @@
GitHub Action to set up (download and install) [Docker CE](https://docs.docker.com/engine/).
Works on Linux, macOS and Windows.
> [!WARNING]
> Does not work on macOS runners with ARM architecture (no nested virtualization):
> * https://github.com/crazy-max/ghaction-setup-docker/pull/53
> * https://github.com/docker/actions-toolkit/issues/317
![Screenshot](.github/setup-docker-action.png)
___
* [Usage](#usage)
* [Quick start](#quick-start)
* [Daemon configuration](#daemon-configuration)
* [Define custom `limactl start` arguments (macOS)](#define-custom-limactl-start-arguments-macos)
* [Customizing](#customizing)
* [inputs](#inputs)
* [outputs](#outputs)
* [Contributing](#contributing)
* [License](#license)
## Usage
### Quick start
```yaml
name: ci
@ -33,28 +44,87 @@ jobs:
steps:
-
name: Set up Docker
uses: crazy-max/ghaction-setup-docker@v1
uses: crazy-max/ghaction-setup-docker@v3
```
### Daemon configuration
You can [configure the Docker daemon](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file)
using the `daemon-config` input. In the following example, we configure the
Docker daemon to enable debug and the [containerd image store](https://docs.docker.com/storage/containerd/)
feature:
```yaml
name: ci
on:
push:
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Set up Docker
uses: crazy-max/ghaction-setup-docker@v3
with:
daemon-config: |
{
"debug": true,
"features": {
"containerd-snapshotter": true
}
}
```
### Define custom `limactl start` arguments (macOS)
You can define custom [`limactl start` arguments](https://lima-vm.io/docs/reference/limactl_start/)
using the `LIMA_START_ARGS` environment variable to customize the VM:
```yaml
name: ci
on:
push:
jobs:
docker:
runs-on: macos-latest
steps:
-
name: Set up Docker
uses: crazy-max/ghaction-setup-docker@v3
env:
LIMA_START_ARGS: --cpus 4 --memory 8
```
## Customizing
### inputs
Following inputs can be used as `step.with` keys
The following inputs can be used as `step.with` keys
| Name | Type | Default | Description |
|-----------|--------|-----------------------|---------------------------------------------------------------------------------------------------|
| `version` | String | `latest` | Docker CE version (e.g., `v23.0.1`). |
| `channel` | String | `stable` | Docker CE [channel](https://download.docker.com/linux/static/) (e.g, `stable`, `edge` or `test`). |
| `context` | String | `setup-docker-action` | Docker context name. |
| 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`). |
| `daemon-config` | String | | [Docker daemon JSON configuration](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file) |
| `context` | String | `setup-docker-action` | Docker context name. |
| `set-host` | Bool | `false` | Set `DOCKER_HOST` environment variable to docker socket path. |
### outputs
The following outputs are available
| Name | Type | Description |
|--------|--------|--------------------|
| `sock` | String | Docker socket path |
## Contributing
Want to contribute? Awesome! The most basic way to show your support is to star
the project, or to raise issues. If you want to open a pull request, please
read the [contributing guidelines](.github/CONTRIBUTING.md).
You can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max)
the project, or to raise issues. You can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max)
or by making a [PayPal donation](https://www.paypal.me/crazyws) to ensure this
journey continues indefinitely!

View File

@ -17,34 +17,45 @@ describe('getInputs', () => {
[
0,
new Map<string, string>([
['version', 'v23.0.1'],
['version', 'v24.0.8'],
['set-host', 'false'],
]),
{
version: 'v23.0.1',
version: 'v24.0.8',
channel: '',
context: '',
daemonConfig: '',
setHost: false
} as context.Inputs
],
[
1,
new Map<string, string>([
['version', 'v23.0.0-rc.4'],
['version', 'v24.0.0-rc.4'],
['channel', 'test'],
['context', 'foo'],
['daemon-config', `{"debug":true,"features":{"containerd-snapshotter":true}}`],
['set-host', 'false'],
]),
{
version: 'v23.0.0-rc.4',
version: 'v24.0.0-rc.4',
channel: 'test',
context: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`,
setHost: false
} as context.Inputs
],
[
2,
new Map<string, string>([]),
new Map<string, string>([
['set-host', 'true'],
]),
{
version: 'latest',
channel: '',
context: '',
daemonConfig: '',
setHost: true
} as context.Inputs
]
])(

View File

@ -8,17 +8,28 @@ branding:
inputs:
version:
description: 'Docker CE version. (e.g, v23.0.1)'
description: 'Docker CE version. (e.g, v24.0.9)'
required: false
default: 'latest'
channel:
description: 'Docker CE channel. (e.g, stable, edge or test)'
required: false
daemon-config:
description: 'Docker daemon JSON configuration'
required: false
context:
description: 'Docker context name. (default setup-docker-action)'
required: false
set-host:
description: 'Set DOCKER_HOST environment variable to docker socket path'
default: 'false'
required: false
outputs:
sock:
description: "Docker socket path"
runs:
using: 'node16'
using: 'node20'
main: 'dist/index.js'
post: 'dist/index.js'

View File

@ -1,3 +1,12 @@
comment: false
coverage:
status:
project: # settings affecting project coverage
default:
target: auto # auto % coverage target
threshold: 5% # allow for 5% reduction of coverage without failing
patch: off
github_checks:
annotations: false

View File

@ -1,13 +1,15 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=16
ARG NODE_VERSION=20
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git
RUN yarn config set --home enableTelemetry 0
WORKDIR /src
FROM base AS deps
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn install && mkdir /vendor && cp yarn.lock /vendor
@ -28,6 +30,7 @@ EOT
FROM deps AS build
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run build && mkdir /out && cp -Rf dist /out/
@ -48,6 +51,7 @@ EOT
FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format \
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
@ -57,13 +61,15 @@ COPY --from=format /out /
FROM deps AS lint
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run lint
FROM deps AS test
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverageDirectory=/tmp/coverage
yarn run test --coverage --coverageDirectory=/tmp/coverage
FROM scratch AS test-coverage
COPY --from=test /tmp/coverage /

22
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

918
dist/licenses.txt generated vendored

File diff suppressed because it is too large Load Diff

2
dist/sourcemap-register.js generated vendored

File diff suppressed because one or more lines are too long

View File

@ -15,6 +15,7 @@ process.env = Object.assign({}, process.env, {
module.exports = {
clearMocks: true,
testEnvironment: 'node',
moduleFileExtensions: ['js', 'ts'],
testMatch: ['**/*.test.ts'],
transform: {

View File

@ -4,9 +4,13 @@
"main": "lib/main.js",
"scripts": {
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
"lint": "eslint src/**/*.ts __tests__/**/*.ts",
"format": "eslint --fix src/**/*.ts __tests__/**/*.ts",
"test": "jest --coverage",
"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",
"all": "yarn run build && yarn run format && yarn test"
},
"repository": {
@ -20,24 +24,25 @@
],
"author": "CrazyMax",
"license": "Apache-2.0",
"packageManager": "yarn@3.6.3",
"dependencies": {
"@actions/core": "^1.10.0",
"@docker/actions-toolkit": "^0.1.0-beta.18",
"uuid": "^9.0.0"
"@actions/core": "^1.10.1",
"@docker/actions-toolkit": "^0.21.1",
"uuid": "^9.0.1"
},
"devDependencies": {
"@types/node": "^16.11.26",
"@typescript-eslint/eslint-plugin": "^5.14.0",
"@typescript-eslint/parser": "^5.14.0",
"@vercel/ncc": "^0.33.3",
"eslint": "^8.11.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.1.1",
"eslint-plugin-prettier": "^4.0.0",
"jest": "^27.2.5",
"prettier": "^2.3.1",
"ts-jest": "^27.1.2",
"ts-node": "^10.7.0",
"typescript": "^4.4.4"
"@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"
}
}

View File

@ -3,13 +3,17 @@ import * as core from '@actions/core';
export interface Inputs {
version: string;
channel: string;
daemonConfig?: string;
context: string;
setHost: boolean;
}
export function getInputs(): Inputs {
return {
version: core.getInput('version') || 'latest',
channel: core.getInput('channel'),
context: core.getInput('context')
daemonConfig: core.getInput('daemon-config'),
context: core.getInput('context'),
setHost: core.getBooleanInput('set-host')
};
}

View File

@ -13,7 +13,7 @@ actionsToolkit.run(
// main
async () => {
const input: context.Inputs = context.getInputs();
const runDir = path.join(os.homedir(), `setup-docker-action-${uuid.v4()}`);
const runDir = path.join(os.homedir(), `setup-docker-action-${uuid.v4().slice(0, 8)}`);
if (input.context == 'default') {
throw new Error(`'default' context cannot be used.`);
@ -23,7 +23,8 @@ actionsToolkit.run(
runDir: runDir,
version: input.version,
channel: input.channel || 'stable',
contextName: input.context || 'setup-docker-action'
contextName: input.context || 'setup-docker-action',
daemonConfig: input.daemonConfig
});
let toolDir;
if (!(await Docker.isAvailable()) || input.version) {
@ -33,7 +34,18 @@ actionsToolkit.run(
}
if (toolDir) {
stateHelper.setRunDir(runDir);
await install.install();
const sockPath = await install.install();
await core.group(`Setting outputs`, async () => {
core.info(`sock=${sockPath}`);
core.setOutput('sock', sockPath);
});
if (input.setHost) {
await core.group(`Setting Docker host`, async () => {
core.exportVariable('DOCKER_HOST', sockPath);
core.info(`DOCKER_HOST=${sockPath}`);
});
}
}
await core.group(`Docker info`, async () => {

View File

@ -3,7 +3,6 @@
"esModuleInterop": true,
"target": "es6",
"module": "commonjs",
"strict": true,
"newLine": "lf",
"outDir": "./lib",
"rootDir": "./src",
@ -13,9 +12,8 @@
"useUnknownInCatchVariables": false,
},
"exclude": [
"./__tests__/**/*",
"./lib/**/*",
"node_modules",
"**/*.test.ts",
"jest.config.ts"
]
}

9824
yarn.lock

File diff suppressed because it is too large Load Diff