-
-
Notifications
You must be signed in to change notification settings - Fork 181
37 lines (29 loc) · 1.58 KB
/
winget.yaml
File metadata and controls
37 lines (29 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
name: Publish to WinGet
permissions:
contents: read
on:
workflow_dispatch:
jobs:
winget:
name: Publish to WinGet
runs-on: windows-latest
steps:
- name: Get Latest Release
shell: pwsh
run: |
$packageId = "AmN.yasb"
$gitToken = "${{ secrets.WINGET_TOKEN }}"
# Fetching latest release from GitHub
$github = Invoke-RestMethod -uri "https://api.github.com/repos/amnweb/yasb/releases"
$targetRelease = $github | Where-Object -Property name -match '^v'| Select-Object -First 1
$packageVersion = $targetRelease.tag_name.Trim("v")
# Get both x64 and aarch64 MSI URLs
$assets = $targetRelease | Select-Object -ExpandProperty assets
$x64Url = $assets | Where-Object -Property name -match 'x64\.msi$' | Select-Object -ExpandProperty browser_download_url
$aarch64Url = $assets | Where-Object -Property name -match 'aarch64\.msi$' | Select-Object -ExpandProperty browser_download_url
$relaseTitle = "New version: AmN.yasb version $packageVersion"
$relaseUrl = $targetRelease.html_url
$relaseDate = [datetime]::Parse($targetRelease.published_at).ToString("yyyy-MM-dd")
# Update package using wingetcreate with both architectures
Invoke-WebRequest https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe
.\wingetcreate.exe update $packageId --version $packageVersion --urls "$x64Url|x64" "$aarch64Url|arm64" --prtitle "$relaseTitle" --release-notes-url "$relaseUrl" --release-date "$relaseDate" --submit --token $gitToken