⚡ Bolt: Replace map iterator with cached array for VRM animations #46
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| # whisper-rs-sys uses CMake; default clang++ on some images fails to link -lstdc++ | |
| CC: gcc | |
| CXX: g++ | |
| jobs: | |
| frontend: | |
| name: Frontend (TypeScript, build, tests) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: lts/* | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Typecheck and production build | |
| run: npm run build | |
| - name: Unit tests (Vitest) | |
| run: npm test | |
| rust: | |
| name: Rust (fmt, clippy, tests, Tauri build) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| build-essential \ | |
| g++ \ | |
| cmake \ | |
| pkg-config \ | |
| libssl-dev \ | |
| libclang-dev \ | |
| clang \ | |
| libwebkit2gtk-4.1-dev \ | |
| libappindicator3-dev \ | |
| librsvg2-dev \ | |
| patchelf \ | |
| libgtk-3-dev \ | |
| libgdk-pixbuf-2.0-dev \ | |
| libglib2.0-dev \ | |
| libcairo2-dev \ | |
| libpango1.0-dev \ | |
| libsoup-3.0-dev | |
| # Rust 1.71+ uses rust-lld; it does not search GCC's private libstdc++ dir, so linking whisper-rs-sys fails without this. | |
| - name: Rust linker search path for libstdc++ | |
| run: | | |
| gcc_dir=$(dirname "$(gcc -print-file-name=libstdc++.so)") | |
| echo "RUSTFLAGS=-C link-arg=-L${gcc_dir}" >> "$GITHUB_ENV" | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: lts/* | |
| cache: npm | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: ". -> target" | |
| - name: Install frontend dependencies (Tauri build) | |
| run: npm ci | |
| - name: cargo fmt | |
| run: cargo fmt --all -- --check | |
| - name: cargo clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| - name: cargo test | |
| run: cargo test --workspace | |
| - name: Tauri build (smoke) | |
| run: npm run tauri build |