mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-06-09 01:35:18 +02:00
Add pre-commit hook for openapi.json drift
Wire a local pre-commit hook that regenerates openapi.json whenever the server source changes, and document the workflow in CONTRIBUTING. Opt-in via `pre-commit install`; the existing CI test remains the authoritative drift check. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
bfdfeaa2f2
commit
7c6d89d194
2 changed files with 28 additions and 0 deletions
10
.pre-commit-config.yaml
Normal file
10
.pre-commit-config.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
repos:
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: openapi-sync
|
||||
name: Sync openapi.json
|
||||
description: Regenerate openapi.json when the server API surface changes.
|
||||
entry: bash -c 'OMNIGRAPH_UPDATE_OPENAPI=1 cargo test -p omnigraph-server --test openapi openapi_spec_is_up_to_date --quiet'
|
||||
language: system
|
||||
pass_filenames: false
|
||||
files: ^(crates/omnigraph-server/src/.*\.rs|crates/omnigraph-server/Cargo\.toml|openapi\.json)$
|
||||
|
|
@ -16,6 +16,24 @@ cargo test --workspace
|
|||
If you touch S3-backed flows, the CI model uses a local RustFS instance for
|
||||
integration tests.
|
||||
|
||||
### OpenAPI spec
|
||||
|
||||
`openapi.json` is a committed artifact generated from the Utoipa annotations in
|
||||
`crates/omnigraph-server`. CI fails if it drifts from the source. To regenerate
|
||||
manually:
|
||||
|
||||
```bash
|
||||
OMNIGRAPH_UPDATE_OPENAPI=1 cargo test -p omnigraph-server --test openapi openapi_spec_is_up_to_date
|
||||
```
|
||||
|
||||
Optional: install [pre-commit](https://pre-commit.com) to run this automatically
|
||||
before each commit that touches the server:
|
||||
|
||||
```bash
|
||||
pip install pre-commit
|
||||
pre-commit install
|
||||
```
|
||||
|
||||
## Pull Requests
|
||||
|
||||
- keep changes focused
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue