dev.yaml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. name: Dev Build
  2. on:
  3. workflow_dispatch:
  4. push:
  5. branches:
  6. - dev
  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. steps:
  17. - name: Checkout repository
  18. uses: actions/checkout@v4
  19. - name: install Rust stable
  20. uses: dtolnay/rust-toolchain@stable
  21. - name: Rust Cache
  22. uses: Swatinem/rust-cache@v2
  23. with:
  24. workspaces: src-tauri
  25. - name: Install Node
  26. uses: actions/setup-node@v4
  27. with:
  28. node-version: "20"
  29. - uses: pnpm/action-setup@v2
  30. name: Install pnpm
  31. with:
  32. version: 8
  33. run_install: false
  34. - name: Delete current release assets
  35. if: startsWith(matrix.os, 'ubuntu-')
  36. uses: mknejp/delete-release-assets@v1
  37. with:
  38. token: ${{ secrets.GITHUB_TOKEN }}
  39. tag: dev
  40. fail-if-no-assets: false
  41. fail-if-no-release: false
  42. assets: |
  43. *.zip
  44. *.gz
  45. *.AppImage
  46. *.deb
  47. *.dmg
  48. *.msi
  49. *.sig
  50. *.exe
  51. *.json
  52. - name: Install Dependencies (Ubuntu Only)
  53. if: startsWith(matrix.os, 'ubuntu-')
  54. run: |
  55. sudo apt-get update
  56. sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf openssl
  57. - name: Pnpm install and check
  58. run: |
  59. pnpm i
  60. pnpm check
  61. - name: Tauri build
  62. uses: tauri-apps/tauri-action@v0
  63. env:
  64. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  65. TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
  66. TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
  67. with:
  68. tagName: dev
  69. releaseName: "Clash Verge Dev"
  70. releaseBody: "More new features are now supported."
  71. releaseDraft: false
  72. prerelease: true
  73. tauriScript: pnpm
  74. args: -f default-meta
  75. - name: Portable Bundle
  76. if: matrix.os == 'windows-latest'
  77. run: |
  78. pnpm portable
  79. env:
  80. TAG_NAME: dev
  81. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  82. TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
  83. TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
  84. VITE_WIN_PORTABLE: 1