ci.yml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. name: CI
  2. on:
  3. push:
  4. branches: [main]
  5. pull_request:
  6. branches: [main]
  7. jobs:
  8. check:
  9. strategy:
  10. fail-fast: false
  11. matrix:
  12. include:
  13. - platform: macos-latest
  14. - platform: ubuntu-22.04
  15. - platform: windows-latest
  16. runs-on: ${{ matrix.platform }}
  17. steps:
  18. - name: Checkout
  19. uses: actions/checkout@v5
  20. - name: Install Rust stable
  21. uses: dtolnay/rust-toolchain@stable
  22. - name: Install protoc (macOS)
  23. if: matrix.platform == 'macos-latest'
  24. run: |
  25. brew untap aws/tap || true
  26. brew install protobuf
  27. - name: Install dependencies (Ubuntu)
  28. if: matrix.platform == 'ubuntu-22.04'
  29. run: |
  30. sudo apt-get update
  31. sudo apt-get install -y curl libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf protobuf-compiler
  32. - name: Install protoc (Windows)
  33. if: matrix.platform == 'windows-latest'
  34. run: choco install protoc -y
  35. - name: Rust cache
  36. uses: Swatinem/rust-cache@v2
  37. with:
  38. workspaces: src-tauri
  39. - name: Setup Node.js
  40. uses: actions/setup-node@v5
  41. with:
  42. node-version: 24
  43. - name: Install frontend dependencies
  44. run: npm install
  45. - name: Check frontend build
  46. run: npx vite build
  47. - name: Check Rust build
  48. working-directory: src-tauri
  49. run: cargo build