Skip to content

Conversation

@toast-gear
Copy link
Collaborator

@toast-gear toast-gear commented Nov 26, 2022

Depends on #2036 #2063

Resolves #2006

To Do

  • write up justification in this PR for why we've removed what we've removed and what the policy is going forward

Preample
A new Ubuntu version represents an opportunity for the ARC maintainers to cut down on the installed software in the runner. The existing runner images contain a lot of sofware that would not typically be needed in CI/CD environment or has a niche use case, by including it we get the following negatives:

  1. a larger image for the sake of including some tools a small percentage of the consumers use
  2. more points of failure
  3. a more insecure base imaage

The software that is included in the runner as it is today was largely inherited and not active choices made by the current maintainers.

Things Removed and Why
build-essential - CI/CD unrelated / niche use case
dnsutils - CI/CD unrelated
ftp - CI/CD unrelated / niche use case
iproute2 - CI/CD unrelated
iputils-ping - CI/CD unrelated
libunwind8 - CI/CD unrelated
locales - CI/CD unrelated
netcat - CI/CD unrelated
openssh-client - CI/CD unrelated / niche use case
parallel - niche use case
rsync - CI/CD unrelated / niche use case
shellcheck - various actions exist to run shellcheck, too opinionated to be in the base runner https://github.com/search?q=shellcheck+action https://github.com/github/super-linter
telnet - CI/CD unrelated
time - CI/CD unrelated
tzdata - CI/CD unrelated
upx - CI/CD unrelated
wget - we already bundle curl which covers the same use case
zstd - CI/CD unrelated

Python
python - there is a official set-up action for Python so no need to bundle it making the base image larger https://github.com/actions/setup-python
python3-pip - python has been removed

When our runner images were first produced GitHub Actions offered very poor support for managing runners and so there was a strong incentive for ARC to have a fatter more inclusive image over a slimmer image. Since those days GitHub has introduced the --disableupdate flag enabling ARC administrators to more easily use their own runners built from ours without significant operational impacts lessening the incentive to bundle as much as possible in the ARC runners themselves.

@toast-gear toast-gear marked this pull request as ready for review November 30, 2022 18:25
@toast-gear toast-gear requested a review from mumoshu as a code owner November 30, 2022 18:25
Copy link
Collaborator

@mumoshu mumoshu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect. Thanks as always for your awesome work ☺️

@mumoshu mumoshu merged commit 212b9da into master Dec 1, 2022
@mumoshu mumoshu deleted the feat/default-2204-runner branch December 1, 2022 22:30
bgrainger added a commit to Faithlife/actions-runner-image that referenced this pull request Dec 2, 2022
This synchronizes our image with GitHub hosted runners, which are moving to Ubuntu 22.04: https://github.blog/changelog/2022-11-09-github-actions-ubuntu-latest-workflows-will-use-ubuntu-22-04/.

See also the rationale at actions/actions-runner-controller#2050.
@totogtr
Copy link
Contributor

totogtr commented Jan 12, 2023

Hi,

Any possibility to include back openssh-client ? It can be used to connect / upload some files to a remote machine.

@Gby56
Copy link

Gby56 commented Jan 13, 2023

Hello, same here, I think we are using the summerwind image though, but we're seeing asdf install fail because wget is now missing ?

@corford
Copy link

corford commented Nov 9, 2023

Removing build-essential has broken a load of our CI/CD workflows that use make

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use ubuntu 22.04 as base image

6 participants