Skip to content

Add Azure Linux 4.0 CI test coverage - #2651

Merged
George Adams (gdams) merged 3 commits into
dev/gdams/mldsa-mu-mainfrom
dev/gdams/azurelinux4-ci
Oct 28, 2026
Merged

George Adams (gdams) merged 3 commits into
dev/gdams/mldsa-mu-mainfrom
dev/gdams/azurelinux4-ci

Conversation

@gdams

@gdams George Adams (gdams) commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Native validation stack

Top layer of stack #2664: #2662 (provider-aware ML-DSA fallback, pinned to merged OpenSSL main SHA c9be04267896) → this Azure Linux 4 matrix. The stack lands on microsoft/main.

This PR now includes the fix underneath it so its Azure Linux 4 jobs can validate the actual integration. Its focused diff remains CI configuration only; no new tests or README changes. Auto-merge is disabled; use the native stack merge flow.

Summary

Add Azure Linux 4.0 amd64 testing alongside the existing Azure Linux 3.0 coverage.

  • Mirror all five Azure Linux 3.0 innerloop configurations: Go crypto, system crypto, cgo-less system crypto, and FIPS for both system crypto modes.
  • Register the published mcr.microsoft.com/microsoft-go/infra-images:azurelinux-4.0-amd64-default image and route azurelinux4 jobs to it.
  • Regenerate public PR/outerloop and internal rolling/innerloop pipeline container resources from the shared container data.
  • Preserve all existing matrix entries, images, routing, and release packaging.

Validation

  • cd eng/_util && go test ./cmd/pipelineymlgen -count=1 passes (existing pipeline generation reproducibility test; no new tests added).
  • go vet ./cmd/pipelineymlgen passes.
  • Verified that removing only Azure Linux 4 additions reproduces the existing matrix, routing, shared container data, and generated resources byte-for-byte.
  • Confirmed the published Azure Linux 4.0 amd64 image tag and manifest exist in MCR.
  • git diff --check passes.
  • Linux container execution requires CI; not run on this macOS host.

@gdams
George Adams (gdams) requested a review from a team as a code owner October 28, 2026 10:43
Copilot AI balanced review requested due to automatic review settings October 28, 2026 10:43
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The Azure Linux 4.0 image remains untested in Linux CI, leaving container startup and all five release-gating configurations, especially FIPS with and without cgo, unverified.

No open issues 🎉

What changed in this PR

Adds Azure Linux 4.0 amd64 CI coverage alongside Azure Linux 3.0, using the shared pipeline matrix and container-generation infrastructure.

Changes:

  • Adds five Azure Linux 4.0 configurations covering Go crypto, system crypto with and without cgo, and both system crypto modes with FIPS enabled.
  • Registers the container image, adds job routing, and updates all four generated pipelines.
  • Documents the coverage and adds regression checks for matrix parity, routing, and container resources.
File Description
eng/​pipeline/​stages/​run-stage.yml Routes Azure Linux 4 jobs to their container.
eng/​pipeline/​stages/​go-builder-matrix-stages.yml Adds five Azure Linux 4 test configurations.
eng/​pipeline/​rolling-pipeline.yml Registers the image for internal rolling runs.
eng/​pipeline/​rolling-innerloop-pipeline.yml Registers the image for internal innerloop runs.
eng/​pipeline/​README.md Documents coverage and container regeneration.
eng/​pipeline/​pr-pipeline.yml Registers the image for public PR runs.
eng/​pipeline/​pr-outerloop-pipeline.yml Registers the image for public outerloop runs.
eng/​pipeline/​data/​containers.yml Adds the image to shared container definitions.
eng/​_util/​cmd/​pipelineymlgen/​pipelineymlgen_test.go Checks matrix parity, container routing, and pipeline resources.

Review effort: Balanced

@gdams

This comment was marked as outdated.

@gdams

Copy link
Copy Markdown
Member Author

/azp run microsoft-go

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@gdams

Copy link
Copy Markdown
Member Author

The remaining ML-DSA failure now has prepared fixes:

Tested the actual published Azure Linux 4 ARM64 image with SymCrypt/OpenSSL 3.5.4. crypto/mldsa.TestExternalMu now passes for ML-DSA-44/65/87 in both cgo and non-cgo modes; full ML-DSA tests pass too. Ordinary native ML-DSA remains enabled and no standard-library tests are skipped. This CI matrix PR still needs the main integration fix to land before its current jobs can pass.

@gdams
George Adams (gdams) disabled stacked auto-merge October 28, 2026 13:08
@gdams
George Adams (gdams) changed the base branch from microsoft/main to dev/gdams/mldsa-mu-main October 28, 2026 13:11
@gdams
George Adams (gdams) enabled stacked auto-merge October 28, 2026 13:20
George Adams (gdams) and others added 3 commits October 28, 2026 16:05
Mirror all five Azure Linux 3.0 amd64 innerloop configurations on Azure Linux 4.0: Go crypto, system crypto with and without cgo, and FIPS for both system crypto modes. Register the published CI image, route jobs to it, regenerate pipeline resources, and add coverage regression tests and documentation. Preserve all existing jobs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep the existing pipeline generation reproducibility test unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@gdams
George Adams (gdams) merged commit f9c2b3e into microsoft/main Oct 28, 2026
75 of 80 checks passed
@gdams
George Adams (gdams) deleted the dev/gdams/azurelinux4-ci branch October 28, 2026 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants