-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Release Shepherd Rotation
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.
- Run the release based on last week's shepherd's release cut: https://github.com/hashicorp/terraform-provider-google/wiki/Release-Process#on-monday
- 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.
- Cut the release for next week: https://github.com/hashicorp/terraform-provider-google/wiki/Release-Process#on-wednesday
- 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 withservice/
labels) failures in the nightly test results- If you're unable to resolve an issue, file a
test-failure
issue.
- If you're unable to resolve an issue, file a
- 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
orpersistent-bug
issues and resolve them.
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.
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 you 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.