Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 15 additions & 4 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,17 @@ CI does not run on every push to `main` or on release tags. Complete the local r
4. **Release tools**: Install Git, GPG, SVN, `unzip`, and the tools required by `cargo x lint`.
5. **Clean checkout**: Start from a current checkout of `main` with no local changes.

## Public communication checkpoints

The release manager is responsible for the `[VOTE]`, `[CANCEL][VOTE]`, `[RESULT][VOTE]`, and `[ANNOUNCE]` messages. For each message:

1. Populate the documented template from verified release state.
2. Review the recipients, subject, version, links, and any deadline or vote tally.
3. Send the message from the release manager's Apache email account.
4. Record the resulting mailing-list thread URL in the release tracking issue.

A prepared draft does not complete a communication step; the sent message and its mailing-list thread are the evidence of completion.

## Step 1: Prepare the release on `main`

Create a release-preparation pull request that:
Expand Down Expand Up @@ -341,7 +352,7 @@ The commands verify both that `signing_key_fingerprint` is present in `KEYS` and

## Step 6: Send the release vote

Send the vote to `dev@datasketches.apache.org`.
Prepare and review the vote using the verified candidate details and the template below. The release manager sends it to `dev@datasketches.apache.org` and records the mailing-list thread URL in the release tracking issue.

**Subject:** `[VOTE] Release Apache DataSketches Rust ${release_version} (RC${rc_number})`

Expand Down Expand Up @@ -416,7 +427,7 @@ A release requires at least three explicit binding `+1` votes from PMC members a

### If the vote is cancelled

1. Send a `[CANCEL][VOTE]` message with the reason.
1. The release manager sends a `[CANCEL][VOTE]` message with the reason and records its mailing-list thread URL.
2. Confirm and remove the failed candidate from `dist/dev`:

```bash
Expand All @@ -431,7 +442,7 @@ A release requires at least three explicit binding `+1` votes from PMC members a

## Step 7: Publish an approved release

Send a `[RESULT][VOTE]` message that lists the binding and non-binding vote totals.
After the voting period closes and the vote requirements are met, prepare a `[RESULT][VOTE]` message that lists the binding and non-binding vote totals. The release manager reviews and sends it, then records the mailing-list thread URL.

Move the exact approved artifacts from `dist/dev` to `dist/release` without rebuilding or renaming them:

Expand Down Expand Up @@ -501,7 +512,7 @@ cargo info "datasketches@$release_version"

4. Review the generated `_includes/downloadsInclude.txt`, submit the website change, and verify the download, signature, checksum, and `KEYS` links after it is published.
5. Wait at least one hour after the release first appears on `downloads.apache.org` before announcing it.
6. Send a plain-text announcement from an `@apache.org` address to `dev@datasketches.apache.org` and `announce@apache.org`. Include a short project description and links to the project download page, changelog, crates.io, and docs.rs.
6. Prepare and review a plain-text announcement with a short project description and links to the project download page, changelog, crates.io, and docs.rs. The release manager sends it to `dev@datasketches.apache.org` and `announce@apache.org`, then records the mailing-list thread URLs.
7. Submit a post-release pull request that adds the actual release date to the `v${release_version}` changelog heading, then close the release tracking issue.

## Troubleshooting
Expand Down