Skip to content

Add native deps

Add native deps #826

Workflow file for this run

name: "CI"
on:
workflow_dispatch:
pull_request:
jobs:
quality:
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- uses: pnpm/action-setup@v3
with:
version: 9
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install
run: pnpm install
- name: Check format
run: pnpm check:format
- name: Lint
run: pnpm lint
cargo-fmt:
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
desktop:
- 'apps/desktop/**'
- name: Install Rust stable
if: steps.changes.outputs.desktop == 'true'
uses: dtolnay/rust-toolchain@stable
with:
target: "${{ matrix.settings.toolchain }}"
- uses: Swatinem/rust-cache@v2
if: steps.changes.outputs.desktop == 'true'
with:
workspaces: "apps/desktop/src-tauri/target"
- name: Cargo format
if: steps.changes.outputs.desktop == 'true'
run: cargo fmt --check
working-directory: apps/desktop/src-tauri
build-tauri:
name: Build (${{ matrix.settings.os }})
strategy:
fail-fast: false
matrix:
settings:
- host: macos-latest
target: universal-apple-darwin
toolchain: aarch64-apple-darwin,x86_64-apple-darwin
bundles: app,dmg
os: mac
- host: windows-latest
target: x86_64-pc-windows-msvc
toolchain: x86_64-pc-windows-msvc
bundles: msi,nsis
os: windows
- host: ubuntu-latest
target: x86_64-unknown-linux-gnu
toolchain: x86_64-unknown-linux-gnu
bundles: deb,appimage
os: linux
runs-on: ${{ matrix.settings.host }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
desktop:
- 'apps/desktop/**'
- name: Setup node
if: steps.changes.outputs.desktop == 'true'
uses: actions/setup-node@v4
with:
node-version: 20
- uses: pnpm/action-setup@v3
if: steps.changes.outputs.desktop == 'true'
with:
version: 9
- name: Get pnpm store directory
if: steps.changes.outputs.desktop == 'true'
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
if: steps.changes.outputs.desktop == 'true'
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install Rust stable
if: steps.changes.outputs.desktop == 'true'
uses: dtolnay/rust-toolchain@stable
with:
target: "${{ matrix.settings.toolchain }}"
- uses: Swatinem/rust-cache@v2
if: steps.changes.outputs.desktop == 'true'
with:
workspaces: "apps/desktop/src-tauri/target"
- name: Install dependencies (ubuntu only)
if: matrix.settings.host == 'ubuntu-latest' && steps.changes.outputs.desktop == 'true'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
- name: install frontend dependencies
if: steps.changes.outputs.desktop == 'true'
run: pnpm install
- uses: tauri-apps/tauri-action@dev
if: steps.changes.outputs.desktop == 'true'
with:
projectPath: apps/desktop
args: --config "src-tauri/tauri.conf.ci.json"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}