liveBook · Manning

Release

As explained in Contract Testing in Action

A release is a software version designated as available or officially delivered, independently of whether it is currently deployed.

When mobile users update at different times, several app versions may remain in use. A release records a version as available in an environment without removing earlier released versions. section 10.2.4

In Pact, release recording differs from deployment recording:

  • A released version leaves previous versions marked as released, supporting mobile applications whose users run different versions. section 10.2.4
  • A deployed version replaces the previous deployed status, fitting APIs and web applications where one code version is used. section 10.2.4
  • Recording the release after delivery lets Pact track which versions are available in an environment and supports deployed-or-released version selection. section 10.5

Recording a mobile release

After publishing MoviesAndroidApp to production, record its version with `pact-broker record-release --pacticipant MoviesAndroidApp --version $GITHUB_SHA --environment production`. Earlier released versions remain recorded, allowing Pact to represent the mobile application's version spread.

pact-broker record-release 
--pacticipant MoviesAndroidApp 
--version $GITHUB_SHA 
--environment production

Use the command listing to adapt release recording to a participant, version identifier, and target environment. section 10.2.4

How Contract Testing in Action covers it

How deep it goes
Distinguishes releases from deployments, demonstrates a broker command, and connects recording with environment-aware version selection.
Examples
Uses a MoviesAndroidApp production command, PactFlow integration records, and GraphQL deployment exercises.
What it assumes
Assumes familiarity with Pact participants, versions, environments, contract tests, and CI/CD workflow configuration.
What you can do after
Operate/configure Pact release recording with a participant, version identifier, and environment.
How it connects
Connects releases with Pact, contract testing, versioning, branches, environments, deployments, and can-i-deploy checks.

Also explained in

Compare how 4 books explain release →

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.