Skip to content

feat(launcher): implement Rust launcher, single-instance mutex, and e… #10

feat(launcher): implement Rust launcher, single-instance mutex, and e…

feat(launcher): implement Rust launcher, single-instance mutex, and e… #10

Workflow file for this run

name: CI
on:
push:
branches: [dev, main]
pull_request:
branches: [dev, main]
jobs:
backend-tests:
name: Backend Tests
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if (Test-Path backend/requirements.txt) {
pip install -r backend/requirements.txt
}
pip install pytest pytest-asyncio anyio httpx
- name: Run pytest
run: |
cd backend
pytest -v
frontend-build:
name: Frontend Build & Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 9
- name: Set up Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
cache: "pnpm"
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: |
cd frontend
pnpm install --frozen-lockfile
- name: Build frontend
run: |
cd frontend
pnpm build
launcher-build:
name: Rust Launcher Build & Test
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Check if launcher exists
id: check_launcher
shell: pwsh
run: |
if (Test-Path launcher/Cargo.toml) {
echo "exists=true" >> $env:GITHUB_OUTPUT
} else {
echo "exists=false" >> $env:GITHUB_OUTPUT
}
- name: Set up Rust
if: steps.check_launcher.outputs.exists == 'true'
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Build and test launcher
if: steps.check_launcher.outputs.exists == 'true'
shell: pwsh
run: |
cd launcher
cargo build --release
cargo test