Skip to content

CI: prepare for Ubuntu 26.04, add jobs for Clang 20-22 and GCC 15-16 - #41

Merged
solardiz merged 4 commits into
openwall:mainfrom
ldv-alt:main
Oct 11, 2026
Merged

solardiz merged 4 commits into
openwall:mainfrom
ldv-alt:main

Conversation

@ldv-alt

@ldv-alt ldv-alt commented Oct 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

This pull request updates the project's CI infrastructure to prepare for Ubuntu 26.04 and newer compiler releases (Clang 20–22, GCC 15-16), ensures legacy compiler test matrix stability across runner upgrades.

Details

Modern Toolchain & Ubuntu 26.04 CI Jobs

  • Added CI jobs for Clang 20, 21, 22 and GCC 15, 16.
  • Jobs for Clang 21 and Clang 22 are pinned to ubuntu-26.04 as they are not present in older Ubuntu releases.
  • GCC 15, GCC 16, and Clang 20 run on ubuntu-latest.
  • Explicitly installed libcrypt-dev in CI workflows, as it is no longer installed by default on the Ubuntu 26.04 runner image.

Forward Compatibility for ubuntu-latest

  • Pinned legacy compiler jobs (gcc-9, gcc-10, clang-14, clang-15, clang-16) to ubuntu-24.04. These toolchains are removed in Ubuntu 26.04, so pinning them ensures matrix tests continue to pass when GitHub transitions ubuntu-latest to Ubuntu 26.04.

The libcrypt-dev package is not installed by default in the Ubuntu 26.04
build image, so install it explicitly.
As gcc-9, gcc-10, clang-14, clang-15, or clang-16 are not available on
Ubuntu 26.04, pin the corresponding jobs to ubuntu-24.04 so they survive
the upcoming ubuntu-latest switch from ubuntu-24.04 to ubuntu-26.04.
As gcc-15 and gcc-16 are available both on Ubuntu 24.04 and
on Ubuntu 26.04, keep them on ubuntu-latest.
As Clang 21 and Clang 22 are available only on Ubuntu 26.04, pin
ubuntu-26.04 for the corresponding jobs.  When ubuntu-latest
switches from ubuntu-24.04 to ubuntu-26.04, these jobs can be
switched to ubuntu-latest.

Clang 20 is available on both Ubuntu 24.04 and Ubuntu 26.04,
so keep it on ubuntu-latest.
@ldv-alt ldv-alt added the github_actions Pull requests that update GitHub Actions code label Oct 10, 2026
@ldv-alt ldv-alt changed the title CI: prepare for Ubuntu 26.04, fix build with Clang 21+ CI: prepare for Ubuntu 26.04, add jobs for Clang 20-22 and GCC 15-16 Oct 10, 2026
@solardiz
solardiz merged commit f7afc3c into openwall:main Oct 11, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants