KEMBAR78
Convert powershell/PowerShell-Windows-CI to GitHub Actions by TravisEz13 · Pull Request #24899 · PowerShell/PowerShell · GitHub
Skip to content

Conversation

@TravisEz13
Copy link
Member

@TravisEz13 TravisEz13 commented Jan 29, 2025

Pipeline migrated from Azure DevOps

Tested this at: https://github.com/TravisEz13/PowerShell/actions/runs/13077820229

This pull request includes significant updates to the CI/CD pipeline configuration and testing processes, primarily focusing on PowerShell builds and tests. The changes introduce new workflows, modify existing ones, and enhance logging and artifact handling.

CI/CD Pipeline Enhancements:

  • New CI Build Workflow:

    • Added a new composite action for CI build in .github/actions/build/ci/action.yml, which includes steps for capturing the environment, setting build names, bootstrapping, building, running xUnit tests, and uploading build artifacts.
  • New Test Verification Workflow:

    • Introduced a new composite action for verifying xUnit results in .github/actions/test/verify_xunit/action.yml, which downloads build artifacts, captures the artifacts directory, and tests xUnit results.
  • New Windows Test Workflow:

    • Added a new composite action for testing PowerShell on Windows in .github/actions/test/windows/action.yml, which includes steps for capturing the environment, downloading build artifacts, bootstrapping, running tests, converting JUnit to CTRF, and publishing test reports.

Workflow Modifications:

  • Auto Assign PR Maintainer:

    • Modified .github/workflows/AssignPrs.yml to trigger on issues instead of pull requests and added a condition to check if the event issue is a pull request. [1] [2]
  • Windows CI Workflow:

    • Added a comprehensive Windows CI workflow in .github/workflows/windows-ci.yml to handle build, unelevated and elevated tests, and xUnit test result verification.

Logging and Artifact Handling Enhancements:

  • Enhanced Verbose Logging:

    • Improved verbose logging in tools/ci.psm1 by adding detailed logs for importing modules and starting Pester tests with specific output formats. [1] [2] [3] [4] [5] [6]
  • Artifact Handling in GitHub Actions:

    • Updated build.psm1 and tools/ci.psm1 to handle artifact uploading and copying in GitHub Actions environments. [1] [2]

These changes collectively enhance the CI/CD pipeline's robustness, improve logging for better debugging, and ensure seamless artifact handling across different environments.

@TravisEz13 TravisEz13 added BackPort-7.4.x-Consider BackPort-7.5.x-Consider CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log labels Jan 31, 2025
@TravisEz13

This comment was marked as outdated.

@azure-pipelines

This comment was marked as outdated.

@TravisEz13
Copy link
Member Author

/azp run PowerShell-CI-macos, PowerShell-CI-Linux, PowerShell-CI-Windows, PowerShell-Windows-Packaging-CI

@azure-pipelines
Copy link

Azure Pipelines successfully started running 4 pipeline(s).

@TravisEz13 TravisEz13 changed the title Convert powershell/Convert/ForConversion-Windows-CI to GitHub Actions Convert powershell/PowerShell-Windows-CI to GitHub Actions Jan 31, 2025
@TravisEz13 TravisEz13 merged commit 2066eb6 into master Jan 31, 2025
47 checks passed
@TravisEz13 TravisEz13 deleted the convert-powershell-convert-forconversion-windows-ci-to-actions-20250129-195141 branch January 31, 2025 20:34
@microsoft-github-policy-service
Copy link
Contributor

microsoft-github-policy-service bot commented Jan 31, 2025

📣 Hey @TravisEz13, how did we do? We would love to hear your feedback with the link below! 🗣️

🔗 https://aka.ms/PSRepoFeedback

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

Labels

BackPort-7.4.x-Done BackPort-7.5.x-Done 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