-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Overview
This issue tracks the completion of a comprehensive CI pipeline refactor designed to optimize resource usage, fix self-hosted runner environment incompatibilities, and increase feedback speed.
Changes Implemented
1. Runner Bifurcation
Workloads have been strictly separated based on hardware requirements:
-
GitHub-Hosted (
ubuntu-latest): Now handles all stateless, high-parallelism tasks.lint:cargo fmtandcargo clippy(Parallelized)build: Workspace compilation andcargo doc(Parallelized)security_audit:cargo-denyandcargo-auditunit_tests: Headless tests excluding GUI/Injection cratesrelease/release-plz: Moved off self-hosted as they are stateless
-
Self-Hosted (Fedora/Nobara): Reserved exclusively for hardware-dependent tests.
hardware_integration: Real display, audio, and clipboard tests.stt_e2e: Heavy integration tests (Moonshine/Golden Master) requiring GPU/caching.
2. Environment Fixes (Proposal B)
- Removed Xvfb: The self-hosted runner was identified as running a live KDE Plasma session. The previous
xvfb-action(which usedapt-get) was causing failures on Fedora and conflicting with the real display. Tests now use the liveDISPLAY. - Dependency Gating: Hardware tests now explicitly depend on
lintandbuildsuccess to prevent wasting limited self-hosted runner cycles on failing code.
3. Optimizations (Proposal A)
- Caching & Performance:
- Enabled
sccache(10GB limit) andmoldlinker on self-hosted. - Enabled
CARGO_INCREMENTAL=1for self-hosted. - Configured persistent
rust-cachekeys.
- Enabled
- Consolidation:
- Inlined
setup-whisper-dependenciesto reduce scheduling overhead. - Merged
runner-testintorunner-diagnosticand deleted the redundant file. - Deleted
validate-workflows(redundant with GitHub's native checks).
- Inlined
Verification
- Local Smoke Test:
scripts/local_ci.shmirrors the new hostedstandard_checks. - Self-Hosted Validation: A new step "Validate live display environment" runs before tests to confirm X11/Wayland accessibility.
Metadata
Metadata
Assignees
Labels
No labels