Skip to content

Conversation

@TravisEz13
Copy link
Member

@TravisEz13 TravisEz13 commented Nov 6, 2025

This pull request makes several improvements to the macOS packaging process, focusing on standardizing package naming conventions, improving artifact upload logic, and enhancing test coverage and diagnostics. The changes ensure that macOS package files use the correct architecture naming (x64 instead of x86_64), improve how multiple artifacts are uploaded, and add more robust testing and logging.

macOS Package Naming and Generation:

  • Updated the package generation logic in New-MacOsDistributionPackage to use x64 instead of x86_64 in package filenames for compatibility. (tools/packaging/packaging.psm1)

Test Improvements and Relocation:

  • Renamed and moved the macOS package validation test from tools/packaging/releaseTests/macOSPackage.tests.ps1 to test/packaging/macos/package-validation.tests.ps1 for better organization. (test/packaging/macos/package-validation.tests.ps1)
  • Enhanced the macOS package validation tests to check that package names follow the correct convention and do not use x86_64 with underscores. (test/packaging/macos/package-validation.tests.ps1)

CI and Pipeline Enhancements:

  • Updated the GitHub Actions workflow to use the new test path for macOS package validation. (.github/workflows/macos-ci.yml)
  • Improved the Azure DevOps pipeline template to upload multiple .pkg and .tar.gz artifacts by iterating over all matching files, with added verbose logging for better traceability. (.pipelines/templates/mac-package-build.yml)

Diagnostics and Bootstrap Improvements:

  • Added verbose logging to show /etc/os-release content and improved package installation commands for Mariner (Azure Linux) in the bootstrap script. (build.psm1)

- Add verbose logging for package filtering in macOS build process
- Fix architecture naming for macOS package compatibility (x64 -> x86_64)
- Update macOS CI to use new package validation test location
- Reorganize and enhance package validation tests with better error handling
- Move validation tests from tools/packaging/releaseTests to test/packaging/macos
- Add verbose logging to Mariner package installation for better debugging
- Display /etc/os-release content during installation for troubleshooting
- Add makecache command before installing packages
- Ensure dpkg-deb availability by installing azurelinux-repos-extended
- Fix package installation command to use dpkg instead of pkg
- Refactor package installation commands for clarity and efficiency
Copilot AI review requested due to automatic review settings November 6, 2025 00:30
@TravisEz13 TravisEz13 requested a review from a team as a code owner November 6, 2025 00:30
@TravisEz13 TravisEz13 changed the title GEM ADO Fixes: Improve package build and validation across platforms Improve ADO package build and validation across platforms Nov 6, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request improves macOS package naming consistency and fixes package manager command issues for Mariner/Azure Linux. The changes ensure macOS packages use "x64" instead of "x86_64" for Intel architecture naming, align with industry conventions, and add validation tests to prevent regression.

  • Renamed macOS Intel packages from x86_64 to x64 for consistency with industry standards
  • Fixed missing install subcommand for Mariner package manager commands
  • Added comprehensive test coverage for macOS package naming conventions
  • Cleaned up trailing whitespace and removed obsolete packaging tool installation

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tools/packaging/packaging.psm1 Converts x86_64 to x64 in macOS package filenames; cleaned trailing whitespace throughout RPM, DEB, and macOS packaging sections
test/packaging/macos/package-validation.tests.ps1 Added copyright header, new tests validating package naming convention (x64 vs x86_64), and cleaned trailing whitespace
build.psm1 Fixed Mariner package manager commands missing install subcommand; added diagnostic logging for /etc/os-release
.pipelines/templates/windows-package-build.yml Removed obsolete makeappx tool installation step
.pipelines/templates/mac-package-build.yml Enhanced artifact upload logging and iteration; cleaned trailing whitespace
.github/workflows/macos-ci.yml Updated test path from old location to new standardized location

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@TravisEz13 TravisEz13 added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Nov 6, 2025
@TravisEz13 TravisEz13 requested a review from Copilot November 7, 2025 18:47
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

test/packaging/macos/package-validation.tests.ps1:86

  • The comment mentions "x64 with hyphens" which is misleading. The actual distinction is between "x64" (no underscores) versus "x86_64" (with underscores). Consider updating the comment to clarify this is about avoiding underscores, not about hyphens. For example: "Intel x64 - note: x64 without underscores, not x86_64"

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@TravisEz13 TravisEz13 merged commit e7bf562 into PowerShell:master Nov 7, 2025
45 checks passed
TravisEz13 added a commit to TravisEz13/PowerShell that referenced this pull request Nov 7, 2025
TravisEz13 added a commit to TravisEz13/PowerShell that referenced this pull request Nov 25, 2025
adityapatwardhan pushed a commit to TravisEz13/PowerShell that referenced this pull request Dec 4, 2025
SIRMARGIN pushed a commit to SIRMARGIN/PowerShell that referenced this pull request Dec 12, 2025
kilasuit pushed a commit to kilasuit/PowerShell that referenced this pull request Jan 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backport-7.4.x-Migrated BackPort-7.5.x-Consider Backport-7.6.x-Migrated 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.

2 participants