version: "3"
tasks:
oas-download:
desc: Download OpenAPI specification
cmds:
- curl -o openapi.yaml https://raw.githubusercontent.com/inference-gateway/schemas/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: Refresh openapi.yaml from upstream 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