[release/v7.6] Convert Azure DevOps Linux Packaging pipeline to GitHub Actions workflow#26493
Merged
TravisEz13 merged 1 commit intoPowerShell:release/v7.6from Nov 20, 2025
Conversation
…low (PowerShell#26225) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: TravisEz13 <10873629+TravisEz13@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR backports the Linux packaging pipeline migration from Azure DevOps to GitHub Actions (originally #26225) to the release/v7.6 branch. The changes enable Linux package creation in GitHub Actions by updating the workflow, composite action, and build module to work in the GitHub Actions environment.
Key changes:
- Fixed gem installation permissions for GitHub Actions environment
- Enabled linux_packaging job in the CI workflow with proper dependencies and fetch-depth configuration
- Converted composite action from Azure DevOps tasks to GitHub Actions equivalents for artifact handling
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| build.psm1 | Added $env:GITHUB_ACTIONS check to Install-GlobalGem function to use sudo in GitHub Actions, fixing gem permission errors |
| .github/workflows/linux-ci.yml | Enabled linux_packaging job with proper dependencies (ci_build, changes), full git history (fetch-depth: 0), and added to ready_to_merge job dependencies |
| .github/actions/test/linux-packaging/action.yml | Converted from Azure DevOps to GitHub Actions: replaced Azure DevOps artifact tasks with actions/download-artifact and actions/upload-artifact, added .NET SDK setup, added Sync-PSTags call, replaced JavaScript extraction with PowerShell Expand-Archive, updated paths to use runner.workspace |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
jshigetomi
approved these changes
Nov 20, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #26225 to release/v7.6
Triggered by @TravisEz13 on behalf of @app/copilot-swe-agent
Original CL Label: CL-BuildPackaging
/cc @PowerShell/powershell-maintainers
Impact
REQUIRED: Choose either Tooling Impact or Customer Impact (or both). At least one checkbox must be selected.
Tooling Impact
This is a critical tooling change required for Linux packaging infrastructure. Converts the Azure DevOps Linux Packaging pipeline to GitHub Actions workflow, including:
.github/actions/test/linux-packaging/action.ymlcomposite action to use GitHub Actions artifact handlinglinux_packagingjob in.github/workflows/linux-ci.ymlbuild.psm1Without this change, Linux packaging cannot function in GitHub Actions.
Customer Impact
Regression
REQUIRED: Check exactly one box.
This is not a regression.
Testing
Original PR validated with GitHub Actions workflows in master branch. Verified:
Backport verified by successful cherry-pick with conflict resolution maintaining release branch patterns.
Risk
REQUIRED: Check exactly one box.
High risk as it modifies build infrastructure (CI/CD pipelines, packaging composite action, bootstrap script). However, this change is necessary to maintain Linux packaging functionality after migration to GitHub Actions. The changes have been validated in master branch since October 17, 2025 (over one month). Not taking this change would prevent Linux package creation on release/v7.6 branch in GitHub Actions environment.
Merge Conflicts
Conflict occurred in
.github/workflows/linux-ci.ymlin theready_to_mergejob dependencies.Cause: The original PR added two dependencies to
ready_to_merge:- analyze(uncommented the CodeQL analysis dependency)- linux_packaging(added the new packaging job)However, release/v7.6 has the CodeQL
analyzejob intentionally commented out with note: "Temporarily disable the CodeQL analysis on Linux as it doesn't work for .NET SDK 10-rc.2."Resolution: Kept release branch pattern by maintaining
# - analyzeas commented out, while adding only- linux_packagingdependency which is the actual fix from PR #26225. This preserves the intentional CodeQL disablement on release/v7.6 while enabling the Linux packaging functionality.Files modified during resolution:
.github/workflows/linux-ci.yml: Line ~228 in ready_to_merge.needs list