github-actions-runner-operator
github-actions-runner-operator copied to clipboard
#321: Update sample: externals mount point
Add new mount point to the example GithubActionRunner runner-pool kustomization to allow docker container (dind) access to the action runners externals directory in the runner container. This is required to stop the docker container from failing at actions/checkout with the error
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/__e/node12/bin/node\": stat /__e/node12/bin/node: no such file or directory": unknown
Refs: #321
but won't this shadow/mount over the existing contents which is needed?
docker run -ti --entrypoint /bin/bash --rm quay.io/evryfs/github-actions-runner:latest
Unable to find image 'quay.io/evryfs/github-actions-runner:latest' locally
latest: Pulling from evryfs/github-actions-runner
f3ef4ff62e0d: Already exists
cf3b9f168331: Already exists
1c06cc119757: Pull complete
57c1d741cc99: Pull complete
45015c714ab1: Pull complete
580a1b3afedd: Pull complete
be6058bda048: Pull complete
16d600f7bbaa: Pull complete
c91b3db68014: Pull complete
973e0c628549: Pull complete
Digest: sha256:d4a5985612c1b658c789a1d1def49a8319d4f8b4cb3dcca2d249fbb2dffdd874
Status: Downloaded newer image for quay.io/evryfs/github-actions-runner:latest
runner@301ef2a3c44f:~$ ls /home/runner/externals
node12 node12_alpine
I think you may be correct, however, I'm currently not seeing this due to the GitHub action-runner self updating functionality updating the version straight away once initialised. So yes it is currently working for me in my environment but in the scenario where the action-runner is already up to date then this may fail.
@davidkarlsen any other ideas how we can get the DinD container to have a copy of the files mounted in the runner container without wiping out the original files in the runner and being able to keep these synchronised?
P.S. I also seem to be having the same issue with an action that is using /tmp directory to store build artefacts. Very annoying as it is not configurable. Not sure why they have to use another non-standard runner work dir but I suspect they aren't the only action to do so.
I've verified that your assumption is correct, so our fix currently is to run the initialisation script every time regardless of version to make sure even though the /home/runner/externals directory is clobbered by the mount point it is reinstated by install-runner each time.
ATM this is the best/easiest work around we could come up with. If you/anyone else has a better solution I'm all ears.
I've verified that your assumption is correct, so our fix currently is to run the initialisation script every time regardless of version to make sure even though the /home/runner/externals directory is clobbered by the mount point it is reinstated by
install-runnereach time.ATM this is the best/easiest work around we could come up with. If you/anyone else has a better solution I'm all ears.
Init container is maybe the best yes, we're currently investigating using another base-image, so I haven't forgotten this case - we just need to look around a bit.
Moving this issue to https://github.com/evryfs/github-actions-runner where it really belongs.
GitHub
Contribute to evryfs/github-actions-runner development by creating an account on GitHub.
Great, let me know if I can be of any assistance.