From c45b8f626b931037f49cc385e8f16ab68dc6b1bb Mon Sep 17 00:00:00 2001 From: Dmitry Nefedov Date: Mon, 9 Feb 2026 21:28:42 +0300 Subject: [PATCH] Updated HEVC package downloader --- .github/workflows/HEVC.yml | 1 + Scripts/HEVC.ps1 | 10 +++++++--- Scripts/WinGet.ps1 | 6 ++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/HEVC.yml b/.github/workflows/HEVC.yml index d73b4c98..0e8adbb7 100644 --- a/.github/workflows/HEVC.yml +++ b/.github/workflows/HEVC.yml @@ -25,5 +25,6 @@ jobs: git config user.email "${{ github.actor }}@users.noreply.github.com" git add HEVC/Microsoft.HEVCVideoExtension_8wekyb3d8bbwe.appx + git add HEVC/HEVC_version.txt git commit -m "Update Microsoft.HEVCVideoExtension_8wekyb3d8bbwe.appx" git push diff --git a/Scripts/HEVC.ps1 b/Scripts/HEVC.ps1 index 4a019eae..75d72823 100644 --- a/Scripts/HEVC.ps1 +++ b/Scripts/HEVC.ps1 @@ -28,11 +28,12 @@ catch [System.Net.WebException] { Write-Verbose -Message "Connection could not be established with https://store.rg-adguard.net" -Verbose - exit 1 # Exit with a non-zero status to fail the job + exit 1 # Exit with a non-zero status to fail the job } # Get a temp URL -$TempURL = $Raw.Links.href | Sort-Object -Property Length -Descending | Select-Object -First 1 +# Replace &, unless it fails to be parsed +[xml]$TempURL = ($Raw.Links.outerHTML | Where-Object -FilterScript {$_ -match "appxbundle"}).Replace("&", "&") if (-not $TempURL) { Write-Verbose -Message "https://store.rg-adguard.net does not output correct URL" -Verbose @@ -40,9 +41,12 @@ if (-not $TempURL) exit 1 # Exit with a non-zero status to fail the job } +# Get package build version and save to HEVC\HEVC_version.txt +$TempURL.a."#text".Split("_") | Select-Object -Index 1 | Set-Content -Path HEVC\HEVC_version.txt -Encoding utf8 -Force + # Download archive $Parameters = @{ - Uri = $TempURL + Uri = $TempURL.a.href OutFile = "HEVC\Microsoft.HEVCVideoExtension_8wekyb3d8bbwe.appx" Verbose = $true UseBasicParsing = $true diff --git a/Scripts/WinGet.ps1 b/Scripts/WinGet.ps1 index 38048f35..2fce0163 100644 --- a/Scripts/WinGet.ps1 +++ b/Scripts/WinGet.ps1 @@ -10,16 +10,18 @@ $Headers = @{ Authorization = "Bearer $Token" } $Parameters = @{ - Uri = "https://api.github.com/repos/microsoft/winget-cli/contents/schemas/JSON/manifests" + Uri = "https://api.github.com/repos/microsoft/winget-pkgs/contents/doc/manifest/schema" Headers = $Headers UseBasicParsing = $true Verbose = $true } -$LatestManifest = ((Invoke-RestMethod @Parameters).name | Where-Object {($_ -ne "preview") -and ($_ -ne "latest")}) -replace ("v", "") | Sort-Object -Property {[System.Version]$_} | Select-Object -Last 1 +$LatestManifest = (Invoke-RestMethod @Parameters).name | Sort-Object -Property {[System.Version]$_} | Select-Object -Last 1 if ([System.Version]$LocalManifest -lt [System.Version]$LatestManifest) { Write-Warning -Message "A new manifest $($LatestManifest) available. Edit manifests in Scripts\WinGet_Manifests." + + exit 1 # Exit with a non-zero status to fail the job } # Get latest version tag for Windows 11