Browse Source

Add ci job for releasing to winget

Armin Schrenk 1 year ago
parent
commit
e1cca6427c
2 changed files with 45 additions and 0 deletions
  1. 18 0
      .github/workflows/win-exe.yml
  2. 27 0
      .github/workflows/winget.yml

+ 18 - 0
.github/workflows/win-exe.yml

@@ -413,3 +413,21 @@ jobs:
           username: ${{ secrets.ALLOWLIST_AVAST_USERNAME }}
           password: ${{ secrets.ALLOWLIST_AVAST_PASSWORD }}
           local-dir: files/
+  notify-winget:
+    name: Notify for winget-release
+    if: startsWith(github.ref, 'refs/tags/')
+    needs: [build-msi]
+    runs-on: ubuntu-latest
+    steps:
+      - name: Slack Notification
+        uses: rtCamp/action-slack-notify@v2
+        env:
+          SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
+          SLACK_USERNAME: 'Cryptobot'
+          SLACK_ICON: false
+          SLACK_ICON_EMOJI: ':bot:'
+          SLACK_CHANNEL: 'cryptomator-desktop'
+          SLACK_TITLE: "MSI of ${{ github.event.repository.name }} ${{ github.event.release.tag_name }} published."
+          SLACK_MESSAGE: "Ready to <https://github.com/${{ github.repository }}/actions/workflows/winget.yml| release to winget>."
+          SLACK_FOOTER: false
+          MSG_MINIMAL: true

+ 27 - 0
.github/workflows/winget.yml

@@ -0,0 +1,27 @@
+name: Publish  MSI Installer to WinGet Community Repo
+
+on:
+  workflow_dispatch:
+    inputs:
+      tag:
+        description: 'Release tag'
+        required: true
+
+jobs:
+  winget:
+    name: Publish winget package
+    runs-on: windows-latest
+    steps:
+      - name: Sync winget-pkgs fork
+        run: |
+          gh auth login --with-token $env:SYNC_TOKEN
+          gh repo sync cryptomator/winget-pkgs -b master --force
+        env:
+          SYNC_TOKEN: ${{ secrets.CRYPTOBOT_WINGET_TOKEN }}
+      - name: Submit package
+        uses: vedantmgoyal2009/winget-releaser@v2
+        with:
+          identifier: Cryptomator.Cryptomator
+          release-tag: ${{ inputs.tag }}
+          installers-regex: '\.msi$'
+          token: ${{ secrets.CRYPTOBOT_WINGET_TOKEN }}