Working around the obstacles to publishing official Docker base images #4442
Replies: 1 comment 4 replies
-
My own situation, for reference: my company is currently trialling Actions. It can only use Actions on self-hosted infrastructure (in part because our enterprise Artifactory is only accessible inside our corporate network, and therefore the Actions must also be inside our network to see it). We're currently deploying self-hosted runners on EKS using actions-runner-controller. The minimal runner definitions from that project omit a lot of things which are present in GitHub-hosted runners, so many standard Actions fail (or need extra configuration) when run on the self-hosted runners. This is very jarring for developers who are used to the convenience of GitHub-hosted runners. Therefore we need a way to achieve functional parity with them, without spending a lot of time manually building our own Docker runner images from scratch. |
Beta Was this translation helpful? Give feedback.
-
Many people have requested that GitHub publishes its base images for Actions runners, so that they can reuse them rather than building runners from scratch.
Here we encounter problem 1: Those requests usually end up being closed due to software licensing problems (#176 (comment)).
In the time since those requests were made, the devs have made it possible to run the build scripts ourselves with Packer. This has helped people who are deploying their runners on Azure.
Here we encounter problem 2: many of us who want to use self-hosted runners aren't on Azure, or want/need to use Docker-based runners via a project like actions-runner-controller. As @catthehacker explained in #2320 (comment), it's prohibitively difficult to build the project directly into Docker images due to the use of systemd.
Rather than going around the loop again, I propose we take a step back and think of a more high-level way of achieving what we want, which avoids the license and technological constraints.
What we care about is that:
Therefore, if we can't directly use GitHub's official Actions runner images, the next best thing would be an executable specification / compatibility check / test suite, which we can use to ensure that our own base images contain all the relevant software that the official images do.
The image docs at https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md are not executable themselves, but would provide the foundation for writing such a test suite.
Thoughts?
Beta Was this translation helpful? Give feedback.
All reactions