name: Release Desktop # Только десктоп (Windows/macOS/Linux) — Android/iOS обновляются через сторы, # самообновление там запрещено политиками платформ (см. src-tauri/src/lib.rs). # Триггер — тег вида v1.2.3 (совпадает с полем "version" в tauri.conf.json). on: push: tags: - "v*" workflow_dispatch: jobs: release: strategy: fail-fast: false matrix: include: - platform: "macos-latest" args: "--target aarch64-apple-darwin" - platform: "macos-latest" args: "--target x86_64-apple-darwin" - platform: "ubuntu-24.04" args: "" - platform: "windows-latest" args: "" runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: version: 9 - uses: actions/setup-node@v4 with: node-version: 20 cache: pnpm - name: Install Rust uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} - name: Install Linux system deps (webkit2gtk, etc.) if: matrix.platform == 'ubuntu-24.04' run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - run: pnpm install --frozen-lockfile - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Приватный ключ для подписи апдейтов — БЕЗ него downloadAndInstall() # на клиентах будет отклонять пакет (сигнатура не совпадёт). TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} with: tagName: ${{ github.ref_name }} releaseName: "Netrunner VPN ${{ github.ref_name }}" releaseDraft: true prerelease: false includeUpdaterJson: true args: ${{ matrix.args }}