Skip to content

Commit

Permalink
docs: Update release guide to adapt as a new TLP (#4011)
Browse files Browse the repository at this point in the history
Signed-off-by: Xuanwo <[email protected]>
Co-authored-by: tison <[email protected]>
  • Loading branch information
Xuanwo and tisonkun authored Jan 18, 2024
1 parent dcebef6 commit 33174bd
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 172 deletions.
4 changes: 2 additions & 2 deletions scripts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ OPENDAL_VERSION=0.30.2 OPENDAL_VERSION_RC=rc1 ./scripts/release.sh
## Check

```shell
./scripts/check.sh apache-opendal-incubating-0.33.3-src.tar.gz
./scripts/check.sh apache-opendal-0.33.3-src.tar.gz
```

> Before running the check, please ensure that you have completed the following preparations.
Expand All @@ -26,7 +26,7 @@ OPENDAL_VERSION=0.30.2 OPENDAL_VERSION_RC=rc1 ./scripts/release.sh
Import gpg key

```shell
curl https://downloads.apache.org/incubator/opendal/KEYS > KEYS # Download KEYS
curl https://downloads.apache.org/opendal/KEYS > KEYS # Download KEYS
gpg --import KEYS # Import KEYS to local
```

Expand Down
207 changes: 37 additions & 170 deletions website/community/committers/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,19 @@ Start a discussion about the next release via sending email to: <[email protected]
Title:

```
[DISCUSS] Release Apache OpenDAL(incubating) ${release_version}
[DISCUSS] Release Apache OpenDAL ${release_version}
```

Content:

```
Hello, Apache OpenDAL(incubating) Community,
Hello, Apache OpenDAL Community,
This is a call for a discussion to release Apache OpenDAL(incubating) version ${opendal_version}.
This is a call for a discussion to release Apache OpenDAL version ${opendal_version}.
The change lists about this release:
https://github.com/apache/incubator-opendal/compare/v${opendal_last_version}...main
https://github.com/apache/opendal/compare/v${opendal_last_version}...main
Please leave your comments here about this release plan. We will bump the version in the repo and start the release process after the discussion.
Expand Down Expand Up @@ -111,7 +111,6 @@ This issue is used to track tasks of the opendal ${opendal_version} release.
### Voting

- [ ] Start VOTE at opendal community
- [ ] Start VOTE at incubator community

### Official Release

Expand Down Expand Up @@ -183,9 +182,9 @@ After GitHub Release has been created, we can start to create ASF Release.
- This script will do the following things:
- Create a new branch named by `release-${release_version}` from the tag
- Generate the release candidate artifacts under `dist`, including:
- `apache-opendal-incubating-${release_version}-src.tar.gz`
- `apache-opendal-incubating-${release_version}-src.tar.gz.asc`
- `apache-opendal-incubating-${release_version}-src.tar.gz.sha512`
- `apache-opendal-${release_version}-src.tar.gz`
- `apache-opendal-${release_version}-src.tar.gz.asc`
- `apache-opendal-${release_version}-src.tar.gz.sha512`
- Check the header of the source code. This step needs docker to run.
- Push the newly created branch to GitHub

Expand All @@ -196,9 +195,9 @@ For example:
```shell
> tree dist
dist
├── apache-opendal-incubating-0.36.0-src.tar.gz
├── apache-opendal-incubating-0.36.0-src.tar.gz.asc
└── apache-opendal-incubating-0.36.0-src.tar.gz.sha512
├── apache-opendal-0.36.0-src.tar.gz
├── apache-opendal-0.36.0-src.tar.gz.asc
└── apache-opendal-0.36.0-src.tar.gz.sha512
```

### Upload artifacts to the SVN dist repo
Expand All @@ -209,13 +208,13 @@ SVN is required for this step.

:::

The svn repository of the dev branch is: <https://dist.apache.org/repos/dist/dev/incubator/opendal>
The svn repository of the dev branch is: <https://dist.apache.org/repos/dist/dev/opendal>

First, checkout OpenDAL to local directory:

```shell
# As this step will copy all the versions, it will take some time. If the network is broken, please use svn cleanup to delete the lock before re-execute it.
svn co https://dist.apache.org/repos/dist/dev/incubator/opendal opendal-dist-dev
svn co https://dist.apache.org/repos/dist/dev/opendal opendal-dist-dev
```

Then, upload the artifacts:
Expand All @@ -238,7 +237,7 @@ svn status
svn commit -m "Prepare for ${release_version}"
```

Visit <https://dist.apache.org/repos/dist/dev/incubator/opendal/> to make sure the artifacts are uploaded correctly.
Visit <https://dist.apache.org/repos/dist/dev/opendal/> to make sure the artifacts are uploaded correctly.

### Close the Nexus staging repo

Expand All @@ -265,38 +264,36 @@ Additionally, you should also drop the staging Maven artifacts on https://reposi

## Voting

As an incubating project, OpenDAL requires votes from both the OpenDAL Community and Incubator Community.
OpenDAL requires votes from both the OpenDAL Community.

### OpenDAL Community Vote

OpenDAL Community Vote should send email to: <[email protected]>:
Vote should send email to: <[email protected]>:

Title:

```
[VOTE] Release Apache OpenDAL(incubating) ${release_version} - OpenDAL Vote Round 1
[VOTE] Release Apache OpenDAL ${release_version} - Vote Round 1
```

Content:

```
Hello, Apache OpenDAL(incubating) Community,
Hello, Apache OpenDAL Community,
This is a call for a vote to release Apache OpenDAL(incubating) version ${opendal_version}.
This is a call for a vote to release Apache OpenDAL version ${opendal_version}.
The tag to be voted on is ${opendal_version}.
The release candidate:
https://dist.apache.org/repos/dist/dev/incubator/opendal/${release_version}/
https://dist.apache.org/repos/dist/dev/opendal/${release_version}/
Keys to verify the release candidate:
https://downloads.apache.org/incubator/opendal/KEYS
https://downloads.apache.org/opendal/KEYS
Git tag for the release:
https://github.com/apache/incubator-opendal/releases/tag/${release_version}
https://github.com/apache/opendal/releases/tag/${release_version}
Maven staging repo:
Expand All @@ -323,10 +320,10 @@ Checklist for reference:
[ ] Can compile from source
More detailed checklist please refer to:
https://github.com/apache/incubator-opendal/tree/main/scripts
https://github.com/apache/opendal/tree/main/scripts
To compile from source, please refer to:
https://github.com/apache/incubator-opendal/blob/main/CONTRIBUTING.md
https://github.com/apache/opendal/blob/main/CONTRIBUTING.md
Here is a Python script in release to help you verify the release candidate:
Expand All @@ -344,15 +341,15 @@ After at least 3 `+1` binding vote ([from OpenDAL Podling PMC member](https://op
Title:

```
[RESULT][VOTE] Release Apache OpenDAL(incubating) ${release_version} - OpenDAL Vote Round 1
[RESULT][VOTE] Release Apache OpenDAL ${release_version} - Vote Round 1
```

Content:

```
Hello, Apache OpenDAL(incubating) Community,
Hello, Apache OpenDAL Community,
The vote to release Apache OpenDAL(Incubating) ${release_version} has passed.
The vote to release Apache OpenDAL ${release_version} has passed.
The vote PASSED with 3 +1 binding and 1 +1 non-binding votes, no +0 or -1 votes:
Expand All @@ -375,124 +372,6 @@ ${name}

Example: <https://lists.apache.org/thread/xk5myl10mztcfotn59oo59s4ckvojds6>

### Incubator Community Vote

Incubator Community Vote should send email to: <[email protected]>:

Title:

```
[VOTE] Release Apache OpenDAL(incubating) ${release_version} - Incubator Vote Round 1
```

Content:

```
Hello Incubator PMC,
The Apache OpenDAL community has voted and approved the release of Apache
OpenDAL(incubating) ${release_version}. We now kindly request the IPMC members
review and vote for this release.
OpenDAL is a data access layer that allows users to easily and efficiently
retrieve data from various storage services in a unified way.
OpenDAL community vote thread:
${community_vote_thread_url}
Vote result thread:
${community_vote_result_thread_url}
The release candidate:
https://dist.apache.org/repos/dist/dev/incubator/opendal/${release_version}/
This release has been signed with a PGP available here:
https://downloads.apache.org/incubator/opendal/KEYS
Git tag for the release:
https://github.com/apache/incubator-opendal/releases/tag/${release_version}
Maven staging repo:
https://repository.apache.org/content/repositories/orgapacheopendal-${maven_artifact_number}/
Please download, verify, and test.
The VOTE will be open for at least 72 hours and until the necessary
number of votes are reached.
[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove with the reason
To learn more about apache opendal, please see https://opendal.apache.org/
Checklist for reference:
[ ] Download links are valid.
[ ] Checksums and signatures.
[ ] LICENSE/NOTICE files exist
[ ] No unexpected binary files
[ ] All source files have ASF headers
[ ] Can compile from source
More detailed checklist please refer to:
https://github.com/apache/incubator-opendal/tree/main/scripts
To compile from source, please refer to:
https://github.com/apache/incubator-opendal/blob/main/CONTRIBUTING.md
Here is python script in release to help you verify the release candidate:
./scripts/verify.py
Thanks
${name}
```

Example: <https://lists.apache.org/thread/sjdzs89p2x4tlb813ow7lhdhdfcvhysx>

After at least 72 hours with at least 3 +1 binding vote (from Incubator PMC member) and no veto, claim the vote result:

Title:

```
[RESULT][VOTE] Release Apache OpenDAL(incubating) ${release_version} - Incubator Vote Round 1
```

Content:

```
Hi Incubator PMC,
The vote to release Apache OpenDAL(incubating) ${release_version} has passed with
4 +1 binding and 3 +1 non-binding votes, no +0 or -1 votes.
Binding votes:
- xxx
- yyy
- zzz
Non-Binding votes:
- aaa
Vote thread: ${incubator_vote_thread_url}
Thanks for reviewing and voting for our release candidate.
We will proceed with publishing the approved artifacts and sending out the announcement soon.
```

Example: <https://lists.apache.org/thread/h3x9pq1djpg76q3ojpqmdr3d0o03fld1>

## Official Release

### Push the release git tag
Expand All @@ -509,16 +388,16 @@ git push origin ${opendal_version}
### Publish artifacts to SVN RELEASE branch

```shell
svn mv https://dist.apache.org/repos/dist/dev/incubator/opendal/${release_version} https://dist.apache.org/repos/dist/release/incubator/opendal/${opendal_version} -m "Release ${opendal_version}"
svn mv https://dist.apache.org/repos/dist/dev/opendal/${release_version} https://dist.apache.org/repos/dist/release/opendal/${opendal_version} -m "Release ${opendal_version}"
```

### Change OpenDAL Website download link

Change the [download](https://github.com/apache/incubator-opendal/blob/main/website/src/pages/download.md) link in the website to the new release version.
Change the [download](https://github.com/apache/opendal/blob/main/website/src/pages/download.md) link in the website to the new release version.

Update the latest release link and add the new release link to the version list.

Take [Add 0.39.0 release link to download.md](https://github.com/apache/incubator-opendal/pull/2882) as an example.
Take [Add 0.39.0 release link to download.md](https://github.com/apache/opendal/pull/2882) as an example.

### Release Maven artifacts

Expand All @@ -535,7 +414,7 @@ If the vote failed, click "Drop" to drop the staging Maven artifacts.

### Create a GitHub Release

- Click [here](https://github.com/apache/incubator-opendal/releases/new) to create a new release.
- Click [here](https://github.com/apache/opendal/releases/new) to create a new release.
- Pick the git tag of this release version from the dropdown menu.
- Make sure the branch target is `main`.
- Generate the release note by clicking the `Generate release notes` button.
Expand All @@ -551,16 +430,16 @@ Instead of adding breaking changes, let's include the new features as "notable c
Title:

```
[ANNOUNCE] Release Apache OpenDAL(incubating) ${opendal_version}
[ANNOUNCE] Release Apache OpenDAL ${opendal_version}
```

Content:

```
Hi all,
The Apache OpenDAL(incubating) community is pleased to announce
that Apache OpenDAL(incubating) ${opendal_version} has been released!
The Apache OpenDAL community is pleased to announce
that Apache OpenDAL ${opendal_version} has been released!
OpenDAL is a data access layer that allows users to easily and efficiently
retrieve data from various storage services in a unified way.
Expand All @@ -571,30 +450,18 @@ The notable changes since ${opendal_version} include:
3. zzzzzz
Please refer to the change log for the complete list of changes:
https://github.com/apache/incubator-opendal/releases/tag/v${opendal_version}
https://github.com/apache/opendal/releases/tag/v${opendal_version}
Apache OpenDAL website: https://opendal.apache.org/
Download Links: https://opendal.apache.org/download
OpenDAL Resources:
- Issue: https://github.com/apache/incubator-opendal/issues
- Issue: https://github.com/apache/opendal/issues
- Mailing list: [email protected]
Thanks
On behalf of Apache OpenDAL community
---
Apache OpenDAL (incubating) is an effort undergoing incubation at the Apache
Software Foundation (ASF), sponsored by the Apache Incubator PMC.
Incubation is required of all newly accepted projects until a further review
indicates that the infrastructure, communications, and decision making process
have stabilized in a manner consistent with other successful ASF projects.
While incubation status is not necessarily a reflection of the completeness
or stability of the code, it does indicate that the project has yet to be
fully endorsed by the ASF.
```

Example: <https://lists.apache.org/thread/oy77n55brvk72tnlb2bjzfs9nz3cfd0s>
Expand All @@ -611,7 +478,7 @@ To clean up old releases, run:

```shell
# 1. Get the list of releases
svn ls https://dist.apache.org/repos/dist/release/incubator/opendal
svn ls https://dist.apache.org/repos/dist/release/opendal
# 2. Delete each release (except for the last one)
svn del -m "Archiving OpenDAL release X.Y.Z" https://dist.apache.org/repos/dist/release/incubator/opendal/X.Y.Z
svn del -m "Archiving OpenDAL release X.Y.Z" https://dist.apache.org/repos/dist/release/opendal/X.Y.Z
```

0 comments on commit 33174bd

Please sign in to comment.