refactor: π§βπ» add utils for listening Tauri events on mount #41
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
jobs: | |
build-tauri: | |
permissions: | |
contents: read | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- platform: "macos-latest" # for Arm based macs (M1 and above). | |
target: "aarch64-apple-darwin" | |
args: "--target aarch64-apple-darwin" | |
- platform: "macos-latest" # for Intel based macs. | |
target: "x86_64-apple-darwin" | |
args: "--target x86_64-apple-darwin" | |
- platform: "ubuntu-22.04" | |
target: "x86_64-unknown-linux-gnu" | |
args: "" | |
- platform: "windows-latest" | |
target: "x86_64-pc-windows-msvc" | |
args: "" | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/[email protected] | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
cache: pnpm | |
- name: Install frontend dependencies with pnpm | |
run: pnpm install | |
- name: Setup Rust toolchain | |
uses: moonrepo/setup-rust@v1 | |
with: | |
channel: stable | |
targets: ${{ startsWith(matrix.platform, 'macos') && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run sccache | |
uses: mozilla-actions/[email protected] | |
- name: Enable sccache for Rust | |
shell: bash | |
run: | | |
echo SCCACHE_GHA_ENABLED=true >> "$GITHUB_ENV" | |
echo RUSTC_WRAPPER=sccache >> "$GITHUB_ENV" | |
- name: Install dependencies on Ubuntu | |
if: ${{ startsWith(matrix.platform, 'ubuntu') }} | |
run: | | |
sudo apt-get update && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf | |
- name: Run Rust unit tests | |
working-directory: ./src-tauri | |
run: cargo test --workspace | |
- id: tauri | |
name: Build Tauri app | |
uses: tauri-apps/tauri-action@v0 | |
with: | |
args: ${{ matrix.args }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload Build Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artifacts-${{ matrix.target }} | |
path: ${{ join(fromJson(steps.tauri.outputs.artifactPaths), fromJson('"\n"')) }} |