123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- name: Tauri-CI
- on:
- pull_request:
- paths:
- - ".github/workflows/tauri_ci.yaml"
- - "frontend/rust-lib/**"
- - "frontend/appflowy_tauri/**"
- env:
- NODE_VERSION: "18.16.0"
- PNPM_VERSION: "8.5.0"
- RUST_TOOLCHAIN: "1.70"
- concurrency:
- group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
- cancel-in-progress: true
- jobs:
- tauri-build:
- if: github.event.pull_request.draft != true
- strategy:
- fail-fast: false
- matrix:
- # platform: [macos-latest, ubuntu-latest, windows-latest]
- platform: [ubuntu-latest]
- runs-on: ${{ matrix.platform }}
- steps:
- - uses: actions/checkout@v3
- - name: setup node
- uses: actions/setup-node@v3
- with:
- node-version: ${{ env.NODE_VERSION }}
- - name: Cache Rust Dependencies
- uses: Swatinem/rust-cache@v2
- with:
- key: rust-dependencies-${{ runner.os }}
- workspaces: |
- frontend/rust-lib
- frontend/appflowy_tauri/src-tauri
- - name: Cache Node.js dependencies
- uses: actions/cache@v2
- with:
- path: ~/.npm
- key: npm-${{ runner.os }}
- - name: Cache node_modules
- uses: actions/cache@v2
- with:
- path: frontend/appflowy_tauri/node_modules
- key: node-modules-${{ runner.os }}
- - name: Install Rust toolchain
- id: rust_toolchain
- uses: actions-rs/toolchain@v1
- with:
- toolchain: ${{ env.RUST_TOOLCHAIN }}
- override: true
- profile: minimal
- - name: install dependencies (windows only)
- if: matrix.platform == 'windows-latest'
- working-directory: frontend
- run: |
- cargo install --force cargo-make
- cargo install --force duckscript_cli
- vcpkg integrate install
- cargo make appflowy-tauri-deps-tools
- npm install -g pnpm@${{ env.PNPM_VERSION }}
- - name: install dependencies (ubuntu only)
- if: matrix.platform == 'ubuntu-latest'
- working-directory: frontend
- run: |
- sudo apt-get update
- sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
- cargo install --force cargo-make
- cargo make appflowy-tauri-deps-tools
- npm install -g pnpm@${{ env.PNPM_VERSION }}
- - name: install dependencies (macOS only)
- if: matrix.platform == 'macos-latest'
- working-directory: frontend
- run: |
- cargo install --force cargo-make
- cargo make appflowy-tauri-deps-tools
- npm install -g pnpm@${{ env.PNPM_VERSION }}
- - name: Build
- working-directory: frontend/appflowy_tauri
- run: |
- mkdir dist
- pnpm install
- cargo make --cwd .. tauri_build
- pnpm test
- pnpm test:errors
- - name: Check for uncommitted changes
- run: |
- diff_files=$(git status --porcelain)
- if [ -n "$diff_files" ]; then
- echo "There are uncommitted changes in the working tree. Please commit them before pushing."
- exit 1
- fi
- - uses: tauri-apps/tauri-action@v0
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|