Skip to content

Convert powershell/PowerShell-CI-linux to GitHub Actions #24913

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 31, 2025

Pipeline migrated from Azure DevOps 🎉

This pull request introduces several new GitHub Actions workflows and updates existing ones to streamline the CI/CD process. The most significant changes include the addition of new workflows for Linux and Nix testing, the introduction of a new action for processing Pester test results, and updates to existing workflows to improve compatibility and functionality.

New Workflows and Actions:

  • .github/actions/test/linux-packaging/action.yml: Added a new action for testing basic Linux packaging. This action captures the environment, downloads build artifacts, extracts files, fixes permissions, and uploads packages.
  • .github/actions/test/nix/action.yml: Added a new action for testing PowerShell on non-Windows platforms. This action captures the environment, downloads build artifacts, extracts files, fixes permissions, runs tests, and uploads test results.
  • .github/actions/test/process-pester-results/action.yml: Added a new action for processing Pester test results. This action converts JUnit test results to CTRF format, publishes the test report, and uploads the test results as artifacts.

Workflow Updates:

  • .github/workflows/linux-ci.yml: Added a new workflow for Linux CI that includes multiple jobs for building PowerShell, running unelevated and elevated tests, and verifying xUnit test results.
  • .github/workflows/windows-ci.yml: Updated the paths and branches for triggering the workflow to include all necessary files and directories.

Code Enhancements:

  • tools/ci.psm1: Updated the Invoke-CITest and Invoke-LinuxTestsCore functions to support an additional OutputFormat parameter, allowing for more flexible test result formats. [1] [2] [3] [4] [5] [6] [7]

These changes aim to enhance the CI/CD pipeline by adding new testing capabilities, improving test result processing, and ensuring comprehensive test coverage across different platforms.

@TravisEz13 TravisEz13 marked this pull request as draft January 31, 2025 20:40
@TravisEz13 TravisEz13 marked this pull request as ready for review January 31, 2025 21:10
@TravisEz13 TravisEz13 closed this Jan 31, 2025
@TravisEz13 TravisEz13 reopened this Jan 31, 2025
@TravisEz13
Copy link
Member Author

/azp run

@TravisEz13 TravisEz13 enabled auto-merge (squash) January 31, 2025 23:17
Copy link

Azure Pipelines successfully started running 5 pipeline(s).

@TravisEz13
Copy link
Member Author

/azp run

Copy link

Azure Pipelines successfully started running 5 pipeline(s).

@TravisEz13 TravisEz13 disabled auto-merge January 31, 2025 23:57
@TravisEz13 TravisEz13 merged commit c505f4b into master Jan 31, 2025
21 of 34 checks passed
@TravisEz13 TravisEz13 deleted the convert-powershell-powershell-ci-linux-to-actions-20250131-203900 branch January 31, 2025 23:57
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.

3 participants