liveBook · Manning

Contract compatibility matrix

As explained in Contract Testing in Action

A contract compatibility matrix is a table showing contract-verification results between consumer and provider versions.

A contract compatibility matrix is a table of verification results connecting consumer contract versions with provider versions. It shows which combinations are safe to deploy and which still need verification, giving teams a shared view of compatibility before release. section 9.1.1

The matrix records several contract states:

Checking a production deployment

If provider version 42 is deployed to production, the matrix can show consumer version 13 as passed and consumer version 14 as failed. The can-i-deploy command uses these entries to allow version 13 and block version 14. Teams can add separate consumer and provider checks to their CI workflow before merging or deploying. section 10.2.5

Figure 9.5 Pact Broker matrix showing the history of consumer and provider versions with verification status
figure

Browse the matrix history to compare consumer and provider versions alongside their verification status. section 9.1.1

How Contract Testing in Action covers it

How deep it goes
Explains version-pair statuses and deployment queries, then stops short of detailing the underlying verification implementation.
Examples
Uses consumer versions 1.0.0, 1.0.1, and 1.0.2 with provider version 1.0.0, plus production provider 42 and consumers 13 and 14.
What it assumes
Assumes published contracts, identifiable application versions, and verification results recorded for consumer-provider pairs.
What you can do after
Operate Pact Broker and can-i-deploy checks to determine whether consumer or provider versions are safe to deploy.
How it connects
Connects Pact Broker with contract testing, consumer and provider versions, CI/CD pipelines, environments, and backward compatibility.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Contract Testing in Action. The section links point to the parts of the book it draws on.