Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build-git-installers: target an older Ubuntu version #719

Merged
merged 5 commits into from
Jan 21, 2025

Conversation

dscho
Copy link
Member

@dscho dscho commented Jan 17, 2025

Currently, we target whatever GitHub Actions use as ubuntu-latest; This, however, led to the unintentional requirement in v2.47.2.vfs.0.0 to run Ubuntu 24.04 (up from 22.04 in v2.47.1.vfs.0.1).

It is important to target a wider audience, though, especially in light of CVE-2024-52005 which is only addressed in Git for Windows and microsoft/git, but not Git.

We could now go back to 22.04; This would only be a temporary band-aid, https://github.blog/changelog/2025-01-15-github-actions-ubuntu-20-runner-image-brownout-dates-and-other-breaking-changes/ already announced that 20.04 is phased out very soon, and 22.04 will be next.

Let's just use a Docker container instead that targets the oldest Ubuntu LTS that is still maintained in some shape or form.

We still verify in validate-installers that the resulting binary installs and works on the latest Ubuntu version by virtue of using runs-on: ubuntu-latest in that matrix job.

@dscho dscho self-assigned this Jan 17, 2025
Copy link

@derrickstolee derrickstolee left a comment

Choose a reason for hiding this comment

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

Thanks for the fast response here!

dscho added 5 commits January 20, 2025 14:55
No need to initialize the `release` environment for the `prereq` job;
Originally, the expectation was that this would prevent the repeated
need for validating manually that the jobs are allowed to access that
environment; However, GitHub Actions does ask for every single job, and
for certain reasons it is unlikely that this is ever going to be fixed.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Currently, we target whatever GitHub Actions use as `ubuntu-latest`;
This, however, led to the unintentional requirement in v2.47.2.vfs.0.0
to run Ubuntu 24.04 (up from 22.04 in v2.47.1.vfs.0.1).

It is important to target a wider audience, though, especially in light
of CVE-2024-52005 which is only addressed in Git for Windows and
`microsoft/git`, but not Git.

We could now go back to 22.04; This would only be a temporary band-aid,
https://github.blog/changelog/2025-01-15-github-actions-ubuntu-20-runner-image-brownout-dates-and-other-breaking-changes/
already announced that 20.04 is phased out very soon, and 22.04 will be
next.

Let's just use a Docker container instead that targets the oldest Ubuntu
LTS that is still maintained in _some_ shape or form.

This requires a few modifications (`sudo` is not available, GitHub
Actions' node.js needs to be overridden, and we need to install a couple
of packages explicitly). In particular, we now need two jobs because it
turned out to be too convoluted to get `debsign` to work in a headless
workflow with Ubuntu 16.04; We still resort to `ubuntu-latest` for that
instead.

By still verifying the resulting binary in `validate-installers`, we
ensure that it installs and works on the latest Ubuntu version by virtue
of using `runs-on: ubuntu-latest` in _that_ matrix job.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Do use `apt-get` and ensure that it does not ask for confirmation.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
By using cURL for `imap-send`, we can drop the libssl dependency, which
is not installed in Ubuntu 16.04 container by default.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This avoids some Bash-only `sed` invocations to strip quotes where no
stripping is required if `az` is asked to output the value in a more
appropriate format.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho force-pushed the target-older-ubuntu branch from 3162433 to ed8287b Compare January 21, 2025 09:49
@dscho
Copy link
Member Author

dscho commented Jan 21, 2025

Well, I spent all of yesterday trying to fix the build, and I finally succeeded. This is now ready to be merged.

@dscho dscho merged commit 5b0f528 into vfs-2.47.2 Jan 21, 2025
92 checks passed
@dscho dscho deleted the target-older-ubuntu branch January 21, 2025 14:57
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.

3 participants