mirror of
https://github.com/renovatebot/github-action.git
synced 2025-12-15 16:32:36 +00:00
feat: add docker-socket-host-path input (#862)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
This commit is contained in:
parent
669f02b0b3
commit
c0afe86658
4 changed files with 27 additions and 1 deletions
|
|
@ -13,6 +13,7 @@ GitHub Action to run Renovate self-hosted.
|
|||
- [`configurationFile`](#configurationfile)
|
||||
- [`docker-cmd-file`](#docker-cmd-file)
|
||||
- [`docker-network`](#docker-network)
|
||||
- [`docker-socket-host-path`](#docker-socket-host-path)
|
||||
- [`docker-user`](#docker-user)
|
||||
- [`docker-volumes`](#docker-volumes)
|
||||
- [`env-regex`](#env-regex)
|
||||
|
|
@ -113,6 +114,12 @@ Specify a network to run container in.
|
|||
You can use `${{ job.container.network }}` to run renovate container [in the same network as other containers for this job](https://docs.github.com/en/actions/learn-github-actions/contexts#job-context),
|
||||
or set it to `host` to run in the same network as github runner, or specify any custom network.
|
||||
|
||||
### `docker-socket-host-path`
|
||||
|
||||
Allows the overriding of the host path for the Docker socket that is mounted into the container.
|
||||
Useful on systems where the host Docker socket is located somewhere other than `/var/run/docker.sock` (the default).
|
||||
Only applicable when `mount-docker-socket` is true.
|
||||
|
||||
### `docker-user`
|
||||
|
||||
Specify a user (or user-id) to run docker command.
|
||||
|
|
|
|||
|
|
@ -36,6 +36,13 @@ inputs:
|
|||
can use Docker. Also add the user inside the renovate container to the
|
||||
docker group for socket permissions.
|
||||
required: false
|
||||
docker-socket-host-path:
|
||||
description: |
|
||||
Allows the overriding of the host path for the Docker socket that is mounted into the container.
|
||||
Useful on systems where the host Docker socket is located somewhere other than '/var/run/docker.sock' (the default).
|
||||
Only applicable when 'mount-docker-socket' is true.
|
||||
required: false
|
||||
default: /var/run/docker.sock
|
||||
docker-cmd-file:
|
||||
description: |
|
||||
Override docker command. Default command is `renovate`
|
||||
|
|
|
|||
|
|
@ -73,6 +73,10 @@ class Input {
|
|||
return core.getInput('mount-docker-socket') === 'true';
|
||||
}
|
||||
|
||||
dockerSocketHostPath(): string {
|
||||
return core.getInput('docker-socket-host-path') || '/var/run/docker.sock';
|
||||
}
|
||||
|
||||
getDockerCmdFile(): string | null {
|
||||
const cmdFile = core.getInput('docker-cmd-file');
|
||||
return !!cmdFile && cmdFile !== '' ? path.resolve(cmdFile) : null;
|
||||
|
|
|
|||
|
|
@ -33,8 +33,16 @@ class Renovate {
|
|||
}
|
||||
|
||||
if (this.input.mountDockerSocket()) {
|
||||
const sockPath = this.input.dockerSocketHostPath();
|
||||
const stat = await fs.stat(sockPath);
|
||||
if (!stat.isSocket()) {
|
||||
throw new Error(
|
||||
`docker socket host path '${sockPath}' MUST exist and be a socket`,
|
||||
);
|
||||
}
|
||||
|
||||
dockerArguments.push(
|
||||
'--volume /var/run/docker.sock:/var/run/docker.sock',
|
||||
`--volume ${sockPath}:/var/run/docker.sock`,
|
||||
`--group-add ${await this.getDockerGroupId()}`,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue