meta.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. name: Meta CI
  2. on:
  3. workflow_dispatch:
  4. push:
  5. tags:
  6. - v**
  7. env:
  8. CARGO_INCREMENTAL: 0
  9. RUST_BACKTRACE: short
  10. jobs:
  11. release:
  12. strategy:
  13. fail-fast: false
  14. matrix:
  15. os: [windows-latest, ubuntu-latest, macos-latest]
  16. runs-on: ${{ matrix.os }}
  17. if: startsWith(github.repository, 'zzzgydi')
  18. steps:
  19. - name: Checkout repository
  20. uses: actions/checkout@v2
  21. - name: Install Rust
  22. uses: actions-rs/toolchain@v1
  23. with:
  24. toolchain: stable
  25. profile: minimal
  26. override: true
  27. - name: Rust Cache
  28. uses: Swatinem/rust-cache@v2
  29. with:
  30. workspaces: src-tauri
  31. - name: Install Node
  32. uses: actions/setup-node@v1
  33. with:
  34. node-version: 16
  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: Get yarn cache dir path
  41. id: yarn-cache-dir-path
  42. run: echo "::set-output name=dir::$(yarn cache dir)"
  43. - name: Yarn Cache
  44. uses: actions/cache@v2
  45. id: yarn-cache
  46. with:
  47. path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
  48. key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
  49. restore-keys: |
  50. ${{ runner.os }}-yarn-
  51. - name: Yarn install and check
  52. run: |
  53. yarn install --network-timeout 1000000
  54. yarn run check
  55. - name: Delete current release assets
  56. uses: mknejp/delete-release-assets@v1
  57. with:
  58. token: ${{ secrets.GITHUB_TOKEN }}
  59. tag: meta
  60. fail-if-no-assets: false
  61. fail-if-no-release: false
  62. assets: |
  63. *.zip
  64. *.gz
  65. *.AppImage
  66. *.deb
  67. *.dmg
  68. *.msi
  69. *.sig
  70. - name: Tauri build
  71. uses: tauri-apps/tauri-action@v0
  72. env:
  73. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  74. TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
  75. TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
  76. with:
  77. tagName: meta
  78. releaseName: "Clash Verge Meta"
  79. releaseBody: ""
  80. releaseDraft: false
  81. prerelease: true
  82. args: -f default-meta
  83. - name: Portable Bundle
  84. if: matrix.os == 'windows-latest'
  85. run: |
  86. yarn build -f default-meta
  87. yarn run portable
  88. env:
  89. TAG_NAME: alpha
  90. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  91. TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
  92. TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
  93. VITE_WIN_PORTABLE: 1