Files
movies-diary/.gitea/workflows/ci.yml

47 lines
1.3 KiB
YAML

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