version: "3"
tasks:
oas-download:
desc: Download OpenAPI specification (pin with SCHEMAS_REF=refs/tags/vX.Y.Z, a branch ref, or a SHA)
cmds:
- curl -fsSL -o openapi.yaml "https://raw.githubusercontent.com/inference-gateway/schemas/{{.SCHEMAS_REF | default "refs/heads/main"}}/openapi.yaml"
generate-types:
desc: Generate src/generated/schemas.rs from openapi.yaml
cmds:
- cargo run -p gen-types --release
oas-sync:
desc: Fetch the OpenAPI spec (pin with SCHEMAS_REF) and regenerate Rust types
cmds:
- task: oas-download
- task: generate-types
lint:
desc: Run linter
cmds:
- cargo fmt --all -- --check
- markdownlint '**/*.md' --ignore node_modules
analyse:
desc: Run static analysis
cmds:
- cargo clippy --all-targets --all-features -- -D warnings
test:
desc: Run tests
cmds:
- cargo test --all-targets --all-features