name: ci on: push: branches: ["**"] pull_request: jobs: rust: name: cargo check + cargo test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: System deps (cpal / Opus / SQLite) run: | sudo apt-get update sudo apt-get install -y \ libasound2-dev libpulse-dev pkg-config \ libopus-dev - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - name: cargo check --workspace run: cargo check --workspace --locked - name: cargo test --workspace env: # Storage tests must not hit the real OS keyring on CI: # there is no D-Bus session available and the call would # block. The runtime code carries the same toggle for # headless / sandboxed environments. CHANORA_DISABLE_KEYRING: "1" run: cargo test --workspace --locked --no-fail-fast - name: cargo clippy run: cargo clippy --workspace --all-targets -- -D warnings continue-on-error: true flutter: name: flutter analyze runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2 with: channel: stable - name: flutter pub get working-directory: apps/chanora_flutter run: flutter pub get - name: flutter analyze working-directory: apps/chanora_flutter run: flutter analyze - name: flutter test (unit only) working-directory: apps/chanora_flutter run: flutter test --exclude-tags e2e || true