From 2dc4c1ba68aae08691e56d779e8726b574dd302a Mon Sep 17 00:00:00 2001 From: John Sirois Date: Wed, 14 Dec 2022 14:18:38 -0800 Subject: [PATCH] Document the release tag back-fill script. (#17808) --- .../Contributions/releases/release-process.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/docs/markdown/Contributions/releases/release-process.md b/docs/markdown/Contributions/releases/release-process.md index 509ef0af06e..c0711d8b4d1 100644 --- a/docs/markdown/Contributions/releases/release-process.md +++ b/docs/markdown/Contributions/releases/release-process.md @@ -341,3 +341,36 @@ For the first stable release in the series, first, write a blog post to summariz > Mario Rozell > > _(For more information on how Pants is released, please see the [release strategy](https://www.pantsbuild.org/docs/release-strategy) page.)_ + +When Things Go Wrong +-------------------- + +From time to time, a release will fail. It's a complex process. The first thing to do after you've +exhausted your knowledge and debugging skills or patience is to contact others. You might reach out +to the development or maintainers channels on Pantbuild Slack in the absence of other ideas about +whom to ask for help. + +Some issues are well known or well understood, and they are documented here. + +#### https://binaries.pantsbuild.com outage / missing wheels + +The https://binaries.pantsbuild.com site is an S3 bucket that houses Pantsbuild wheels generated in +CI and used as part of the release process. If there are missing wheels or the wheels can't be +fetched due to connectivity issues or an S3 outage, you'll learn about this through the release +script erroring out. The script is idempotent; so you can just run it again, potentially waiting +longer for wheels to be built in CI or outages to clear. + +When the release script finishes, it creates and pushes a release tag. This will trigger a [release +GitHub workflow](https://github.com/pantsbuild/pants/blob/main/.github/workflows/release.yaml) that +could ~silently error later if there were to be an S3 outage. This job currently is responsible for +pushing a file mapping the release tag to the commit it tags out to +`https://binaries.pantsbuild.com/tags/pantsbuild.pants/`. If the tag is missing, it should be +fixed by running the following in an environment where you have both `AWS_ACCESS_KEY_ID` and +`AWS_SECRET_ACCESS_KEY` of an account that has permissions to push to the Pantsbuild S3 bucket: +``` +./pants run build-support/bin/backfill_s3_release_tag_mappings.py -- \ + --aws-cli-symlink-path $HOME/bin +``` +If this sounds mysterious or new to you, you probably don't have such an account and should ask for +help from other maintainers. You may want to adjust the `--aws-cli-symlink-path` to your liking as +well, consult `--help` for more information. \ No newline at end of file