- crates/tier: tracing-логи, конвары с реестром, конфиг TOML, авто-детект ассетов - crates/fs: bounded-парсер VPK v1/v2 (preload, встроенные данные, внешние архивы), VirtualFs с приоритетами и защитой от traversal, CRC-проверка - crates/math: Vec3/Angle/Aabb - crates/client (gmod-rs): fs doctor / fs cat, окно SDL3+wgpu 30, FPS в заголовке и логе - тесты на реальных VPK (~/gmod_server/server): 9 контейнеров, 77 933 записи, 0 ошибок CRC - CI-скелет, fuzz-таргет vpk_parse, config.example.toml, обновление docs
31 lines
837 B
YAML
31 lines
837 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
checks:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: rustfmt, clippy
|
|
|
|
- uses: Swatinem/rust-cache@v2
|
|
|
|
- name: Форматирование
|
|
run: cargo fmt --all --check
|
|
|
|
# Крейт client не собирается в CI: SDL3 собирается из исходников и требует
|
|
# системных X11/Wayland-заголовков. Появится отдельный job позже.
|
|
- name: Clippy (tier, math, fs)
|
|
run: cargo clippy -p tier -p math -p fs --all-targets -- -D warnings
|
|
|
|
- name: Тесты (tier, math, fs)
|
|
run: cargo test -p tier -p math -p fs --all-targets
|