diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..efac3b9 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,66 @@ +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 }}