This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
The following commit(s) were added to refs/heads/main by this push:
new 29db37227 docs: auto relaese maven artifacts (#2729)
29db37227 is described below
commit 29db37227fbea017ebc571c25027fd08a3bddeaa
Author: tison <[email protected]>
AuthorDate: Wed Aug 23 23:24:47 2023 +0800
docs: auto relaese maven artifacts (#2729)
* ci: enable auto release maven artifacts
Signed-off-by: tison <[email protected]>
* docs: tell how we do auto relase
Signed-off-by: tison <[email protected]>
* keep disable workflow until we are granted with the secret
Signed-off-by: tison <[email protected]>
* tag with rc suffix and then later promote
Signed-off-by: tison <[email protected]>
* fix typo
Signed-off-by: tison <[email protected]>
* add verify sentences
Signed-off-by: tison <[email protected]>
---------
Signed-off-by: tison <[email protected]>
---
website/docs/contributing/release.md | 61 ++++++++++++++++++++++++++++++------
website/docs/contributing/verify.md | 12 +++++++
2 files changed, 63 insertions(+), 10 deletions(-)
diff --git a/website/docs/contributing/release.md
b/website/docs/contributing/release.md
index 6ca704be8..c13901423 100644
--- a/website/docs/contributing/release.md
+++ b/website/docs/contributing/release.md
@@ -8,7 +8,7 @@ how the release manager releases a new version in accordance
with the Apache req
## Introduction
-`Source Release` is the key point which Apache values, also, is necessary for
a release. And OpenDAL will only have source release.
+`Source Release` is the key point which Apache values, and is also necessary
for an ASF release.
Please remember that publishing software has legal consequences.
@@ -22,7 +22,7 @@ This guide complements the foundation-wide policies and
guides:
:::caution
-This section is the requirements for the release manager who is the first time
to be a release manager
+This section is the requirements for the release manager who is the first time
to be a release manager.
:::
@@ -47,20 +47,26 @@ Take [Bump to version
0.36.0](https://github.com/apache/incubator-opendal/pull/2
After bump version PR gets merged, we can create a GitHub release:
-- Create a tag at `main` branch on the `Bump Version` / `Patch up version`
commit: `git tag -s "v0.36.0"`, please correctly check out the corresponding
commit instead of directly tagging on the main branch.
+- Create a tag at `main` branch on the `Bump Version` / `Patch up version`
commit: `git tag -s "v0.36.0-rc1"`, please correctly check out the
corresponding commit instead of directly tagging on the main branch.
- 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.
+:::note
+
+Pushing a Git tag to GitHub repo will trigger a GitHub Actions workflow that
creates a staging Maven release on https://repository.apache.org which can be
verified on voting.
+
+:::
+
## 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.
-> - `opendal_version`: the version for opendal, like `0.36.0`.
-> - `release_version`: the version for voting, like `0.36.0-rc1`.
-> - `rc_version`: the minor version for voting, like `rc1`.
+- `opendal_version`: the version for opendal, like `0.36.0`.
+- `release_version`: the version for voting, like `0.36.0-rc1`.
+- `rc_version`: the minor version for voting, like `rc1`.
### Create an ASF Release
@@ -130,8 +136,11 @@ please cancel the release for the current
`release_version`, _increase th RC cou
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_version`: the version for opendal, like `0.36.0`.
+- `release_version`: the version for voting, like `0.36.0-rc1`.
+- `maven_artifact_number`: the number for Maven staging artifacts, like `1010`.
+
+Specifically, the `maven_artifact_number` can be found by searching "opendal"
on https://repository.apache.org/#stagingRepositories.
### OpenDAL Community Vote
@@ -164,6 +173,9 @@ Git branch for the release:
https://github.com/apache/incubator-opendal/tree/release-${release_version}
+Maven staging repo:
+https://repository.apache.org/content/repositories/orgapacheopendal-${maven_artifact_number}/
+
Please download, verify, and test.
The VOTE will pass after got 3 binding approve.
@@ -270,6 +282,9 @@ Git branch for the release:
https://github.com/apache/incubator-opendal/tree/release-${release_version}
+Maven staging repo:
+https://repository.apache.org/content/repositories/orgapacheopendal-${maven_artifact_number}/
+
Please download, verify, and test.
The VOTE will pass after got 3 binding approve.
@@ -341,8 +356,8 @@ Example:
<https://lists.apache.org/thread/h3x9pq1djpg76q3ojpqmdr3d0o03fld1>
### Publish artifacts to SVN RELEASE branch
-> - `opendal_version`: the version for opendal, like `0.36.0`.
-> - `release_version`: the version for voting, like `0.36.0-rc1`.
+- `opendal_version`: the version for opendal, like `0.36.0`.
+- `release_version`: the version for voting, like `0.36.0-rc1`.
```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}"
@@ -353,6 +368,32 @@ Change the
[download](https://github.com/apache/incubator-opendal/blob/main/webs
Take [Add 0.39.0 release link to
download.md](https://github.com/apache/incubator-opendal/pull/2882) as an
example.
+### Push the release Git tag
+
+- `opendal_version`: the version for opendal, like `0.36.0`.
+- `release_version`: the version for the passed candidate, like `0.36.0-rc1`.
+
+Check out the passed release candidate, tag an alias and push.
+
+```shell
+git checkout ${release_version}
+git tag -s ${opendal_version}
+git push origin ${opendal_version}
+```
+
+### Release Maven artifacts
+
+- `maven_artifact_number`: the number for Maven staging artifacts, like `1010`.
+
+1. Open https://repository.apache.org/#stagingRepositories.
+2. Find the artifact `orgapacheopendal-${maven_artifact_number}`, click
"Close" and then "Release".
+
+:::caution
+
+If the vote failed, click "Drop" to drop the staging Maven artifacts.
+
+:::
+
### Send the announcement
Send the release announcement to `[email protected]` and CC
`[email protected]`.
diff --git a/website/docs/contributing/verify.md
b/website/docs/contributing/verify.md
index 6955e2452..611666f77 100644
--- a/website/docs/contributing/verify.md
+++ b/website/docs/contributing/verify.md
@@ -127,3 +127,15 @@ Unzip
`apache-opendal-${release_version}-${rc_version}-src.tar.gz` and check the
- LICENSE and NOTICE files are correct for the repository.
- All files have ASF license headers if necessary.
- Building is OK.
+
+## Check the Maven artifacts of opendal-java
+
+Download the artifacts from
`https://repository.apache.org/content/repositories/orgapacheopendal-${maven_artifact_number}/`.
+
+You can check the follows:
+
+- Checksum of JARs match the bundled checksum file.
+- Signature of JARs match the bundled signature file.
+- JARs is reproducible locally. This means you can build the JARs on your
machine and verify the checksum is the same with the bundled one.
+
+The reproduciblility requires the same JDK distribution and the same Maven
distribution. You should use [Eclipse Temurin JDK
8](https://adoptium.net/temurin/releases/?version=8) and the bundled Maven
Wrapper to make the same artifacts.