Skip to content

Repository files navigation

Central Contract Repository for the Order API

What is Central Contract Repository?

Please see Documentation


This repository serves as the Central Contract Repository for the following API Specifications / Contracts

  • OpenAPI
  • GraphQL
  • gRPC
  • Async API

These contracts govern interactions between sample applications which you can find here

Backward Compatibility Testing

Backward compatibility between API specifications is now automatically checked using our GitHub Actions workflow. This ensures that changes in your branch are compatible with the main branch before merging.

How it works:

  1. When you push changes to a branch or create a pull request targeting the main branch, the CI workflow is triggered.
  2. The workflow identifies changed API specification files (YAML, JSON, and GraphQL).
  3. For changed OpenAPI specifications, it runs a backward compatibility check using the Specmatic.
  4. For changed GraphQL schemas, it performs a similar check using the Specmatic GraphQL.

Linting

Below is the instruction to run the OpenAPI linter on your local machine.

 docker run --rm \
  -v "$(pwd):/usr/src/app" \
  -v "$HOME/.specmatic:/root/.specmatic:ro" \
  -w /usr/src/app \
  specmatic/enterprise \
  lint 'io/specmatic/examples/store/openapi/*.yaml'

This runs Specmatic Linter on all OpenAPI specs under io/**/openapi using the recommended ruleset from specmatic-linter.yaml.

About

Contracts for sample projects that use Specmatic to do contract driven development

Topics

Resources

Stars

6 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages