Skip to content

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 <[email protected]>
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 <[email protected]>
Do use `apt-get` and ensure that it does not ask for confirmation.

Signed-off-by: Johannes Schindelin <[email protected]>
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 <[email protected]>
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 <[email protected]>
@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
dscho added a commit that referenced this pull request Feb 5, 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 mentioned this pull request Feb 10, 2025
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.

4 participants