mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-04-18 08:36:52 -04:00
50 lines
1.7 KiB
YAML
50 lines
1.7 KiB
YAML
name: Release to Winget
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
releaseTag:
|
|
required: true
|
|
type: string
|
|
workflow_dispatch:
|
|
inputs:
|
|
releaseTag:
|
|
description: 'Release tag name'
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
publish-winget:
|
|
name: Publish on winget repo
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Get download url for release assets
|
|
id: get-release-assets
|
|
uses: actions/github-script@v6
|
|
with:
|
|
script: |
|
|
const query =`query($tag:String!) {
|
|
repository(owner:"cryptomator", name:"cryptomator"){
|
|
release(tagName: $tag) {
|
|
releaseAssets(first:20) {
|
|
nodes {
|
|
name
|
|
downloadUrl
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}`;
|
|
const variables = {
|
|
tag: "${{ inputs.releaseTag }}"
|
|
}
|
|
return await github.graphql(query, variables)
|
|
- name: Submit package to Windows Package Manager Community Repository
|
|
id: submit-winget
|
|
run: |
|
|
iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe
|
|
$releaseAssets = (ConvertFrom-Json '${{ steps.get-release-assets.outputs.result }}').repository.release.releaseAssets.nodes
|
|
$installerUrl = $releaseAssets | Where-Object -Property name -match '^Cryptomator-.*\.msi$' | Select -ExpandProperty downloadUrl -First 1
|
|
.\wingetcreate.exe update Cryptomator.Cryptomator -s -v "${{ inputs.releaseTag }}" -u "$installerUrl" -t ${{ secrets.CRYPTOBOT_WINGET_TOKEN }}
|
|
shell: pwsh
|