Skip to content

ci: Switch to ubuntu:26.04 images#5175

Draft
tgross35 wants to merge 10 commits into
rust-lang:mainfrom
tgross35:docker-image-updates
Draft

ci: Switch to ubuntu:26.04 images#5175
tgross35 wants to merge 10 commits into
rust-lang:mainfrom
tgross35:docker-image-updates

Conversation

@tgross35

Copy link
Copy Markdown
Contributor

Where possible, change to the latest Ubuntu release. The 32-bit images still aren't bumped because of the time64 mismatch.

@rustbot

rustbot commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Some changes occurred in an Android module

cc @maurer

@rustbot

rustbot commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@tgross35 tgross35 marked this pull request as draft June 23, 2026 00:45
@tgross35 tgross35 force-pushed the docker-image-updates branch 3 times, most recently from 5ff682d to 58e90cc Compare June 23, 2026 08:41
tgross35 and others added 10 commits June 23, 2026 19:13
When there are additions or updates that are only available with newer
platform versions, we don't have a great way to handle testing. The only
thing we can really do is unconditionally skip anything that doesn't
pass on the oldest versions we have on CI.

Improve this by adding a preprocess-only compiler invocation that
collects versions from the headers we are building against. These are
then used to skip 

This initial patch only uses the versions for skips on Linux and
replacing the NetBSD `uname` invocation.
PowerPC, Sparc, and MIPS (32- and 64-bit for all) have different `_IOC`
numbers, meaning the constants were inaccurate. Example error on
PowerPC64:

    bad `EPIOCSPARAMS` value at byte 4: rust: 64 (0x40) != c 128 (0x80)
        rust bytes: 00 00 00 00 40 08 8a 01
        c bytes:    00 00 00 00 80 08 8a 01
    bad `EPIOCGPARAMS` value at byte 4: rust: 128 (0x80) != c 64 (0x40)
        rust bytes: 00 00 00 00 80 08 8a 02
        c bytes:    00 00 00 00 40 08 8a 02

Resolve this by using `_IOW` and `_IOR`.

Source: https://github.com/torvalds/linux/blob/502d801f0ab03e4f32f9a33d203154ce84887921/include/uapi/linux/eventpoll.h#L97-L99
Fixes: fb58c01 ("epoll: add busy polling parameters")
Where possible, change to the latest Ubuntu release. The 32-bit images
still aren't bumped because of the time64 mismatch.
Glibc 2.42 updated this definition to an unsigned integer so it no
longer overflows.

Source: https://sourceware.org/git/?p=glibc.git;a=commit;h=3263675250cbcbbcc76ede4f7c660418bd345a11
@tgross35 tgross35 force-pushed the docker-image-updates branch from 58e90cc to 2df722a Compare June 23, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: CI-related items

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants