tauri_ci.yaml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. name: Tauri-CI
  2. on:
  3. pull_request:
  4. paths:
  5. - "frontend/rust-lib/**"
  6. - "frontend/appflowy_tauri/**"
  7. env:
  8. NODE_VERSION: "16"
  9. RUST_TOOLCHAIN: "1.65"
  10. jobs:
  11. tauri-build:
  12. strategy:
  13. fail-fast: false
  14. matrix:
  15. platform: [macos-latest, ubuntu-20.04, windows-latest]
  16. runs-on: ${{ matrix.platform }}
  17. steps:
  18. - uses: actions/checkout@v3
  19. - name: setup node
  20. uses: actions/setup-node@v3
  21. with:
  22. node-version: ${{ env.NODE_VERSION }}
  23. - name: Install Rust toolchain
  24. id: rust_toolchain
  25. uses: actions-rs/toolchain@v1
  26. with:
  27. toolchain: ${{ env.RUST_TOOLCHAIN }}
  28. override: true
  29. profile: minimal
  30. - uses: Swatinem/rust-cache@v2
  31. with:
  32. prefix-key: ${{ matrix.platform }}
  33. - name: install dependencies (windows only)
  34. if: matrix.platform == 'windows-latest'
  35. working-directory: frontend
  36. run: |
  37. cargo install --force cargo-make
  38. cargo install --force duckscript_cli
  39. vcpkg integrate install
  40. cargo make appflowy-tauri-deps-tools
  41. - name: install dependencies (ubuntu only)
  42. if: matrix.platform == 'ubuntu-20.04'
  43. working-directory: frontend
  44. run: |
  45. sudo apt-get update
  46. sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
  47. cargo install --force cargo-make
  48. cargo make appflowy-tauri-deps-tools
  49. - name: install dependencies (macOS only)
  50. if: matrix.platform == 'macos-latest'
  51. working-directory: frontend
  52. run: |
  53. cargo install --force cargo-make
  54. cargo make appflowy-tauri-deps-tools
  55. - name: build
  56. working-directory: frontend/appflowy_tauri
  57. run: |
  58. mkdir dist
  59. npm install
  60. cargo make --cwd .. build_tauri_backend
  61. yarn && yarn build
  62. - uses: tauri-apps/tauri-action@v0
  63. env:
  64. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}