Skip to content

chore(release): v0.0.31 #120

chore(release): v0.0.31

chore(release): v0.0.31 #120

Workflow file for this run

name: Rust CI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
# Cancel outdated runs on PRs
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
# Security: minimal permissions
permissions:
contents: read
jobs:
check:
name: Check & Lint
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libxdo-dev \
libssl-dev
- name: Set up Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2025-12-06
components: rustfmt, clippy
- name: Cache Rust build artifacts
uses: Swatinem/rust-cache@v2
with:
workspaces: ". -> target"
- name: Check formatting
run: cargo fmt -- --check
- name: Create dummy frontend assets
run: |
mkdir -p frontend/dist
touch frontend/dist/index.html
- name: Lint (default features)
run: cargo clippy -- -D warnings
test:
name: Tests
runs-on: ubuntu-latest
needs: check
timeout-minutes: 30
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libxdo-dev \
libssl-dev
- name: Set up Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2025-12-06
- name: Cache Rust build artifacts
uses: Swatinem/rust-cache@v2
with:
workspaces: ". -> target"
- name: Create dummy frontend assets
run: |
mkdir -p frontend/dist
touch frontend/dist/index.html
- name: Build helper agent
run: cargo build --example fake_acp_agent
- name: Run tests
run: cargo test --verbose
build:
name: Build Check
runs-on: ubuntu-latest
needs: check
timeout-minutes: 30
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libxdo-dev \
libssl-dev
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Set up Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2025-12-06
- name: Cache Rust build artifacts
uses: Swatinem/rust-cache@v2
with:
workspaces: ". -> target"
- name: Install frontend dependencies
run: pnpm install
working-directory: frontend
- name: Build frontend
run: pnpm build
working-directory: frontend
- name: Build release binary
run: cargo build --release