Skip to content

Update outdated CI build images and containers #7689

Description

@matouskozak

Several ML.NET Azure Pipelines definitions use retired hosted images or unsupported container operating systems.

Findings

  • build/.night-build.yml uses retired ubuntu-18.04 and windows-2019 hosted images.
  • build/.outer-loop-build.yml uses retired ubuntu-18.04, macOS-10.15, and windows-2019 hosted images.
  • .vsts-dotnet-ci.yml, build/.night-build.yml, build/.outer-loop-build.yml, and build/vsts-ci.yml use Ubuntu 18.04 or CentOS Stream 8 prerequisite containers.
  • The active PR and official builds use supported Ubuntu 22.04, Windows 2022, and macOS 15 hosts, but their Linux and Windows images are older than the current dotnet/runtime images.

Azure Pipelines retired Windows Server 2019 on December 31, 2025. Ubuntu 18.04 and macOS 10.15 hosted images are also retired. Ubuntu 18.04 standard support ended in May 2023, and CentOS Stream 8 support ended in May 2024.

Proposed work

  • Update or remove the obsolete nightly and outer-loop pipeline definitions.
  • Move public Linux agents to build.azurelinux.3.amd64.open.
  • Move official Linux agents to build.azurelinux.3.amd64.
  • Move public Windows agents to windows.vs2026.amd64.open.
  • Move official Windows agents to windows.vs2026.amd64.
  • Keep macOS-15 unless validation supports a move to macOS 26.
  • Replace the CentOS Stream 8 and Ubuntu 18.04 prerequisite containers.
  • Create newer ML.NET ARM and ARM64 cross-build containers, or validate the Azure Linux 3 cross-build containers used by dotnet/runtime.
  • Update image-specific conditions in build/ci/job-template.yml.
  • Run each affected pipeline before removal of its old image configuration.

Current MCR tags include ubuntu-22.04-mlnet, but no newer ML.NET-specific ARM or ARM64 cross-build aliases were found. The cross-build container migration needs explicit validation.

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions