Skip to content

WIP: Static analysis with tree sitter #136

WIP: Static analysis with tree sitter

WIP: Static analysis with tree sitter #136

Workflow file for this run

# Build the fpx app. This will only be published as a build artifact.
---
name: Build app
on:
# Allow manual trigger
workflow_dispatch:
# Run on every pull request
pull_request:
branches: ["*"]
# Run on every push to main
push:
branches: ["main", "tauri-main"]
jobs:
build-app:
name: Create binary for ${{ matrix.target }}
runs-on: ${{ matrix.os }}
# permissions:
# id-token: write
# contents: read
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest-8-cores
target: x86_64-unknown-linux-gnu
bundles: appimage
- os: macos-latest
target: aarch64-apple-darwin
bundles: app,dmg
- os: macos-latest
target: x86_64-apple-darwin
bundles: app,dmg
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
# Steps required for our project, or our dependencies (like Tauri)
- name: Install dependencies (Linux)
if: matrix.os == 'ubuntu-latest-8-cores'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: "pnpm"
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy
target: ${{ matrix.target }}
rustflags: "" # Do not fail on warnings, so reset the default value to empty
- name: Install tauri-cli
run: cargo install --locked [email protected]
# Steps related to our project
- name: Install dependencies
run: pnpm install
env:
CI: true
- name: Build shared types
run: pnpm build:types
- name: Build fpx-app
run: |
cargo tauri build \
--ci \
--target "${{ matrix.target }}" \
--bundles "${{ matrix.bundles }}"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: fpx_${{ matrix.target }}
if-no-files-found: error
retention-days: 7
path: target/${{ matrix.target }}/release/bundle