Skip to content

Convert powershell/PowerShell-Windows-CI to GitHub Actions #24899

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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.

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

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
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