Skip to content

ci: pin the Linux runners that install LLVM 20 to ubuntu-24.04 - #254

Merged
SizzleUnrlsd merged 1 commit into
mainfrom
ci/pin-linux-runners-to-ubuntu-24-04
Oct 28, 2026
Merged

SizzleUnrlsd merged 1 commit into
mainfrom
ci/pin-linux-runners-to-ubuntu-24-04

Conversation

@SizzleUnrlsd

Copy link
Copy Markdown
Contributor

Summary

ubuntu-latest now resolves to Ubuntu 26.04 (resolute), and every job that installs LLVM 20 from apt.llvm.org fails in its install step, before building anything. This pins those jobs to ubuntu-24.04, the image yesterday's green runs used.

What breaks on Ubuntu 26.04

  • apt-key is gone from the image: sudo: 'apt-key': command not found (ci.yml "Install dependencies (Linux)", and action.yml "Install LLVM", used by the Test GitHub Action and Test Consumer Project jobs).
  • apt.llvm.org publishes no llvm-toolchain-resolute-20 branch (https://apt.llvm.org/resolute/dists/ lists the unversioned branch and 21, 22, 23 only), so replacing apt-key would not be enough to install LLVM 20 there. llvm-toolchain-noble-20 exists.

Change

  • ci.yml: build matrix ubuntu-latest to ubuntu-24.04.
  • test-ci-integration.yml: the three jobs to ubuntu-24.04.

The jobs that take their tools from the Ubuntu archive (commit check, clang-format, license compliance) stay on ubuntu-latest; they passed on 26.04. concurrency.yml was already pinned to ubuntu-24.04.

Follow-up

The published action (action.yml) still uses apt-key and installs LLVM 20 from apt.llvm.org, so it cannot run on Ubuntu 26.04 runners: apt-key must be replaced by a keyring with signed-by, and the analyzer needs either a build against LLVM 21+ or a documented runner requirement. Tracked in a separate issue.

Seen on #246: "Build on ubuntu-latest", "Test GitHub Action" and "Test Consumer Project" failed at the install step on the second push, while the same jobs passed on the first push the day before on ubuntu-24.04.

ubuntu-latest now resolves to Ubuntu 26.04 (resolute). Two things break
there: apt-key, which the install steps use to trust apt.llvm.org, is
gone from the image, and apt.llvm.org publishes no llvm-toolchain-20
branch for resolute (21 and later only). Every job that installs LLVM 20
from apt.llvm.org therefore fails before building anything, on main as
on every pull request.

Pin those jobs to ubuntu-24.04, where yesterday's runs were green: the
build matrix of ci.yml and the three jobs of test-ci-integration.yml.
The jobs that take their tools from the Ubuntu archive stay on
ubuntu-latest.

The action itself (action.yml) still uses apt-key and LLVM 20 from
apt.llvm.org, so it does not work on Ubuntu 26.04 runners either; that
is tracked separately.
@SizzleUnrlsd
SizzleUnrlsd merged commit 172ffd7 into main Oct 28, 2026
15 checks passed
@SizzleUnrlsd
SizzleUnrlsd deleted the ci/pin-linux-runners-to-ubuntu-24-04 branch October 28, 2026 22:54
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.

1 participant