12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 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 msi artifacts
- 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
|