Skip to content

Constant changes to the default tools keep breaking builds that depend on specific tools #13138

@lengau

Description

@lengau

Description

Recent changes to the default tools on Ubuntu runners, especially changing the defaults away from what's available in the repositories for that Ubuntu version, have caused test breakage.

Most recently, the change to the default Java SDK has broken builds that expect to use Java 21 from the Ubuntu repositories. This follows a recent cmake change that got reverted because it broke many builds.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • macOS 26 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Image version and build link

Image: ubuntu-24.04
Version: 20250929.60.1

https://github.com/canonical/craft-parts/actions/runs/18273616742/job/52020647640?pr=1346

Is it regression?

Yes - worked with version 20250922.53.1 (https://github.com/canonical/craft-parts/actions/runs/18206137920/job/51836863772?pr=1349)

Expected behavior

The same build will succeed across image updates of the same OS

Actual behavior

Changes to default tools cause unexpected breakages even of the same git revision.

Repro steps

  1. Use a tool that's included in the Ubuntu repositories (e.g. cmake 3, JDK 21)
  2. Wait for GitHub to release a runner image that has breaking changes
  3. Watch your previously successful build fail and you have to add more and more workarounds to remove these unwanted interlopers.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions