Skip to content

Add native Azure Linux 4 RPM packaging - #28107

Open
Justin Chung (jshigetomi) wants to merge 1 commit into
masterfrom
jshigetomi-azure-linux-4-rpms
Open

Justin Chung (jshigetomi) wants to merge 1 commit into
masterfrom
jshigetomi-azure-linux-4-rpms

Conversation

@jshigetomi

Copy link
Copy Markdown
Collaborator

PR Summary

  • Generate framework-dependent Azure Linux RPMs for both Azure Linux 3 (.cm) and Azure Linux 4 (.azl4) on x86_64 and aarch64.
  • Emit Azure Linux 4 RPM metadata with Release: 1.azl4 and select the exact NEVRA produced by rpmbuild.
  • Apply the current master/.NET 11 Azure Linux dependency contract to both cm and azl4, including dotnet-runtime-11.0 only for framework-dependent builds.
  • Replace the legacy Azure Linux 4 beta PMC mappings with explicit preview and stable mappings for both architectures while retaining the Azure Linux 3 mappings.
  • Accept .azl4 in both RPM filename validators, with literal dots escaped and filenames anchored.

PR Context

This is the post-release master follow-up to the v7.7.0-preview.5 merge-back in #28090. The release tag and release branch remain unchanged.

The PMC logical prefixes follow the existing mapping convention for the public feeds at /azurelinux/4/{preview|prod}/microsoft/{arch}; Run.ps1 appends -yum when resolving the PMC repository. Channel-specific mappings prevent preview packages from reaching stable repositories and vice versa.

Validation

  • Pester 5.6.1: 32 targeted packaging and Linux package-name tests passed.
  • Covered .azl4 filenames for x86_64 and aarch64, Release: 1.azl4, Azure Linux dependency selection, all four PMC mappings and channel policy, retained .cm mappings, and malformed filename rejection.
  • Parsed all changed PowerShell files and mapping.json; git diff --check passed.
  • Confirmed the four requested public Azure Linux 4 feed paths are available on packages.microsoft.com and expose native .azl4 RPM content.

PR Checklist

@jshigetomi
Justin Chung (jshigetomi) requested a review from a team as a code owner September 25, 2026 18:03
Copilot AI lite review requested due to automatic review settings September 25, 2026 18:03
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
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.

Copilot review overview

🟢 Approval recommended

No unresolved review issues were identified.

Review effort: Lite
Findings: None

What changed in this PR

Adds native Azure Linux 4 framework-dependent RPM packaging while preserving Azure Linux 3 support.

Changes:

  • Adds .azl4 RPM generation, metadata, dependencies, and validation.
  • Adds channel-specific Azure Linux 4 repository mappings.
  • Expands targeted packaging and filename tests.
File Description
tools/​packaging/​packaging.psm1 Adds Azure Linux 4 packaging and RPM resolution.
tools/​packages.microsoft.com/​mapping.json Defines Azure Linux 4 repository mappings.
test/​packaging/​packaging.tests.ps1 Tests packaging metadata, dependencies, and mappings.
test/​packaging/​linux/​package-validation.tests.ps1 Validates Azure Linux 4 RPM filenames.
.pipelines/​templates/​release-validate-packagenames.yml Updates release-time RPM validation.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

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

Labels

Backport-7.6.x-Consider CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants