Skip to content

A tool to resolve compatible versions of the Dolittle Runtime and SDKs

License

Notifications You must be signed in to change notification settings

dolittle/contracts-compatibility

Repository files navigation

Dolittle Contracts Compatibility tool

The contracts-compatibility checks what versions of the Dolittle Runtime and SDKs that are compatible with each other. And can generate a Markdown table or a JSON structure. Currently, the tool checks the DotNet SDK and the JavaScript SDK. It was built to generate the compatibility table on dolittle.io, and for other internal uses.

Usage:

$ contracts-compatibility -h
Contracts Compatibility a tool to resolve compatible versions of the Dolittle Runtime and SDKs
Usage:
  -h    Print help information
  -o string
        Output format [markdown,json] (default "markdown")

Running the tool fetches all currently released versions from the public repositories, and resolves the compatible versions.

Warning: for the Runtime, the tool fetches the Docker manifests from Docker Hub without authentication. Since there are quite a few released versions, this quickly eats into your IPs rate limits. So be careful about running it a lot of times. Read more on the Docker Hub rate limit documentation.

How to run it

The tool is released as a Docker image on dolittle/contracts-compatibility, so the simplest way to get started is to run:

$ docker run dolittle/contracts-compatibility

If you want to try it from source (you need Go 1.18 or greater), in the repository root, run:

$ go run .