Skip to content

chore: support Ubuntu 26.04 - #574

Draft
lvaroqui wants to merge 3 commits into
mainfrom
cod-3305-support-ubuntu-2604
Draft

lvaroqui wants to merge 3 commits into
mainfrom
cod-3305-support-ubuntu-2604

Conversation

@lvaroqui

@lvaroqui lvaroqui commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Run the CI on Ubuntu 26.04 alongside 24.04: the unit tests and the basic run test on ubuntu-24.04 and ubuntu-26.04 runners, and the executor tests on ubuntu:24.04 and ubuntu:26.04 base images.

The executor tests run in Docker, so the Dockerfile now takes a BASE_IMAGE build argument, set by tests/docker/run.sh from CODSPEED_TEST_BASE_IMAGE (default ubuntu:24.04). Each base image gets its own image tags, setup container and target volume: binaries built against 26.04's glibc do not run in a 24.04 container, and the setup image cleanup would otherwise delete the other base's image.

The workflow sets CODSPEED_VALGRIND_BUILD_FROM_SOURCE=false (forwarded into the test containers), so a system we publish no valgrind package for fails instead of falling back to a source build that takes minutes and hides the missing package. No valgrind-codspeed package is published for 26.04 yet, so the simulation runs on 26.04 are expected to fail until it is: the 14 simulation executor tests and the whole basic-run-test (ubuntu-26.04) job. Note that codspeed setup only warns when valgrind cannot be installed, so the failure surfaces at codspeed run, not at setup.

With the fallback left on, the full executor suite passes locally on ubuntu:26.04 (valgrind-codspeed built from source, every shard green).

Refs COD-3305, which stays open until valgrind-codspeed is published for 26.04.

The executor tests always ran in an Ubuntu 24.04 container. The Dockerfile
now takes a BASE_IMAGE build argument, set from CODSPEED_TEST_BASE_IMAGE
(default ubuntu:24.04), so the suite can run on other releases such as
Ubuntu 26.04.

Each base image gets its own image tags, setup container and target
volume: binaries built against a newer glibc do not run on an older one,
and the setup image cleanup no longer deletes another base's image.
`just clean-integ` removes them all by name filter.

CODSPEED_VALGRIND_BUILD_FROM_SOURCE is forwarded to the containers when
set, so the valgrind source-build fallback can be controlled in the tests.

Refs COD-3305

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codspeed

codspeed Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 31 untouched benchmarks
⏩ 6 skipped benchmarks1


Comparing cod-3305-support-ubuntu-2604 (3230d82) with main (8368147)

Open in CodSpeed

Footnotes

  1. 6 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

lvaroqui and others added 2 commits October 8, 2026 17:22
Run the unit tests and the basic run test on ubuntu-24.04 and
ubuntu-26.04 runners, each with its own Rust cache, and the executor
tests on ubuntu:24.04 and ubuntu:26.04 base images.

Set CODSPEED_VALGRIND_BUILD_FROM_SOURCE=false for the whole workflow, so
a system we publish no valgrind package for fails instead of silently
falling back to a source build. Until a 26.04 package is published, the
simulation runs on 26.04 fail.

Refs COD-3305

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ckage

CODSPEED_VALGRIND_DEB=<path to a .deb> installs that valgrind-codspeed
package, with libc6-dbg as `codspeed setup` does, in the setup container
instead of the pinned release. This tests a package before it is
published, e.g. one built for a new Ubuntu release. The package contents
are hashed into the setup image tag, so a rebuilt package gets a fresh
setup image.

setup.sh now takes the valgrind-codspeed source as `commit <sha>` or
`deb <path>`, and CODSPEED_VALGRIND_REF and CODSPEED_VALGRIND_DEB are
mutually exclusive.

Refs COD-3305

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@lvaroqui
lvaroqui force-pushed the cod-3305-support-ubuntu-2604 branch from 694b5ce to 3230d82 Compare October 8, 2026 15:22
@lvaroqui lvaroqui changed the title ci: test on Ubuntu 26.04 chore: support Ubuntu 26.04 Oct 9, 2026
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