halilibrahimd27/Guardian API Contract Diff
Run the Living API Contract Guardian diff against a PR's API spec. Posts inline annotations + a Markdown step-summary, and fails the workflow when breaking changes are detected unless the bypass label ('guardian:accept-breaking') is present.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| base_sha | Base commit SHA (the PR target branch tip). | yes | — |
| head_sha | Head commit SHA (the PR head). | yes | — |
| spec_path | Path to the OpenAPI spec inside the repo (JSON). | yes | — |
| kind | Contract kind: 'openapi' or 'proto'. | no | openapi |
| accept_breaking | Set to 'true' (typically when the 'guardian:accept-breaking' label is present on the PR) to suppress the non-zero exit on breaking changes. | no | false |
| ruleset | Optional path to a custom rules YAML. | no | "" |
| python_version | Python version to set up. | no | 3.11 |
Outputs
| name | description |
|---|---|
| conclusion | One of 'success', 'failure' — derived from the diff verdict. |
| breaking | Number of breaking changes detected. |
| report_path | Filesystem path to the persisted ChangeReport JSON. |