S3U
All video lessons

Science / Grade 9

Read release gates and recovery limits

Learning goal: Calculate test results, apply an all-pass policy and distinguish code rollback from restoring records.

Before you start: Add whole numbers, calculate a percentage and distinguish program code from stored records. Start with Ship a small change carefully if these release terms are new.

Read or print this lesson What to practice

Listen to this lesson instead

Next: your worksheet

Read a Release Gate

Continue to worksheet
Not started 0s active

Checking sign-in...

Read the transcript

Video transcript and practice. Reading or printing does not count as playback time or an assessed grade.

1. A build is only one check

Video: 0:00

Video illustration: A build is only one check. The spoken explanation follows.
A build is only one check: video illustration

A fictional team has built a package successfully. Is it ready to release? Its policy also requires every unit test and a staging smoke test to pass for that same package. Unit tests check selected small behaviors. A smoke test checks a few important paths in the staging environment. A successful build alone does not satisfy this policy.

2. Calculate, then read the policy

Video: 0:28

Video illustration: Calculate, then read the policy. The spoken explanation follows.
Calculate, then read the policy: video illustration

The report lists twelve passed tests and three failed tests. That is fifteen completed tests altogether. Twelve divided by fifteen, times one hundred, gives eighty percent passed. But this gate is not a majority vote. Three required tests failed, and the staging check has not run. A percentage summarizes results; it does not change the release policy.

3. The environment matters too

Video: 0:57

Video illustration: The environment matters too. The spoken explanation follows.
The environment matters too: video illustration

Staging is a separate environment used for checks before production. The correct package can still fail there because a required setting is missing. Check the selected paths in that environment and keep the package identity with the report. Passing results from an older package do not approve a newer one. Even all these checks cover only the cases they actually examine.

4. Code and data are different

Video: 1:25

Video illustration: Code and data are different. The spoken explanation follows.
Code and data are different: video illustration

Rollback means returning to an earlier version, but returning the program does not automatically undo database changes. Old code may not understand a new data format. In our separate backup example, Live has twelve records and an older backup has only the first eight. Replacing Live with that copy would lose four newer records. Rehearse recovery on an isolated copy; do not overwrite a real system.

5. Pause: inspect a new release

Video: 1:57

Video illustration: Pause: inspect a new release. The spoken explanation follows.
Pause: inspect a new release: video illustration

Try a new report for one current package. Build passed, nineteen unit tests passed, one failed, and staging passed. The policy still requires every check to pass. Pause and find the unit-test pass percentage, then decide whether the gate opens. Also explain what happens if the twelve Live records are replaced by an older copy containing only the first eight.

6. Check the gate and the recovery risk

Video: 2:25

Video illustration: Check the gate and the recovery risk. The spoken explanation follows.
Check the gate and the recovery risk: video illustration

Nineteen plus one is twenty. Nineteen out of twenty is ninety-five percent, but the failed required test keeps the gate closed. Fix and retest before release under this policy. Replacing twelve records with the first eight would discard four newer records. A high test percentage is not permission to release, and having a backup is not proof of a safe recovery.

7. A browser package is not a safe for secrets

Video: 2:53

Video illustration: A browser package is not a safe for secrets. The spoken explanation follows.
A browser package is not a safe for secrets: video illustration

Fun fact: a browser has to receive the code it runs, so putting a secret credential inside that code cannot make the credential private. Keep secrets in appropriately protected configuration, out of public files and logs. If a real credential was exposed, simply deleting its text is not enough; an authorized operator must revoke or rotate it. We use no real keys here.

8. Explain the release decision

Video: 3:22

Video illustration: Explain the release decision. The spoken explanation follows.
Explain the release decision: video illustration

Continue to the worksheet for a different report: eighteen passed unit tests, two failed, and staging not run. Recalculate from those numbers and explain the release decision. Keep the code-compatibility question separate from restoring records. You can then try the pretend recovery missions in Release Lab. These are paper and browser simulations, not permission to deploy or recover a real service.

Show your understanding

You can point, explain aloud, draw or write.

  • Calculate a test pass percentage and apply the stated all-pass gate to the current package and environment.
  • Explain why returning code does not automatically reverse data changes, and identify the newer records missing from an older backup.

Try it yourself

Pause at 19 passes and 1 failure. Calculate the percentage without replacing the stated all-pass policy with a majority vote.

Continue to the worksheet and use its different numbers. Explain data compatibility and newer-record loss separately; use only the pretend Release Lab activity.

Next: your worksheet

Read a Release Gate

https://s3u.com/sd990

Lesson: https://s3u.com/lessons/release-gates-and-recovery