World map

 

BM: Baca dalam Bahasa Melayu

World 6: Team Workflows

Release and hotfix drills

You will learn: the calm steps to ship a release, and to fix a live bug fast.

The problem

The live version 2.4.0 has three commits. The newest, Add card payment, glows and wobbles.

Friday, 5 pm. Version 2.4.0 is live. Customers tap Pay, and nothing happens. How do you fix it fast, without panic?

Watch

Tap each point on the timeline.

First, the calm part. A release is a version you ship to users. Good teams follow the same short drill every time.

Try it

Build the command that tags this release.

Tap the pieces in the right order.

…

Watch

A hotfix branch starts at v2.4.0. One commit, fix: pay button works again, appears on it. Then it slides into main.

Now the fast part. A hotfix: A small, urgent fix for code that is already live. is a small, urgent fix for live code. Branch from the live version. Fix only the bug.

Try it

Put the hotfix drill in order.

First step at the top. Put these in order. Use the arrows, or drag.

  • Merge, tag v2.4.1 and deploy
  • Branch from the live version
  • Write down what went wrong, without blame
  • Check the bug and how bad it is
  • Open a PR for a quick review
  • Fix it and add a test

Try it

You made hotfix/pay-button from the v2.4.0 tag. The fix in pay.js is ready. Commit it with a fix: label.

Working folder
Staging area
  • Empty
Repository
  • 3 save points
  • feat: add card payment
  • feat: add cart
  • feat: add menu page
bd259ae39883bb93576d3

Predict

2.4.0 is live. You ship this hotfix. What is the new version?

Pick one answer.

Check

Hotfix now, or wait for the next release?

Drag a card into a box. Or tap the card, then tap the box.

      You did it!

      You can now run a calm release and a fast hotfix.

      Go deeper (optional)

      In Git Flow, merge the hotfix into develop too. If not, the bug comes back next release. Trunk-based teams fix main first. Then they copy the fix to the release branch with git cherry-pick. On GitHub, a Release adds notes to a tag. GitHub can draft those notes for you.