# Costruisce i pacchetti desktop su macchine native di GitHub. # Si avvia a mano (Actions > Pacchetti desktop > Run workflow) oppure pubblicando un tag "v*", # nel qual caso i pacchetti vengono anche allegati a una Release. name: Pacchetti desktop on: workflow_dispatch: push: tags: ["v*"] permissions: contents: write jobs: build: strategy: fail-fast: false matrix: include: - { os: windows-latest, name: windows, args: "--win nsis portable --x64" } - { os: ubuntu-latest, name: linux, args: "--linux AppImage --x64" } - { os: macos-latest, name: macos, args: "--mac" } runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - run: npm ci - run: npx electron-builder ${{ matrix.args }} --publish never - uses: actions/upload-artifact@v4 with: name: PlayPiano-${{ matrix.name }} if-no-files-found: error path: | dist/*.exe dist/*.dmg dist/*.AppImage - name: Allega alla Release if: startsWith(github.ref, 'refs/tags/v') uses: softprops/action-gh-release@v2 with: files: | dist/*.exe dist/*.dmg dist/*.AppImage