tauri_ci.yaml 2.3 KB

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