Compare commits

..

No commits in common. "46897a62896535bdd1405daaf3939f80200ea25d" and "29412e2cf6d24b62f90425ba31a07e5d683a7127" have entirely different histories.

8 changed files with 34 additions and 186 deletions

View File

@ -114,7 +114,7 @@ jobs:
The following inputs can be used as `step.with` keys
| Name | Type | Default | Description |
|-------------------|--------|------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
|-----------------|--------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------|
| `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) |
@ -122,7 +122,6 @@ The following inputs can be used as `step.with` keys
| `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 |
### inputs.version

View File

@ -1,6 +1,4 @@
import {beforeEach, describe, expect, test} from '@jest/globals';
import * as os from 'os';
import * as path from 'path';
import * as context from '../src/context';
@ -32,8 +30,7 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
setHost: false
} as context.Inputs
],
[
@ -55,8 +52,7 @@ describe('getInputs', () => {
context: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`,
rootless: false,
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
setHost: false
} as context.Inputs
],
[
@ -74,8 +70,7 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
setHost: true,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
setHost: true
} as context.Inputs
],
[
@ -95,8 +90,7 @@ describe('getInputs', () => {
context: 'foo',
daemonConfig: `{"debug":true,"features":{"containerd-snapshotter":true}}`,
rootless: false,
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
setHost: false
} as context.Inputs
],
[
@ -114,8 +108,7 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
setHost: false
} as context.Inputs
],
[
@ -135,7 +128,6 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
} as context.Inputs
],
[
@ -155,7 +147,6 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
} as context.Inputs
],
[
@ -174,7 +165,6 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
} as context.Inputs
],
[
@ -193,7 +183,6 @@ describe('getInputs', () => {
context: '',
daemonConfig: '',
rootless: true,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
} as context.Inputs
],
[
@ -214,8 +203,7 @@ describe('getInputs', () => {
daemonConfig: '',
tcpPort: 2378,
rootless: false,
setHost: false,
runtimeBasedir: path.join(os.homedir(), `setup-docker-action`),
setHost: false
} as context.Inputs
],
])(

View File

@ -31,9 +31,6 @@ inputs:
description: 'Enable Docker rootless mode'
default: 'false'
required: false
runtime-basedir:
description: 'Docker runtime base directory'
required: false
outputs:
sock:

2
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

View File

@ -1,5 +1,3 @@
import os from 'os';
import path from 'path';
import * as core from '@actions/core';
import {parse} from 'csv-parse/sync';
@ -13,7 +11,6 @@ export interface Inputs {
context: string;
setHost: boolean;
rootless: boolean;
runtimeBasedir: string;
}
export function getInputs(): Inputs {
@ -30,8 +27,7 @@ export function getInputs(): Inputs {
tcpPort: Util.getInputNumber('tcp-port'),
context: core.getInput('context'),
setHost: core.getBooleanInput('set-host'),
rootless: core.getBooleanInput('rootless'),
runtimeBasedir: core.getInput('runtime-basedir') || path.join(os.homedir(), `setup-docker-action`)
rootless: core.getBooleanInput('rootless')
};
}

View File

@ -1,4 +1,5 @@
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';
@ -17,7 +18,7 @@ actionsToolkit.run(
// main
async () => {
const input: context.Inputs = context.getInputs();
const runDir = path.join(input.runtimeBasedir, `run-${crypto.randomUUID().slice(0, 8)}`);
const runDir = path.join(os.homedir(), `setup-docker-action-${crypto.randomUUID().slice(0, 8)}`);
if (input.context == 'default') {
throw new Error(`'default' context cannot be used.`);

161
yarn.lock
View File

@ -2992,16 +2992,6 @@ __metadata:
languageName: node
linkType: hard
"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2":
version: 1.0.2
resolution: "call-bind-apply-helpers@npm:1.0.2"
dependencies:
es-errors: ^1.3.0
function-bind: ^1.1.2
checksum: b2863d74fcf2a6948221f65d95b91b4b2d90cfe8927650b506141e669f7d5de65cea191bf788838bc40d13846b7886c5bc5c84ab96c3adbcf88ad69a72fcdc6b
languageName: node
linkType: hard
"callsites@npm:^3.0.0":
version: 3.1.0
resolution: "callsites@npm:3.1.0"
@ -3168,7 +3158,7 @@ __metadata:
languageName: node
linkType: hard
"combined-stream@npm:^1.0.8":
"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8":
version: 1.0.8
resolution: "combined-stream@npm:1.0.8"
dependencies:
@ -3418,17 +3408,6 @@ __metadata:
languageName: node
linkType: hard
"dunder-proto@npm:^1.0.1":
version: 1.0.1
resolution: "dunder-proto@npm:1.0.1"
dependencies:
call-bind-apply-helpers: ^1.0.1
es-errors: ^1.3.0
gopd: ^1.2.0
checksum: 149207e36f07bd4941921b0ca929e3a28f1da7bd6b6ff8ff7f4e2f2e460675af4576eeba359c635723dc189b64cdd4787e0255897d5b135ccc5d15cb8685fc90
languageName: node
linkType: hard
"duplexify@npm:^3.5.0, duplexify@npm:^3.6.0":
version: 3.7.1
resolution: "duplexify@npm:3.7.1"
@ -3524,41 +3503,6 @@ __metadata:
languageName: node
linkType: hard
"es-define-property@npm:^1.0.1":
version: 1.0.1
resolution: "es-define-property@npm:1.0.1"
checksum: 0512f4e5d564021c9e3a644437b0155af2679d10d80f21adaf868e64d30efdfbd321631956f20f42d655fedb2e3a027da479fad3fa6048f768eb453a80a5f80a
languageName: node
linkType: hard
"es-errors@npm:^1.3.0":
version: 1.3.0
resolution: "es-errors@npm:1.3.0"
checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5
languageName: node
linkType: hard
"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1":
version: 1.1.1
resolution: "es-object-atoms@npm:1.1.1"
dependencies:
es-errors: ^1.3.0
checksum: 214d3767287b12f36d3d7267ef342bbbe1e89f899cfd67040309fc65032372a8e60201410a99a1645f2f90c1912c8c49c8668066f6bdd954bcd614dda2e3da97
languageName: node
linkType: hard
"es-set-tostringtag@npm:^2.1.0":
version: 2.1.0
resolution: "es-set-tostringtag@npm:2.1.0"
dependencies:
es-errors: ^1.3.0
get-intrinsic: ^1.2.6
has-tostringtag: ^1.0.2
hasown: ^2.0.2
checksum: 789f35de4be3dc8d11fdcb91bc26af4ae3e6d602caa93299a8c45cf05d36cc5081454ae2a6d3afa09cceca214b76c046e4f8151e092e6fc7feeb5efb9e794fc6
languageName: node
linkType: hard
"escalade@npm:^3.1.1":
version: 3.1.1
resolution: "escalade@npm:3.1.1"
@ -4025,16 +3969,13 @@ __metadata:
linkType: hard
"form-data@npm:^2.5.0":
version: 2.5.5
resolution: "form-data@npm:2.5.5"
version: 2.5.1
resolution: "form-data@npm:2.5.1"
dependencies:
asynckit: ^0.4.0
combined-stream: ^1.0.8
es-set-tostringtag: ^2.1.0
hasown: ^2.0.2
mime-types: ^2.1.35
safe-buffer: ^5.2.1
checksum: ba6d8467f959c9bf36a52e423256c1e8055a8e650416760f54fa5db261529c3de698a4ce8378dd4fdb71b44be190906d6b73446556cc74e58de8bda01d09e9e7
combined-stream: ^1.0.6
mime-types: ^2.1.12
checksum: 5134ada56cc246b293a1ac7678dba6830000603a3979cf83ff7b2f21f2e3725202237cfb89e32bcb38a1d35727efbd3c3a22e65b42321e8ade8eec01ce755d08
languageName: node
linkType: hard
@ -4111,13 +4052,6 @@ __metadata:
languageName: node
linkType: hard
"function-bind@npm:^1.1.2":
version: 1.1.2
resolution: "function-bind@npm:1.1.2"
checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1
languageName: node
linkType: hard
"gauge@npm:^4.0.3":
version: 4.0.4
resolution: "gauge@npm:4.0.4"
@ -4148,24 +4082,6 @@ __metadata:
languageName: node
linkType: hard
"get-intrinsic@npm:^1.2.6":
version: 1.3.0
resolution: "get-intrinsic@npm:1.3.0"
dependencies:
call-bind-apply-helpers: ^1.0.2
es-define-property: ^1.0.1
es-errors: ^1.3.0
es-object-atoms: ^1.1.1
function-bind: ^1.1.2
get-proto: ^1.0.1
gopd: ^1.2.0
has-symbols: ^1.1.0
hasown: ^2.0.2
math-intrinsics: ^1.1.0
checksum: 301008e4482bb9a9cb49e132b88fee093bff373b4e6def8ba219b1e96b60158a6084f273ef5cafe832e42cd93462f4accb46a618d35fe59a2b507f2388c5b79d
languageName: node
linkType: hard
"get-package-type@npm:^0.1.0":
version: 0.1.0
resolution: "get-package-type@npm:0.1.0"
@ -4173,16 +4089,6 @@ __metadata:
languageName: node
linkType: hard
"get-proto@npm:^1.0.1":
version: 1.0.1
resolution: "get-proto@npm:1.0.1"
dependencies:
dunder-proto: ^1.0.1
es-object-atoms: ^1.0.0
checksum: 4fc96afdb58ced9a67558698b91433e6b037aaa6f1493af77498d7c85b141382cf223c0e5946f334fb328ee85dfe6edd06d218eaf09556f4bc4ec6005d7f5f7b
languageName: node
linkType: hard
"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1":
version: 6.0.1
resolution: "get-stream@npm:6.0.1"
@ -4296,13 +4202,6 @@ __metadata:
languageName: node
linkType: hard
"gopd@npm:^1.2.0":
version: 1.2.0
resolution: "gopd@npm:1.2.0"
checksum: cc6d8e655e360955bdccaca51a12a474268f95bb793fc3e1f2bdadb075f28bfd1fd988dab872daf77a61d78cbaf13744bc8727a17cfb1d150d76047d805375f3
languageName: node
linkType: hard
"graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6":
version: 4.2.11
resolution: "graceful-fs@npm:4.2.11"
@ -4372,22 +4271,6 @@ __metadata:
languageName: node
linkType: hard
"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0":
version: 1.1.0
resolution: "has-symbols@npm:1.1.0"
checksum: b2316c7302a0e8ba3aaba215f834e96c22c86f192e7310bdf689dd0e6999510c89b00fbc5742571507cebf25764d68c988b3a0da217369a73596191ac0ce694b
languageName: node
linkType: hard
"has-tostringtag@npm:^1.0.2":
version: 1.0.2
resolution: "has-tostringtag@npm:1.0.2"
dependencies:
has-symbols: ^1.0.3
checksum: 999d60bb753ad714356b2c6c87b7fb74f32463b8426e159397da4bde5bca7e598ab1073f4d8d4deafac297f2eb311484cd177af242776bf05f0d11565680468d
languageName: node
linkType: hard
"has-unicode@npm:^2.0.1":
version: 2.0.1
resolution: "has-unicode@npm:2.0.1"
@ -4404,15 +4287,6 @@ __metadata:
languageName: node
linkType: hard
"hasown@npm:^2.0.2":
version: 2.0.2
resolution: "hasown@npm:2.0.2"
dependencies:
function-bind: ^1.1.2
checksum: e8516f776a15149ca6c6ed2ae3110c417a00b62260e222590e54aa367cbcd6ed99122020b37b7fbdf05748df57b265e70095d7bf35a47660587619b15ffb93db
languageName: node
linkType: hard
"he@npm:^1.2.0":
version: 1.2.0
resolution: "he@npm:1.2.0"
@ -5524,13 +5398,6 @@ __metadata:
languageName: node
linkType: hard
"math-intrinsics@npm:^1.1.0":
version: 1.1.0
resolution: "math-intrinsics@npm:1.1.0"
checksum: 0e513b29d120f478c85a70f49da0b8b19bc638975eca466f2eeae0071f3ad00454c621bf66e16dd435896c208e719fc91ad79bbfba4e400fe0b372e7c1c9c9a2
languageName: node
linkType: hard
"merge-stream@npm:^2.0.0":
version: 2.0.0
resolution: "merge-stream@npm:2.0.0"
@ -5562,7 +5429,7 @@ __metadata:
languageName: node
linkType: hard
"mime-types@npm:^2.1.12, mime-types@npm:^2.1.35":
"mime-types@npm:^2.1.12":
version: 2.1.35
resolution: "mime-types@npm:2.1.35"
dependencies:
@ -6401,13 +6268,6 @@ __metadata:
languageName: node
linkType: hard
"safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0":
version: 5.2.1
resolution: "safe-buffer@npm:5.2.1"
checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491
languageName: node
linkType: hard
"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1":
version: 5.1.2
resolution: "safe-buffer@npm:5.1.2"
@ -6415,6 +6275,13 @@ __metadata:
languageName: node
linkType: hard
"safe-buffer@npm:~5.2.0":
version: 5.2.1
resolution: "safe-buffer@npm:5.2.1"
checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491
languageName: node
linkType: hard
"safer-buffer@npm:>= 2.1.2 < 3.0.0":
version: 2.1.2
resolution: "safer-buffer@npm:2.1.2"