diff --git a/.github/workflows/publish-winget-canary.yml b/.github/workflows/publish-winget-canary.yml new file mode 100644 index 0000000..63dcbd9 --- /dev/null +++ b/.github/workflows/publish-winget-canary.yml @@ -0,0 +1,24 @@ +name: Publish canary to winget + +on: + workflow_dispatch: + release: + types: [published] + +jobs: + winget: + name: Publish winget package + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - name: Publish winget manifest + run: .\winget\Publish.ps1 -Channel Canary -Version Latest -Output .\winget\ -Submit {{ secrets.WINGET_TOKEN }} + - name: Update winget manifest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git config user.name "Johnny Shaw" + git config user.email johnny.shaw@live.com + git add . + git commit -m "update winget manifest" + git push diff --git a/winget/Publish.ps1 b/winget/Publish.ps1 new file mode 100644 index 0000000..655232d --- /dev/null +++ b/winget/Publish.ps1 @@ -0,0 +1,91 @@ +param ( + [ValidateSet("Canary", "Release")] + [string]$Channel, + [string]$Version, + [string]$Submit, + [string]$Output +) + +# Fetch the latest release data from GitHub API +$releasesUrl = "https://api.github.com/repos/winsiderss/si-builds/releases" +$releases = Invoke-RestMethod -Uri $releasesUrl + +# Find the appropriate release based on Channel and Version +$release = if ($Version -eq "Latest") +{ + $releases[0] +} +else +{ + $releases | Where-Object { $_.tag_name -eq $Version } | Select-Object -First 1 +} +if (-not $release) +{ + Write-Host "No matching release found for Channel: $Channel and Version: $Version" + exit 1 +} + +# Find the setup binary URL +$setupAsset = $release.assets | Where-Object { $_.name -match "$Channel-setup.exe" } | Select-Object -First 1 +if (-not $setupAsset) +{ + Write-Host "No setup binary found for Channel: $Channel in release: $($release.tag_name)" + exit 1 +} + +Write-Host "Setup URL: $($setupAsset.browser_download_url)" + +# Download the setup binary +$setupBinary = Join-Path -Path $env:TEMP -ChildPath $setupAsset.name +Invoke-WebRequest -Uri $setupAsset.browser_download_url -OutFile $setupBinary + +$setupVersion = (Get-Item $setupBinary).VersionInfo.FileVersion + +# Download the latest wingetcreate +$wingetCreate = Join-Path -Path $env:TEMP -ChildPath "wingetcreate.exe" +Invoke-WebRequest -Uri "https://aka.ms/wingetcreate/latest" -OutFile $wingetCreate + +$identifier = if ($Channel -eq "Canary") +{ + "WinsiderSS.SystemInformer.Canary" +} +else +{ + "WinsiderSS.SystemInformer" +} + +# Publish to winget... + +Write-Host "Publishing: $identifier $setupVersion" + +$wingetCreateArgs = @( + "update", + "--urls", "$($setupAsset.browser_download_url)|neutral", + "--version", $setupVersion +) + +if ($Output) +{ + $wingetCreateArgs += @("--out", $Output) +} + +if ($Submit) +{ + $wingetCreateArgs += @( + "--submit", + "--token", $Submit + ) +} + +$wingetCreateArgs += @($identifier) + +$process = Start-Process -FilePath $wingetCreate -ArgumentList $wingetCreateArgs -PassThru -Wait -NoNewWindow + +if ($process.ExitCode -ne 0) +{ + Write-Host "wingetcreate failed with exit code: $($process.ExitCode)" + exit 1 +} + +Write-Host "Published $identifier $setupVersion" +exit 0 diff --git a/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.installer.yaml b/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.installer.yaml index 76c4429..c7dbedf 100644 --- a/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.installer.yaml +++ b/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.installer.yaml @@ -1,3 +1,6 @@ +# Created using wingetcreate 1.6.5.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.6.0.schema.json + PackageIdentifier: WinsiderSS.SystemInformer PackageVersion: 3.1.24283.0 Installers: diff --git a/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.locale.en-US.yaml b/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.locale.en-US.yaml index 0603277..705ead0 100644 --- a/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.locale.en-US.yaml +++ b/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.locale.en-US.yaml @@ -1,3 +1,6 @@ +# Created using wingetcreate 1.6.5.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.6.0.schema.json + PackageIdentifier: WinsiderSS.SystemInformer PackageVersion: 3.1.24283.0 PackageLocale: en-US diff --git a/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.yaml b/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.yaml index 04516cb..309003e 100644 --- a/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.yaml +++ b/winget/manifests/w/WinsiderSS/SystemInformer/3.1.24283.0/WinsiderSS.SystemInformer.yaml @@ -1,3 +1,6 @@ +# Created using wingetcreate 1.6.5.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.6.0.schema.json + PackageIdentifier: WinsiderSS.SystemInformer PackageVersion: 3.1.24283.0 DefaultLocale: en-US diff --git a/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.installer.yaml b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.installer.yaml index e202b18..0eea2da 100644 --- a/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.installer.yaml +++ b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.installer.yaml @@ -1,3 +1,6 @@ +# Created using wingetcreate 1.6.5.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.6.0.schema.json + PackageIdentifier: WinsiderSS.SystemInformer.Canary PackageVersion: 3.1.24283.0 Installers: diff --git a/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.locale.en-US.yaml b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.locale.en-US.yaml index 14e3b83..c11df80 100644 --- a/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.locale.en-US.yaml +++ b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.locale.en-US.yaml @@ -1,3 +1,6 @@ +# Created using wingetcreate 1.6.5.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.6.0.schema.json + PackageIdentifier: WinsiderSS.SystemInformer.Canary PackageVersion: 3.1.24283.0 PackageLocale: en-US diff --git a/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.yaml b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.yaml index 62cb447..bd70df4 100644 --- a/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.yaml +++ b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24283.0/WinsiderSS.SystemInformer.Canary.yaml @@ -1,3 +1,6 @@ +# Created using wingetcreate 1.6.5.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.6.0.schema.json + PackageIdentifier: WinsiderSS.SystemInformer.Canary PackageVersion: 3.1.24283.0 DefaultLocale: en-US diff --git a/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24290.0/WinsiderSS.SystemInformer.Canary.installer.yaml b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24290.0/WinsiderSS.SystemInformer.Canary.installer.yaml new file mode 100644 index 0000000..b0ffb93 --- /dev/null +++ b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24290.0/WinsiderSS.SystemInformer.Canary.installer.yaml @@ -0,0 +1,25 @@ +# Created using wingetcreate 1.6.5.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.6.0.schema.json + +PackageIdentifier: WinsiderSS.SystemInformer.Canary +PackageVersion: 3.1.24290.0 +InstallerType: exe +Scope: machine +InstallModes: +- silent +- silentWithProgress +- interactive +InstallerSwitches: + Silent: -install -silent + SilentWithProgress: -install -silent + Interactive: -install + Upgrade: -update -silent +ProductCode: SystemInformer-Canary +ElevationRequirement: elevatesSelf +Installers: +- Architecture: neutral + InstallerUrl: https://github.com/winsiderss/si-builds/releases/download/3.1.24290/systeminformer-3.1.24290-canary-setup.exe + InstallerSha256: 98B2558EFCC5F1728E8BD0573DD5FFD94C7ACFBC70F75609D1064109468C3321 +ManifestType: installer +ManifestVersion: 1.6.0 +ReleaseDate: 2024-10-16 diff --git a/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24290.0/WinsiderSS.SystemInformer.Canary.locale.en-US.yaml b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24290.0/WinsiderSS.SystemInformer.Canary.locale.en-US.yaml new file mode 100644 index 0000000..b0e843d --- /dev/null +++ b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24290.0/WinsiderSS.SystemInformer.Canary.locale.en-US.yaml @@ -0,0 +1,37 @@ +# Created using wingetcreate 1.6.5.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.6.0.schema.json + +PackageIdentifier: WinsiderSS.SystemInformer.Canary +PackageVersion: 3.1.24290.0 +PackageLocale: en-US +Publisher: Winsider Seminars & Solutions, Inc. +PublisherUrl: https://windows-internals.com/ +PublisherSupportUrl: https://github.com/winsiderss/systeminformer/issues +PackageName: System Informer (Canary) +PackageUrl: https://system-informer.com/ +License: MIT License +LicenseUrl: https://github.com/winsiderss/systeminformer/blob/master/LICENSE.txt +Copyright: Copyright (c) Winsider Seminars & Solutions, Inc. All rights reserved. +CopyrightUrl: https://github.com/winsiderss/systeminformer/blob/master/COPYRIGHT.txt +ShortDescription: System Informer is a free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. +Moniker: systeminformer-canary +Tags: +- windows +- debugger +- security +- benchmarking +- process-manager +- performance +- monitor +- monitoring +- realtime +- administrator +- process-monitor +- performance-tuning +- profiling +- monitor-performance +- performance-monitoring +- system-monitor +ReleaseNotesUrl: https://github.com/winsiderss/si-builds/releases/tag/3.1.24290 +ManifestType: defaultLocale +ManifestVersion: 1.6.0 diff --git a/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24290.0/WinsiderSS.SystemInformer.Canary.yaml b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24290.0/WinsiderSS.SystemInformer.Canary.yaml new file mode 100644 index 0000000..a4594ba --- /dev/null +++ b/winget/manifests/w/WinsiderSS/SystemInformer/Canary/3.1.24290.0/WinsiderSS.SystemInformer.Canary.yaml @@ -0,0 +1,8 @@ +# Created using wingetcreate 1.6.5.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.6.0.schema.json + +PackageIdentifier: WinsiderSS.SystemInformer.Canary +PackageVersion: 3.1.24290.0 +DefaultLocale: en-US +ManifestType: version +ManifestVersion: 1.6.0