name: CI on: push: branches: ["**"] pull_request: env: CARGO_TERM_COLOR: always RUST_BACKTRACE: 1 jobs: ci: name: Check / Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Rust stable uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy # Caches ~/.cargo registry/git and target/, keyed on toolchain + Cargo.lock; # prunes workspace-crate artifacts so the cache holds only compiled deps. - name: Cache cargo uses: Swatinem/rust-cache@v2 - name: fmt run: cargo fmt --all -- --check - name: clippy run: cargo clippy --workspace --all-targets -- -D warnings # --workspace covers tui (it is outside default-members). - name: test run: cargo test --workspace - name: test (federation off) run: cargo test --workspace --no-default-features # Layering guards. These live in the Makefile and were previously local-only, # so a PR could go green in CI while violating them. - name: guards run: make check-appcontext check-handler-deps check-handler-repos check-http-adapter-deps check-federation-off-social check-sqlite-is-ap-free check-binaries-are-thin check-federation-off-deps check-nats-isolated check-no-second-web-stack