Skip to content

Commit e3bfd0b

Browse files
Implement Windows support
1 parent ef2858c commit e3bfd0b

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

action.yml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -197,23 +197,38 @@ runs:
197197
working-directory: ${{ github.action_path }}
198198
env:
199199
REQUESTED_VERSION: ${{ inputs.Version }}
200+
PREVIEW: ${{ inputs.Preview }}
200201
GITHUB_TOKEN: ${{ github.token }}
201202
run: |
202203
# Install-PowerShell
203204
Write-Host "Requested version: [$env:REQUESTED_VERSION]"
205+
Write-Host "Preview mode: [$env:PREVIEW]"
204206
205207
# Resolve 'latest' → concrete version
206208
$req = $env:REQUESTED_VERSION
207209
if ($req -and $req.Trim().ToLower() -eq 'latest') {
208-
$latest = (
209-
Invoke-RestMethod -Uri 'https://api.github.com/repos/PowerShell/PowerShell/releases/latest' `
210-
-Headers @{
211-
'Accept' = 'application/vnd.github+json'
212-
'Authorization' = "Bearer $($env:GITHUB_TOKEN)"
213-
'X-GitHub-Api-Version' = '2022-11-28'
214-
}
215-
).tag_name.TrimStart('v')
216-
Write-Host "Latest stable PowerShell release detected: $latest"
210+
if ($env:PREVIEW -eq 'true') {
211+
Write-Host "Fetching latest preview release..."
212+
$releases = Invoke-RestMethod -Uri 'https://api.github.com/repos/PowerShell/PowerShell/releases' `
213+
-Headers @{
214+
'Accept' = 'application/vnd.github+json'
215+
'Authorization' = "Bearer $($env:GITHUB_TOKEN)"
216+
'X-GitHub-Api-Version' = '2022-11-28'
217+
}
218+
$latestPreview = $releases | Where-Object { $_.prerelease -eq $true } | Select-Object -First 1
219+
$latest = $latestPreview.tag_name.TrimStart('v')
220+
Write-Host "Latest preview PowerShell release detected: $latest"
221+
} else {
222+
$latest = (
223+
Invoke-RestMethod -Uri 'https://api.github.com/repos/PowerShell/PowerShell/releases/latest' `
224+
-Headers @{
225+
'Accept' = 'application/vnd.github+json'
226+
'Authorization' = "Bearer $($env:GITHUB_TOKEN)"
227+
'X-GitHub-Api-Version' = '2022-11-28'
228+
}
229+
).tag_name.TrimStart('v')
230+
Write-Host "Latest stable PowerShell release detected: $latest"
231+
}
217232
$env:REQUESTED_VERSION = $latest
218233
} elseif ([string]::IsNullOrWhiteSpace($req)) {
219234
Write-Host "Error: Version input is required (or use 'latest')"

0 commit comments

Comments
 (0)