Repository navigation
ci: Fix Linux jobs on Ubuntu 26.04 runners - #6920
Merged
Merged
Conversation
ubuntu-latest now resolves to Ubuntu 26.04, where Java 25 is the default JDK and no Swift 6.0 toolchain is published. Set up Java 17 in the Linux jobs that build or lint Java, since Gradle 8.13 can't run on Java 25. Install Swift 6.4.1 for SwiftLint, the first release with Ubuntu 26.04 toolchains. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Semver Impact of This PR⚪ None (no version bump detected) 📋 Changelog PreviewThis is how your changes will appear in the changelog.
🤖 This preview updates automatically when you update the PR. |
SwiftLint's Linux binary needs libxml2.so.2, which Ubuntu 26.04 no longer ships. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alwx
approved these changes
Oct 21, 2026
alwx
left a comment
Contributor
There was a problem hiding this comment.
Looks good, thanks for fixing!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📢 Type of change
📜 Description
GitHub's
ubuntu-latestrunners moved from Ubuntu 24.04 to 26.04, which breaks two things in CI:Java 25 is the default JDK on 26.04.
yarn buildrunsbuild:replay-stubs(./gradlew jar), and Gradle 8.13 can't run on Java 25:Fix: set up Java 17 (Temurin, same pinned
actions/setup-javaas the other workflows) in the Linux jobs that build or lint Java and had no Java setup:buildandtest.yml: Lint, Build, Bundlesample-application-expo.yml: Build webSwiftLint can't run on Ubuntu 26.04. The Lint job first fails at
swiftly install 6.0(No release toolchain found matching 6.Optional(0)), because Swift 6.0 has no 26.04 toolchain. Moving to Swift 6.4.1 (the first release published for 26.04) gets past that, but then SwiftLint 0.63.2's Linux binary fails withlibxml2.so.2: cannot open shared object file: 26.04 ships libxml2 2.15 (libxml2.so.16), and nothing provideslibxml2.so.2. SwiftLint's fully static binary is still marked experimental.Fix: pin only the Lint job to
ubuntu-24.04, keeping Swift 6.0 and the current SwiftLint setup.The macOS jobs are unaffected and unchanged.
💡 Motivation and Context
Every PR fails Build & Test / Lint, Build & Test / Build and Sample Application Expo / Build web since the runner image change. The last green
mainrun was onubuntu-24.04(20261012.601); the first failing run was onubuntu-26.04(20261015.610). Example: https://github.com/getsentry/sentry-react-native/actions/runs/39566567140💚 How did you test it?
libxml2.so.2.📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
ubuntu-latestonce SwiftLint publishes a Linux binary that runs on Ubuntu 26.04, or its static binary is no longer experimental.🤖 Generated with Claude Code