release.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. name: Release Build
  2. on:
  3. workflow_dispatch:
  4. push:
  5. branches:
  6. - main
  7. env:
  8. CARGO_INCREMENTAL: 0
  9. RUST_BACKTRACE: short
  10. jobs:
  11. release:
  12. strategy:
  13. matrix:
  14. os: [windows-latest, ubuntu-latest, macos-latest]
  15. runs-on: ${{ matrix.os }}
  16. if: startsWith(github.repository, 'keiko233')
  17. steps:
  18. - name: Checkout repository
  19. uses: actions/checkout@v3
  20. - name: install Rust stable
  21. uses: dtolnay/rust-toolchain@stable
  22. - name: Rust Cache
  23. uses: Swatinem/rust-cache@v2
  24. with:
  25. workspaces: src-tauri
  26. - name: Install Node
  27. uses: actions/setup-node@v3
  28. with:
  29. node-version: "20"
  30. - uses: pnpm/action-setup@v2
  31. name: Install pnpm
  32. with:
  33. version: 8
  34. run_install: false
  35. - name: Install Dependencies (Ubuntu Only)
  36. if: startsWith(matrix.os, 'ubuntu-')
  37. run: |
  38. sudo apt-get update
  39. sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf openssl
  40. - name: Pnpm install and check
  41. run: |
  42. pnpm i
  43. pnpm check
  44. - name: Tauri build
  45. uses: tauri-apps/tauri-action@v0
  46. env:
  47. GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
  48. TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
  49. TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
  50. with:
  51. tagName: v__VERSION__
  52. releaseName: "Clash Nyanpasu v__VERSION__"
  53. releaseBody: "More new features are now supported."
  54. releaseDraft: false
  55. prerelease: false
  56. tauriScript: pnpm
  57. args: -f default-meta
  58. - name: Portable Bundle
  59. if: matrix.os == 'windows-latest'
  60. run: |
  61. pnpm build -f default-meta
  62. pnpm portable
  63. env:
  64. GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
  65. TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
  66. TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
  67. VITE_WIN_PORTABLE: 1
  68. release-update:
  69. needs: release
  70. runs-on: ubuntu-latest
  71. if: |
  72. startsWith(github.repository, 'keiko233')
  73. steps:
  74. - name: Checkout repository
  75. uses: actions/checkout@v3
  76. - name: Install Node
  77. uses: actions/setup-node@v3
  78. with:
  79. node-version: "20"
  80. - uses: pnpm/action-setup@v2
  81. name: Install pnpm
  82. with:
  83. version: 8
  84. run_install: false
  85. - name: Pnpm install
  86. run: pnpm i
  87. - name: Release updater file
  88. run: pnpm updater
  89. env:
  90. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}