Skip to content

Release Shepherd Rotation

Riley Karson edited this page May 10, 2023 · 19 revisions

The Release Shepherd is a 50% rotation that handles making the Terraform Provider Google (TPG) releases (https://github.com/hashicorp/terraform-provider-google/wiki/Release-Process) as well as maintaining test environments to ensure that merging contributions and making releases are as low-friction as possible.

The current schedule can be viewed in PagerDuty.

Once-per-week responsibilities

Monday morning

Tuesday midday

  • Check recently filed bugs for issues coming from the new release and flag them with the oncall. Evaluate whether a patch release is needed.
    • If the oncall has not picked up the issue, you should consider addressing it.

Wednesday midday

Daily responsibilities

  • Check nightly test runs for new issues that would block the next release or currently cut release and resolve them
    • For failures that will block cutting the next release, resolve them on main by fixing forward or rolling back changes as appropriate
    • For failures that will block the currently cut release from going out, evaluate cherrypicking them
  • Resolve (for services without service/ labels) or label (for services with service/ labels) failures in the nightly test results
    • If you're unable to resolve an issue, file a test-failure issue.
  • Check 2-3 recent PRs for unrelated or recurrent VCR failures and resolve them, filing a test-failure issue if you are unable to.
  • If other responsibilities have been addressed, find old bug or persistent-bug issues and resolve them.

FAQ

How long should I spend on this rotation?

As a 50% rotation, this should take around half of your time-at-desk. If you'll be unable to spend at least 8 hours on the responsibilities listed above, consider trading shifts with someone who will be able to. Conversely, if you're required to spend 16+ hours working on these responsibilities (outside of exceptional events like weeks where multiple patch releases are required), flag that with the team so that we can bring the time commitment back within expectations.

Who should handle patch releases for GCP outages?

Patch releases for current GCP outages are handled by the Google Oncall as defined in the incident response policy. However, if they determine that additional help is required, they may enlist the release shepherd to drive the patch.

If the oncall determines that a change doesn't need a patch but we will want to cherrypick it (for example, if there's a major outage on a Friday), the release shepherd will own cherrypicking it.

Clone this wiki locally