Skip to content
Merged
Show file tree
Hide file tree
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
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: <dev@opendal.apa
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: <dev@opendal.apache.org>:
Vote should send email to: <dev@opendal.apache.org>:

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: <general@incubator.apache.org>:

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: dev@opendal.apache.org

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
```