From 8738b7245398d6f3a56e59c8092e04b9d017cba2 Mon Sep 17 00:00:00 2001 From: Bart Koelman <10324372+bkoelman@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:17:44 +0200 Subject: [PATCH 1/2] GitHub Actions: Install latest PowerShell version on Windows --- .github/workflows/build.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a3e5307053..10368bfa7c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,12 +52,27 @@ jobs: if: matrix.os == 'ubuntu-latest' run: | dotnet tool install --global PowerShell + - name: Find latest PowerShell version (Windows) + if: matrix.os == 'windows-latest' + shell: pwsh + run: | + $packageName = "powershell" + $outputText = dotnet tool search $packageName --take 1 + $outputLine = ("" + $outputText) + $indexOfVersionLine = $outputLine.IndexOf($packageName) + $latestVersion = $outputLine.substring($indexOfVersionLine + $packageName.length).trim().split(" ")[0].trim() + + Write-Output "Found PowerShell version: $latestVersion" + Write-Output "POWERSHELL_LATEST_VERSION=$latestVersion" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: Setup PowerShell (Windows) if: matrix.os == 'windows-latest' shell: cmd run: | - curl --location --output "%RUNNER_TEMP%\PowerShell-7.3.6-win-x64.msi" https://github.com/PowerShell/PowerShell/releases/download/v7.3.6/PowerShell-7.3.6-win-x64.msi - msiexec.exe /package "%RUNNER_TEMP%\PowerShell-7.3.6-win-x64.msi" /quiet USE_MU=1 ENABLE_MU=1 ADD_PATH=1 DISABLE_TELEMETRY=1 + set DOWNLOAD_LINK=https://github.com/PowerShell/PowerShell/releases/download/v%POWERSHELL_LATEST_VERSION%/PowerShell-%POWERSHELL_LATEST_VERSION%-win-x64.msi + set OUTPUT_PATH=%RUNNER_TEMP%\PowerShell-%POWERSHELL_LATEST_VERSION%-win-x64.msi + echo Downloading from: %DOWNLOAD_LINK% to: %OUTPUT_PATH% + curl --location --output %OUTPUT_PATH% %DOWNLOAD_LINK% + msiexec.exe /package %OUTPUT_PATH% /quiet USE_MU=1 ENABLE_MU=1 ADD_PATH=1 DISABLE_TELEMETRY=1 - name: Setup PowerShell (macOS) if: matrix.os == 'macos-latest' run: | From cb8f63002c037750b01bd913888f1c46423f15af Mon Sep 17 00:00:00 2001 From: Bart Koelman <10324372+bkoelman@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:49:10 +0200 Subject: [PATCH 2/2] Swap order of steps --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 10368bfa7c..aad9c0a311 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -175,12 +175,12 @@ jobs: permissions: contents: read steps: - - name: Git checkout - uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v3 with: dotnet-version: 6.0.x + - name: Git checkout + uses: actions/checkout@v4 - name: Restore tools run: | dotnet tool restore @@ -226,14 +226,14 @@ jobs: permissions: contents: read steps: - - name: Git checkout - uses: actions/checkout@v4 - with: - fetch-depth: 2 - name: Setup .NET uses: actions/setup-dotnet@v3 with: dotnet-version: 6.0.x + - name: Git checkout + uses: actions/checkout@v4 + with: + fetch-depth: 2 - name: Restore tools run: | dotnet tool restore