ref:c62e1fbf1db44177c5915d3882f7b851d8fc854a

feat: add .anvil.yml CI pipeline and apply rustfmt

Pipeline steps: check → test, clippy, fmt → build (release) All steps use Cargo.lock-keyed caching for target/ directory. Build step produces anvil binary as artifact. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SHA: c62e1fbf1db44177c5915d3882f7b851d8fc854a
Author: Cole Christensen <cole.christensen@macmillan.com>
Date: 2026-03-11 02:13
Parents: 83913e0
12 files changed +131 -102
Type
.anvil.yml +44 −0
@@ -1,0 +1,44 @@
image: rust:1.86-bookworm
steps:
- name: check
run: cargo check --all-targets 2>&1
cache:
key: Cargo.lock
paths:
- target/
- /usr/local/cargo/registry/
- name: test
run: cargo test 2>&1
depends_on: [check]
cache:
key: Cargo.lock
paths:
- target/
- name: clippy
run: |
rustup component add clippy
cargo clippy --all-targets -- -D warnings 2>&1
depends_on: [check]
cache:
key: Cargo.lock
paths:
- target/
- name: fmt
run: |
rustup component add rustfmt
cargo fmt -- --check 2>&1
- name: build
run: cargo build --release 2>&1
depends_on: [test, clippy, fmt]
cache:
key: Cargo.lock
paths:
- target/
artifacts:
- name: anvil-binary
path: target/release/anvil