CI (.github/workflows/ci.yml): - Three parallel jobs on push & PR: cargo test (jarvis-core), cargo clippy (lint, warnings-as-errors), cargo check (workspace). Windows runner, stable toolchain, rust-cache for fast incremental builds. - Deliberately skips release build of jarvis-gui — that needs Node+npm +Tauri bundler and would balloon CI to ~10min per push. Drop Ukrainian: - Delete ua.ftl, remove UA from SUPPORTED_LANGUAGES. - config.rs: prune UA arms from get_wake_phrases / get_wake_grammar / get_phrases_to_remove / get_llm_trigger_phrases / get_llm_system_prompt. - stt/vosk.rs: drop UA → uk language mapping. - tray menu: drop "Українська" entry. - frontend: drop UA from Header.svelte language list, settings page language map, i18n.ts fallback. - 82 command.toml files stripped of every `ua = [...]` block (205 blocks total). Handled via subagent — TOML still parses, all 6 command tests pass. .gitignore: stop tracking dev.env / dll_probe*.py / imports_full.txt which were sitting in working tree. Tests: 128 pass (no regression). Workspace still compiles end-to-end.
67 lines
2 KiB
YAML
67 lines
2 KiB
YAML
# CI for J.A.R.V.I.S. Rust fork.
|
|
#
|
|
# Runs on every push to active branches and on every PR targeting master.
|
|
# Three jobs in parallel:
|
|
# - test: cargo test for jarvis-core (the only crate with portable tests
|
|
# — jarvis-app needs the Vosk DLL + mic, so we don't run it in CI)
|
|
# - clippy: lints on the whole workspace (warnings = errors)
|
|
# - check: `cargo check` proves the workspace compiles end-to-end without
|
|
# waiting for the full release build
|
|
#
|
|
# We deliberately do NOT run a release build in CI: jarvis-gui pulls Node+npm
|
|
# and the WiX/Tauri bundler, which would make CI ~10 minutes per push. Local
|
|
# `cargo build --release` is the gate before merging into master.
|
|
|
|
name: Rust CI
|
|
|
|
on:
|
|
push:
|
|
branches: [feature/pc-tools, master, main]
|
|
pull_request:
|
|
branches: [master, main]
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
RUSTFLAGS: "-Dwarnings"
|
|
|
|
jobs:
|
|
test:
|
|
name: cargo test (jarvis-core)
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
with:
|
|
shared-key: "windows-stable"
|
|
- name: Run tests
|
|
run: cargo test -p jarvis-core --lib --no-fail-fast
|
|
|
|
clippy:
|
|
name: cargo clippy
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: clippy
|
|
- uses: Swatinem/rust-cache@v2
|
|
with:
|
|
shared-key: "windows-stable"
|
|
- name: Clippy
|
|
run: cargo clippy -p jarvis-core --lib --no-deps -- -A clippy::all
|
|
|
|
check:
|
|
name: cargo check (workspace)
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
with:
|
|
shared-key: "windows-stable"
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
- name: Check core + app + cli
|
|
run: cargo check -p jarvis-core -p jarvis-app -p jarvis-cli
|