Skip to content

Add windows-arm-latest, ubuntu-arm-latest and macos-intel-latest aliases #13885

@Pr0methean

Description

@Pr0methean

Description

It would be very useful to developers of low- and mid-level Rust libraries, such as https://github.com/Pr0methean/TripleMixPrng and https://github.com/zip-rs/zip2, if we could forward-compatibly specify the "latest" version of an image, even when using the less-popular ISA for that OS family (x86 for MacOS; aarch64 for Windows, Linux and -- if it ever becomes available at all -- BSD). This is also true of JVM apps, especially when building against non-LTS OpenJDK versions. Could we please have windows-arm-latest, ubuntu-arm-latest and macos-intel-latest as actively-maintained aliases for the newest hosted runner specs/images that can build and run Rust programs using respectively the aarch64-pc-windows-msvc, aarch64-unknown-linux-gnu and x86_64-apple-darwin target triples? Thanks very much in advance.

Platforms affected

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

Runner images affected

  • Ubuntu 22.04
  • Ubuntu 24.04
  • Ubuntu Slim
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • macOS 26
  • macOS 26 Arm64
  • Windows Server 2022
  • Windows Server 2025
  • Windows Server 2025 with Visual Studio 2026

Image version and build link

n/a

Is it regression?

n/a

Expected behavior

I can change line 58 of https://github.com/Pr0methean/TripleMixPrng/blob/dc29200c3de90f20f9bcd9f81dfb60494f14135c/.github/workflows/rust.yml#L58 to os: [ ubuntu-latest, ubuntu-arm-latest, macos-intel-latest, macos-latest, windows-latest, windows-arm-latest ] and the unit tests will still run against the Cartesian product of both ISAs and all three operating-system families.

Actual behavior

ubuntu-arm-latest, windows-arm-latest and macos-intel-latest don't exist. I can specify os: [ ubuntu-latest, ubuntu-24.04-arm, macos-26-intel, macos-latest, windows-latest, windows-11-arm ] but that explicitly prevents three of the six combinations of a CPU ISA and an operating-system family from ever being automatically updated to the next major OS version.

Repro steps

See https://github.com/Pr0methean/TripleMixPrng/blob/dc29200c3de90f20f9bcd9f81dfb60494f14135c/.github/workflows/rust.yml

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions