From de8d0f39ec0d401b67a68271a2477ce349836ecf Mon Sep 17 00:00:00 2001 From: ArunKumarT1995 Date: Wed, 6 Aug 2025 18:48:28 +0530 Subject: [PATCH] add runtime-basedir input Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- README.md | 4 ++-- action.yml | 3 +++ src/context.ts | 4 +++- src/main.ts | 3 ++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ce12366..5ae7e04 100644 --- a/README.md +++ b/README.md @@ -121,8 +121,8 @@ The following inputs can be used as `step.with` keys | `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 | - +| `rootless` | Bool | `false` | Start daemon in rootless mode | +| `runtime-basedir` | String | `/setup-docker-action` | Docker runtime base directory ### inputs.version By default, the latest stable version of Docker is fetched from download.docker.com. diff --git a/action.yml b/action.yml index af29b35..d424ab5 100644 --- a/action.yml +++ b/action.yml @@ -31,6 +31,9 @@ inputs: description: 'Enable Docker rootless mode' default: 'false' required: false + runtime-basedir: + description: 'Docker runtime base directory' + required: false outputs: sock: diff --git a/src/context.ts b/src/context.ts index 92c7b4a..c46cb45 100644 --- a/src/context.ts +++ b/src/context.ts @@ -11,6 +11,7 @@ export interface Inputs { context: string; setHost: boolean; rootless: boolean; + runtimeBasedir?: string; } export function getInputs(): Inputs { @@ -27,7 +28,8 @@ export function getInputs(): Inputs { 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') }; } diff --git a/src/main.ts b/src/main.ts index 1a4af67..2231c7b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -18,7 +18,8 @@ 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 runBasedir = input.runtimeBasedir || path.join(os.homedir(), `setup-docker-action`); + const runDir = path.join(runBasedir, `run-${crypto.randomUUID().slice(0, 8)}`); if (input.context == 'default') { throw new Error(`'default' context cannot be used.`);