Skip to content

ci: add icon restoration step #69

ci: add icon restoration step

ci: add icon restoration step #69

Workflow file for this run

name: Build & Test
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_call:
env:
CARGO_TERM_COLOR: always
jobs:
build-and-test:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v6
- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- uses: pnpm/action-setup@v4
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 22
cache: 'pnpm'
cache-dependency-path: '**/pnpm-lock.yaml'
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- name: Install wasm-bindgen-cli
shell: bash
run: |
VERSION=$(cargo tree -p wasm-bindgen --depth 0 | head -n 1 | cut -d' ' -f2 | cut -c 2-)
cargo install wasm-bindgen-cli --version "$VERSION"
- name: Rust Cache
uses: Swatinem/rust-cache@v2
- name: Install Frontend Dependencies
working-directory: pearl_calculator_ui
run: pnpm install
- name: Build WASM
run: |
cargo build -p pearl_calculator_wasm --target wasm32-unknown-unknown --release
wasm-bindgen target/wasm32-unknown-unknown/release/pearl_calculator_wasm.wasm --out-dir pearl_calculator_wasm/pkg --target bundler
- name: Frontend Build (TS + Vite)
working-directory: pearl_calculator_ui
run: pnpm exec tsc && pnpm exec vite build
- name: Run tests
run: cargo test --verbose
- name: Build
run: cargo build --verbose