name: Release on: push: tags: - 'v*' workflow_dispatch: jobs: release: permissions: contents: write strategy: fail-fast: false matrix: settings: - platform: 'macos-latest' args: '--target aarch64-apple-darwin' - platform: 'macos-latest' args: '--target x86_64-apple-darwin' - platform: 'ubuntu-22.04' args: '' - platform: 'windows-latest' args: '' runs-on: ${{ matrix.settings.platform }} steps: - uses: actions/checkout@v4 - name: install dependencies (ubuntu only) if: matrix.settings.platform == 'ubuntu-22.04' run: | sudo apt-get update sudo apt-get install -y \ libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf \ gstreamer1.0-plugins-base gstreamer1.0-plugins-good \ gstreamer1.0-plugins-bad gstreamer1.0-libav - name: install linuxdeploy gstreamer plugin (ubuntu only) if: matrix.settings.platform == 'ubuntu-22.04' run: | wget -q "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gstreamer/master/linuxdeploy-plugin-gstreamer.sh" \ -O /usr/local/bin/linuxdeploy-plugin-gstreamer.sh chmod +x /usr/local/bin/linuxdeploy-plugin-gstreamer.sh - name: setup node uses: actions/setup-node@v4 with: node-version: lts/* - name: install Rust stable uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.settings.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} - name: install npm dependencies run: npm install - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} APPIMAGE_EXTRACT_AND_RUN: 1 with: tagName: app-v__VERSION__ releaseName: 'Psysonic v__VERSION__' releaseBody: 'See the assets to download this version and install.' releaseDraft: false prerelease: false args: ${{ matrix.settings.args }}