Docs
Open Babbit

Guides

Land and release a change

A verified change still has to land and ship. Merge & release lands the spec first, then the code, and a failed smoke run rolls the whole release back. This guide covers both, and how to undo a release yourself.

Before you begin

  • The change's state card offers Merge & release. It appears only when every scenario the change touched has its evidence.
  • You need permission to approve the change. By default, owners and builders can. See Roles and permissions.

Merge and release

  1. Open the change's Proof tab and read it. This is your last look before production.
  2. Click Merge & release.
  3. In the dialog, check what the release will deploy, then confirm.

The button reads Merge instead when nothing in the change deploys, for example a change to the spec only. A Manage change offers Apply change, which applies the new rules or settings to your agents.

What happens after you confirm

Babbit merges the spec pull request first, then each code pull request in order, reading the check runs on each head before it merges. Then it cuts a release and moves it through preprod to prod, as described in How a release moves.

The change's Live step lights when production runs it and its smoke scenarios have passed. Each feature's tier lights move with it.

Read the release

From the change's Activity tab, open the release's details to see:

  • The commit of each repository the release ships.
  • Every change riding in the release, each with its own tier lights.
  • Where the release is: preprod, replaying, prod, shipped, held or rolled back.

A release waits for every change in it. If one change riding along was verified at a head that has since moved, or one of its edited scenarios was never verified, the release waits and doesn't promote. This isn't the held stage, which only the replay causes.

Approve a held release

A release is held when the preprod replay couldn't cover a call because prod recorded no answer for it. Babbit can't prove the release safe on its own, so it asks a person.

  1. Open the held change. The state card offers Promote.
  2. Read what the replay couldn't cover.
  3. Click Promote to send the release to production.

Only people allowed to promote to production see Promote. By default, that's owners. See Roles and permissions.

When a release rolls back

When a release fails at preprod or prod, Babbit rolls back every service of the release to its previous version; What stops a release lists the causes. The change is blocked and says why. You don't need to do anything to recover; production is on the last good release.

To try again, start a change that fixes the cause. It ships in a new release.

Undo a release that passed

To undo a change that shipped and turned out wrong:

  1. Open the change's Activity tab, and open its details.
  2. Click Revert beside its pull requests.

Or, from the feature's History, click Revert the PRs beside the latest version. Either way, the revert is a new change with its own pull requests, so it goes through verification and the tiers like any other.

If the land step stops

What you seeWhat it meansWhat to do
The change went back to verification.Main or a pull request head moved.Nothing. It lands after verification passes again.
The change went back to Code Writing with a conflict.Another change edited the same code.Nothing. Code Writing resolves the conflict.
Landed partialThe spec merged but a code pull request was refused.Click the button to revert the spec commit, then start the change again.