🌟 [Major]: Introducing Install-PowerShell action#1
Merged
MariusStorhaug merged 52 commits intomainfrom Apr 21, 2025
Merged
Conversation
… remove unused scripts and test placeholders.
There was a problem hiding this comment.
Pull Request Overview
This pull request introduces the Install-PowerShell action with support for installing PowerShell on Windows, Ubuntu, and macOS, and updates the test workflow to run on multiple operating systems with specified versions.
- Renames and describes the action to clearly indicate its purpose.
- Replaces the placeholder test file and updates the composite action steps across different operating systems.
- Adds a matrix strategy in the workflow to test multiple OS and PowerShell versions.
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tests/README.md | Removed the placeholder file for tests |
| action.yml | Updated action metadata and composite run steps across platforms |
| .github/workflows/Action-Test.yml | Updated test workflow with a matrix strategy for OS/version testing |
Files not reviewed (1)
- scripts/main.ps1: Language not supported
Comments suppressed due to low confidence (1)
action.yml:21
- The input key is defined as 'Version' in the inputs block but is referenced as 'inputs.version'; ensure consistent casing to avoid potential issues.
$version = '${{ inputs.version }}'
…and uninstall existing installations
…val, architecture detection, and improved error handling for package downloads.
…ninstall existing installations, and enhance error handling for macOS and Ubuntu.
…t detailed component-wise comparison for accurate version checks on Linux and macOS.
…rsions into System.Version objects for accurate comparison and improve error handling during version checks.
… specified version input for accurate installation.
…werShell installation for improved accuracy and error handling
…reamline current version retrieval, and add error handling for download and installation processes.
…improve version comparison logic, and handle multiple package naming formats for downloads.
…nctions, streamline version retrieval, and enhance error handling for installation processes.
…amline version detection, and enhance logging for installation processes across Linux, macOS, and Windows.
…source input, and streamline environment variable setup for PowerShell installation.
…up and directly set environment variables for each OS-specific installation step.
…ion with standard echo statements for improved clarity and consistency across Linux, macOS, and Windows installation steps.
… handling, and improve detected version display for Windows installation.
…ve error handling, and streamline uninstallation process for existing PowerShell installations.
…r Debian/Ubuntu, enhance error handling, and streamline PowerShell installation process.
…ownload .deb from GitHub if exact version not found, and improve error handling for macOS installation via Homebrew.
…e-Host statements for improved consistency across installation steps.
…sting, streamline installation logic, and enhance version detection for PowerShell installations.
…nhance output messaging for clarity
…ation logs for better clarity
…werShell installation
… proper reinstallation
…per reinstallation
… for better execution control
…ove error handling for Linux and macOS; update Windows installation process to ensure proper version detection and installation.
…r Linux, macOS, and Windows; enhance handling of empty and 'null' inputs for requested version.
…l' and 'latest'; improve version verification logic for better clarity and error handling.
…; improve input description consistency in action.yml
…st stable release version; enhance command for better reliability and clarity.
… for empty, 'null', and 'latest' inputs; enhance readability of the code.
…ardize version resolution logic across platforms.
…; streamline version resolution logic and add validation for requested version.
…ested version for better visibility during installation.
…ly resolve to latest if explicitly set; improve error messaging for empty version input.
…r 'latest'; add validation for empty version input and enhance error messaging.
…S; improve error handling and fallback logic for Homebrew installation.
…ency; ensure proper formatting in action.yml.
…y on errors for improved reliability in version resolution.
…mproved parsing of latest release version.
…on headers for improved security and reliability in version resolution.
…le for improved security in Windows installation step.
…les for enhanced security and update API call with authentication headers for improved reliability in version resolution.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces the
Install-PowerShellGitHub Action, simplifying installation of specific versions of PowerShell on GitHub runners.Features:
Metadata Updates:
action.ymlto reflect the new functionality, including a description, branding changes, and streamlined inputs. Removed unnecessary inputs likeDebugandVerbose.action.ymlType of change
Checklist