fix(generator): compile 43 specs (was 20), broaden CI corpus #48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo test --all-features | |
| clippy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo clippy --all-features -- -D warnings | |
| fmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - run: cargo fmt --check | |
| doc: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo doc --no-deps --all-features | |
| env: | |
| RUSTDOCFLAGS: -D warnings | |
| # Regression guard: generate clients for a curated list of real-world specs | |
| # and `cargo check` the result. Catches breakage where a generator change | |
| # still passes unit tests but emits invalid Rust against real-world OAS | |
| # documents. See scripts/spec-compile.sh. | |
| # | |
| # The list is the "gold" subset that currently compiles cleanly. Local | |
| # `scripts/spec-compile.sh` (no args) runs against all of `specs/`; we | |
| # don't gate CI on the full corpus because many of the 50+ specs currently | |
| # surface unfixed generator bugs (tracked in #14). | |
| spec-compile: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: | | |
| scripts/spec-compile.sh \ | |
| anthropic arcade asana box browserbase cartesia cerebras circleci \ | |
| coda coingecko datadog-v2 digitalocean github gitpod \ | |
| google-calendar google-drive google-gmail google-tasks google-youtube \ | |
| grafana groq imagekit increase launchdarkly letta luma meta-llama \ | |
| modern-treasury openai pagerduty perplexity resend retell runway \ | |
| sentry snyk spotify supabase terminal-shop together twilio val-town \ | |
| writer |