name: ci on: push: branches: [main] pull_request: branches: [main] jobs: check: runs-on: docker container: image: rust:1.95-bookworm steps: - name: checkout uses: actions/checkout@v4 - name: cache cargo uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git target key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.os }}-cargo- - name: install components run: | rustup component add rustfmt clippy - name: cargo fmt run: cargo fmt --all -- --check - name: cargo clippy run: cargo clippy --all-targets --all-features -- -D warnings - name: cargo test run: cargo test --all --locked --no-fail-fast - name: cargo build --release run: cargo build --release --locked - name: smoke-check binary run: | ./target/release/fj --version ./target/release/fj --help >/dev/null ./target/release/fj completion zsh >/dev/null