Skip to content

Conversation

@TravisEz13
Copy link
Member

Backport of #26243 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

  • Required tooling change
  • Optional tooling change (include reasoning)

Refactors xUnit test execution from inline CI build steps to a dedicated reusable workflow. This improves test retryability and visibility by:

  • Isolating xUnit tests into independent job that can be retried without rebuilding
  • Removing masked test failures (no more continue-on-error or -SkipFailing)
  • Providing clearer test results and artifacts
  • Enabling standalone test execution without build dependencies

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Original PR validated by CI on master branch. Backport tested by verifying:

  1. New xunit-tests.yml reusable workflow applies cleanly to release/v7.6
  2. All three CI workflows (linux, windows, macos) updated to use new workflow
  3. Legacy verify_xunit action removed
  4. Build action no longer runs xUnit tests
  5. All instruction documentation files added successfully

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

Medium risk as this refactors the CI test infrastructure, but the changes have been validated in master for several weeks. The refactoring improves test reliability and retryability without changing test behavior. All platforms (Linux, Windows, macOS) affected, but each workflow tested independently.

…gacy verification (PowerShell#26243)

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: TravisEz13 <[email protected]>
Copilot AI review requested due to automatic review settings November 19, 2025 21:14
@TravisEz13 TravisEz13 requested review from a team and jshigetomi as code owners November 19, 2025 21:14
@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 19, 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 PR backports #26243 to release/v7.6, refactoring xUnit test execution from inline CI build steps into a dedicated reusable workflow. This improves test isolation, retryability, and visibility by removing the dependency on the ci_build job and eliminating masked test failures (no more continue-on-error or -SkipFailing flags).

Key changes:

  • Created new reusable workflow .github/workflows/xunit-tests.yml that handles xUnit test execution independently with proper build prerequisites
  • Updated all three platform CI workflows (Linux, Windows, macOS) to call the new reusable workflow instead of the legacy verify_xunit action
  • Removed the legacy .github/actions/test/verify_xunit action and xUnit test execution from the build action

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/xunit-tests.yml New reusable workflow for xUnit tests with proper prerequisites (checkout, .NET setup, bootstrap, build, and test execution)
.github/workflows/linux-ci.yml Updated to use new xunit_tests job calling reusable workflow, removed dependency on ci_build job, updated ready_to_merge dependencies
.github/workflows/windows-ci.yml Updated to use new xunit_tests job calling reusable workflow, removed dependency on ci_build job, updated ready_to_merge dependencies
.github/workflows/macos-ci.yml Updated to use new xunit_tests job calling reusable workflow, removed dependency on ci_build job, updated ready_to_merge dependencies
.github/actions/test/verify_xunit/action.yml Removed legacy action that downloaded artifacts and verified test results
.github/actions/build/ci/action.yml Removed xUnit test execution and artifact upload steps from build action
.github/instructions/build-configuration-guide.md Added documentation for choosing the right build configuration (Debug, Release, CodeCoverage) with platform considerations
.github/instructions/workflow-prerequisites.md Added documentation for required prerequisite steps before building (checkout, .NET setup, bootstrap)
.github/instructions/start-psbuild-basics.md Added documentation for Start-PSBuild usage patterns and common parameters
.github/instructions/troubleshooting-builds.md Added troubleshooting guide for common build issues (git describe errors, version issues, etc.)
.github/instructions/git-requirements-for-builds.md Added documentation explaining fetch-depth and tag synchronization requirements for builds

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

@TravisEz13 TravisEz13 merged commit 51e4d5c into PowerShell:release/v7.6 Nov 19, 2025
51 of 53 checks passed
@TravisEz13 TravisEz13 deleted the backport/release/v7.6/26243-90e9159cb branch November 19, 2025 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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