diff --git a/action/Dockerfile b/action/Dockerfile index f420b80..275dbd6 100644 --- a/action/Dockerfile +++ b/action/Dockerfile @@ -14,4 +14,7 @@ ADD steps /steps RUN chmod -R +x /steps ADD entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh + +RUN apt-get update && apt-get install -y openssh-client + ENTRYPOINT ["/entrypoint.sh"] diff --git a/src/index.js b/src/index.js index 5e8c69d..95af086 100644 --- a/src/index.js +++ b/src/index.js @@ -4,7 +4,7 @@ import { Action, Docker, Input, ImageTag, Output, ResultsCheck } from './model'; async function action() { Action.checkCompatibility(); - const { dockerfile, workspace, actionFolder } = Action; + const { dockerfile, workspace, actionFolder, sshAgent } = Action; const { unityVersion, customImage, @@ -32,6 +32,7 @@ async function action() { useHostNetwork, customParameters, githubToken, + sshAgent, }); } finally { // Set output diff --git a/src/model/action.js b/src/model/action.js index 5e568d1..15325cc 100644 --- a/src/model/action.js +++ b/src/model/action.js @@ -37,6 +37,10 @@ class Action { return process.env.GITHUB_WORKSPACE; } + static get sshAgent() { + return process.env.SSH_AUTH_SOCK; + } + static checkCompatibility() { const currentPlatform = process.platform; if (!Action.supportedPlatforms.includes(currentPlatform)) { diff --git a/src/model/docker.js b/src/model/docker.js index d1e34e5..0d61ac5 100644 --- a/src/model/docker.js +++ b/src/model/docker.js @@ -27,6 +27,7 @@ class Docker { useHostNetwork, customParameters, githubToken, + sshAgent, } = parameters; const command = `docker run \ @@ -42,7 +43,6 @@ class Docker { --env TEST_MODE="${testMode}" \ --env ARTIFACTS_PATH="${artifactsPath}" \ --env CUSTOM_PARAMETERS="${customParameters}" \ - --env HOME=/github/home \ --env GITHUB_REF \ --env GITHUB_SHA \ --env GITHUB_REPOSITORY \ @@ -58,10 +58,13 @@ class Docker { --env RUNNER_TOOL_CACHE \ --env RUNNER_TEMP \ --env RUNNER_WORKSPACE \ + --env SSH_AUTH_SOCK=/ssh-agent \ --volume "/var/run/docker.sock":"/var/run/docker.sock" \ - --volume "/home/runner/work/_temp/_github_home":"/github/home" \ + --volume "/home/runner/work/_temp/_github_home":"/root" \ --volume "/home/runner/work/_temp/_github_workflow":"/github/workflow" \ --volume "${workspace}":"/github/workspace" \ + --volume "${sshAgent}":"/ssh-agent" \ + --volume /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:ro \ ${useHostNetwork ? '--net=host' : ''} \ ${githubToken ? '--env USE_EXIT_CODE=false' : '--env USE_EXIT_CODE=true'} \ ${image}`;