Skip to content

Commit

Permalink
Document the release tag back-fill script. (pantsbuild#17808)
Browse files Browse the repository at this point in the history
  • Loading branch information
jsirois authored Dec 14, 2022
1 parent 20b3710 commit 2dc4c1b
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions docs/markdown/Contributions/releases/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/<tag>`. 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.

0 comments on commit 2dc4c1b

Please sign in to comment.