J.A.R.V.I.S-rust/.github/workflows/ci.yml
Bossiara13 3f8300dc6f chore: CI workflows + drop Ukrainian (UA → just RU/EN)
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.
2026-05-16 13:38:12 +03:00

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