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

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
@azure-pipelines
Copy link

Azure Pipelines successfully started running 5 pipeline(s).

@TravisEz13
Copy link
Member Author

/azp run

@azure-pipelines
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
@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.

3 participants