You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by "Xuanwo (via GitHub)" <gi...@apache.org> on 2023/06/06 07:55:45 UTC

[GitHub] [incubator-opendal] Xuanwo commented on a diff in pull request #2425: docs: Add release guide

Xuanwo commented on code in PR #2425:
URL: https://github.com/apache/incubator-opendal/pull/2425#discussion_r1219120953


##########
website/docs/contributing/release.md:
##########
@@ -0,0 +1,372 @@
+---
+title: Release
+sidebar_position: 1
+---
+
+This document mainly introduces how the Release Manager releases a new version in accordance with the Apache requirements.
+
+## Introduction
+
+Source Release is the key point which Apache values, also, is necessary for a release. And OpenDAL will only have source release.
+
+Please remember that publishing software has legal consequences. This guide complements the foundation-wide policies and guides:
+
+- [Release Policy](https://www.apache.org/legal/release-policy.html)
+- [Release Distribution Policy](https://infra.apache.org/release-distribution)
+- [Release Creation Process](https://infra.apache.org/release-publishing.html)
+
+## Preparation
+
+:::caution
+
+This section is the requirements for release manager who is the first time to be a release manager
+
+:::
+
+Refer to [Setup GPG Key](reference/setup_gpg.md) to make sure GPG key has been setup.
+
+## Github Release
+
+### Bump Version
+
+OpenDAL will release all package in the same version.
+
+- Bump version in `Cargo.toml`
+- For nodejs binding, bump version in `bindings/nodejs/npm/*/package.json`
+- For java binding, bump version in `bindings/java/pom.xml`
+- Update `CHANGELOG.md`, refer to [Generate Release Note](reference/generate_release_note.md) for more information.
+- If there are breaking changes in `core`, please also update `core/src/docs/upgrade.md`
+- After all those changes, submit a PR with name `Bump to version x.y.z`
+
+Take [Bump to version 0.36.1](https://github.com/apache/incubator-opendal/pull/2401) as an example.
+
+### Create Github Release
+
+After bump version PR get merged, we can create a github release:
+
+- Create a tag at `main` branch on the `Bump Version` commit: `git tag -s "v0.36.1"`
+- Push tags to Github: `git push --tags`.
+- Create Release on the newly created tag
+  - If there are breaking changes, please add the content from `upgrade.md` before.
+
+## ASF Release
+
+If any step in the ASF Release process fails and requires code changes, we will abandon that version and prepare for the next one. Our release page will only display ASF releases instead of Github Releases.
+
+### Create ASF Release
+
+After Github Release has been created, we can start to create ASF Release.
+
+- Checkout to released tag.
+- Use release script to create a new release: `OPENDAL_VERSION=<version> OPENDAL_VERSION_RC=<rc_version> ./scripts/release.sh`
+- Push the newly created branch to github
+
+This script will create a new release under `dist`.
+
+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
+```
+
+### Upload artifacts to SVN dist repo
+
+:::info
+
+SVN is required for this step.
+
+:::
+
+The svn repository of the dev branch is: https://dist.apache.org/repos/dist/dev/incubator/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
+```
+
+Then, upload the artifacts:
+
+> The `${release_version}` here should be like `0.36.0-rc1`
+
+```shell
+cd opendal-dist-dev
+# create a directory named by version
+mkdir ${release_version}
+# copy source code and signature package to the versioned directory
+cp ${repo_dir}/dist/* ${release_version}/
+# check svn status
+svn status
+# add to svn
+svn add ${release_version}
+# check svn status
+svn status
+# commit to SVN remote server
+svn commit -m "Prepare for ${release_version}"
+```
+
+Visit <https://dist.apache.org/repos/dist/dev/incubator/opendal/> to make sure the artifacts is uploaded correctly.
+
+## Voting
+
+As an incubating project, OpenDAL requires votes from both the OpenDAL Community and Incubator Community.
+
+> opendal_version: the version for opendal, like `0.36.0`
+> release_version: the version for voting, like `0.36.0-rc1`
+
+### OpenDAL Community Vote
+
+OpenDAL Community Vote should send email to: <de...@opendal.apache.org>:
+
+Title:
+
+```
+[VOTE] Release Apache OpenDAL(incubating) ${release_version} - OpenDAL Vote Round 1
+```
+
+Content:
+
+```
+Hello, Apache OpenDAL(incubating) Community,
+
+This is a call for a vote to release Apache OpenDAL(incubating) 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}/
+
+Keys to verify the release candidate:
+
+https://downloads.apache.org/incubator/opendal/KEYS
+
+Git branch for the release:
+
+https://github.com/apache/incubator-opendal/tree/release-${release_version}
+
+Please download, verify, and test.
+
+The VOTE will pass after got 3 binding approve.
+
+[ ] +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
+
+Thanks
+
+${name}
+```
+
+Example: <https://lists.apache.org/thread/c211gqq2yl15jbxqk4rcnq1bdqltjm5l>
+
+After at least 3 +1 binding vote (from OpenDAL Podling PMC member and committers) and no veto, claim the vote result:
+
+Title:
+
+```
+[Result][VOTE] Release Apache OpenDAL(incubating) ${release_version} - OpenDAL Vote Round 1
+```
+
+Content:
+
+```
+Hello, Apache OpenDAL(incubating) Community,
+
+The vote to release Apache OpenDAL(Incubating) ${release_version} has passed.
+
+The vote PASSED with 3 binding +1 and 0 -1 vote:
+
+Binding votes:
+
+- Xuanwo (binding)
+- Sundyli (binding)
+- Chojan Shang (binding)

Review Comment:
   fixed.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org