This is an automated email from the ASF dual-hosted git repository. gaojun2048 pushed a commit to branch fix_release_doc in repository https://gitbox.apache.org/repos/asf/seatunnel-website.git
commit 5025486f9d3f3fca8a86e94b0c16939cd9f8843a Author: gaojun <[email protected]> AuthorDate: Tue Oct 10 10:52:10 2023 +0800 perfect release docment --- community/contribution_guide/release.md | 263 ++++++++++++++++++++++++++------ 1 file changed, 216 insertions(+), 47 deletions(-) diff --git a/community/contribution_guide/release.md b/community/contribution_guide/release.md index 26b19a9c81b..f8cc3c32a67 100644 --- a/community/contribution_guide/release.md +++ b/community/contribution_guide/release.md @@ -24,12 +24,12 @@ Use to clone project source code locally. ### Install GPG Used to generate a digital signature, leaving a trail of every action you take. Apache's maven and SVN repositories both use GPG signatures to verify the validity of files. -Download GnuPG binary releases from [the official GnuPG website](https://www.gnupg.org/download/index.html). +Download GnuPG binary releases from [the official GnuPG website](https://www.gnupg.org/download/index.html). Note: The commands of 1. x and 2. x versions of GnuPG are slightly different. The following description takes 2.2.28 as an example. After the installation, the GPG command is added to the system environment variable and is available. ```bash # Check the version, which should be 2. x -gpg --full-gen-key +gpg --version ``` ### Install SHASUM @@ -45,7 +45,7 @@ Used to compile the project. ### Configure GPG KEY #### Create the Key ```shell -gpg --full-gen-key +gpg --gen-key ``` ```bash gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc. @@ -137,7 +137,7 @@ The public key is sent to the keyserver using the key id. ```bash $ gpg --keyserver keyserver.ubuntu.com --send-key 0983DF85 ``` -keyserver.ubuntu.com specifies the selected keyserver. +keyserver.ubuntu.com specifies the selected keyserver. This is recommended because Apache Nexus uses this keyserver for verification. #### Verify that the key is uploaded properly @@ -148,11 +148,11 @@ You can use the following two methods to verify whether the key is uploaded prop gpg --keyserver keyserver.ubuntu.com --search-keys 0983DF85 ``` - Website verification -[OpenPGP Keyserver (ubuntu.com)](http://keyserver.ubuntu.com/) - - -Tips: This screenshot is the key that has been uploaded before. -It is normal that the key generated in the previous step is inconsistent with that in the previous step. + [OpenPGP Keyserver (ubuntu.com)](http://keyserver.ubuntu.com/) +  +  + Tips: This screenshot is the key that has been uploaded before. + It is normal that the key generated in the previous step is inconsistent with that in the previous step. ### Configure maven #### Create a master password @@ -215,6 +215,44 @@ git add release-note.md git commit -m "[Release][${RELEASE.VERSION}][release-note] Add release-note" git push ``` + +### Disable spotless check +```bash +vim pom.xml +``` + +Find maven-release-plugin and comment it out like this: + +```bash +<!-- disable spotless check during release --> +<!-- +<plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-release-plugin</artifactId> + <configuration> + <autoVersionSubmodules>true</autoVersionSubmodules> + <tagNameFormat>@{project.version}</tagNameFormat> + <tagBase>${project.version}</tagBase> + </configuration> + <dependencies> + <dependency> + <groupId>org.apache.maven.scm</groupId> + <artifactId>maven-scm-provider-jgit</artifactId> + <version>${maven-scm-provider-jgit.version}</version> + </dependency> + </dependencies> +</plugin> +--> +``` + +Commit and push + +```bash +git add pom.xml +git commit -m "[Release][${RELEASE.VERSION}][spotless] Disable spotless check when release" +git push +``` + ### Precompiled test ```bash @@ -237,11 +275,9 @@ git push origin --tags ```bash mvn release:perform -Prelease -Darguments="-DskipTests" -Dusername=${GITHUB USERNAME} ``` -Note: During the execution of this command, ensure that the IP address remains constant; otherwise, multiple unusable repositories might appear in stagingRepositories. - - Close the stage repository -[https://repository.apache.org/#stagingRepositories](https://repository.apache.org/#stagingRepositories) - + [https://repository.apache.org/#stagingRepositories](https://repository.apache.org/#stagingRepositories) +  ## Upload to SVN ### Pull the release and dev repositories to the local @@ -249,9 +285,9 @@ Note: During the execution of this command, ensure that the IP address remains c mkdir -p ~/seatunnel-release-prepare/dev mkdir -p ~/seatunnel-release-prepare/release cd ~/seatunnel-release-prepare/dev -svn --username=${APACHE LDAP username} co https://dist.apache.org/repos/dist/dev/seatunnel +svn --username=${APACHE LDAP username} co https://dist.apache.org/repos/dist/dev/incubator/seatunnel cd ~/seatunnel-release-prepare/release -svn --username=${APACHE LDAP username} co https://dist.apache.org/repos/dist/release/seatunnel +svn --username=${APACHE LDAP username} co https://dist.apache.org/repos/dist/release/incubator/seatunnel ``` ### Upload the key to the dev and release repositories @@ -274,32 +310,32 @@ svn --username=${APACHE LDAP USERNAME} commit -m "Add ${APACHE LDAP USERNAME} GP #### Copy source code and binary packages ```bash mkdir -p ~/seatunnel-release-prepare/dev/seatunnel/${RELEASE.VERSION} -cp -f ~/seatunnel-release-prepare/seatunnel/seatunnel-dist/target/*.tar.gz ~/seatunnel-release-prepare/dev/seatunnel/${RELEASE.VERSION} +cp -f ~/seatunnel-release-prepare/incubator-seatunnel/seatunnel-dist/target/*.tar.gz ~/seatunnel-release-prepare/dev/seatunnel/${RELEASE.VERSION} cd ~/seatunnel-release-prepare/dev/seatunnel/${RELEASE.VERSION} ``` #### Generate signature ```bash -shasum -a 512 apache-seatunnel-${RELEASE.VERSION}-src.tar.gz >> apache-seatunnel-${RELEASE.VERSION}-src.tar.gz.sha512 -shasum -b -a 512 apache-seatunnel-${RELEASE.VERSION}-bin.tar.gz >> apache-seatunnel-${RELEASE.VERSION}-bin.tar.gz.sha512 +shasum -a 512 apache-seatunnel-incubating-${RELEASE.VERSION}-src.tar.gz >> apache-seatunnel-incubating-${RELEASE.VERSION}-src.tar.gz.sha512 +shasum -b -a 512 apache-seatunnel-incubating-${RELEASE.VERSION}-bin.tar.gz >> apache-seatunnel-incubating-${RELEASE.VERSION}-bin.tar.gz.sha512 ``` #### Generate GPG signature ```bash -gpg --armor --detach-sig apache-seatunnel-${RELEASE.VERSION}-src.tar.gz -gpg --armor --detach-sig apache-seatunnel-${RELEASE.VERSION}-bin.tar.gz +gpg --armor --detach-sig apache-seatunnel-incubating-${RELEASE.VERSION}-src.tar.gz +gpg --armor --detach-sig apache-seatunnel-incubating-${RELEASE.VERSION}-bin.tar.gz ``` #### Check file signature ```bash -shasum -c apache-seatunnel-${RELEASE.VERSION}-src.tar.gz.sha512 -shasum -c apache-seatunnel-${RELEASE.VERSION}-bin.tar.gz.sha512 +shasum -c apache-seatunnel-incubating-${RELEASE.VERSION}-src.tar.gz.sha512 +shasum -c apache-seatunnel-incubating-${RELEASE.VERSION}-bin.tar.gz.sha512 ``` #### Check digital signatures step1: Import (Release Manager does not need to do this step) ```bash -curl https://dist.apache.org/repos/dist/dev/seatunnel/KEYS >> KEYS +curl https://dist.apache.org/repos/dist/dev/incubator/seatunnel/KEYS >> KEYS gpg --import KEYS gpg --edit-key "${GPG username of releaser}" > trust @@ -321,15 +357,14 @@ Your decision? 5 step2: Check the gpg digital signature ```bash -gpg --verify apache-seatunnel-${RELEASE.VERSION}-src.tar.gz.asc apache-seatunnel-${RELEASE.VERSION}-src.tar.gz -gpg --verify apache-seatunnel-${RELEASE.VERSION}-bin.tar.gz.asc apache-seatunnel-${RELEASE.VERSION}-bin.tar.gz +gpg --verify apache-seatunnel-incubating-${RELEASE.VERSION}-src.tar.gz.asc apache-seatunnel-incubating-${RELEASE.VERSION}-src.tar.gz +gpg --verify apache-seatunnel-incubating-${RELEASE.VERSION}-seatunnel-bin.tar.gz.asc apache-seatunnel-incubating-${RELEASE.VERSION}-seatunnel-bin.tar.gz ``` #### Commit Commit all files to the dev repository. ```bash -cd .. -svn add ${RELEASE.VERSION} +svn add * svn --username=${APACHE LDAP USERNAME} commit -m "release ${RELEASE.VERSION}" ``` @@ -337,29 +372,29 @@ svn --username=${APACHE LDAP USERNAME} commit -m "release ${RELEASE.VERSION}" ### [email protected] Voting #### Voting initiate ```bash -[VOTE] Release Apache SeaTunnel 2.3.3 +[VOTE] Release Apache SeaTunnel(Incubating) 2.3.0 Hello SeaTunnel Community, -This is a call for vote to release Apache SeaTunnel version 2.3.3 +This is a call for vote to release Apache SeaTunnel (Incubating) version 2.3.0 Release notes: -https://github.com/apache/seatunnel/blob/2.3.3/release-note.md +https://github.com/apache/incubator-seatunnel/blob/2.3.0/release-note.md The release candidates: -https://dist.apache.org/repos/dist/dev/seatunnel/2.3.3 +https://dist.apache.org/repos/dist/dev/incubator/seatunnel/2.3.0 Git tag for the release: -https://github.com/apache/seatunnel/tree/2.3.3 +https://github.com/apache/incubator-seatunnel/tree/2.3.0 Maven 2 staging repository: https://repository.apache.org/content/repositories/orgapacheseatunnel-1015/org/apache/seatunnel/ Release Commit ID: -https://github.com/apache/seatunnel/commit/6977e9f10ff766944a925ddaae31ea9a8ca3bfef +https://github.com/apache/incubator-seatunnel/commit/d7280abbe9e72262640836182a7f090a5706988a Keys to verify the Release Candidate: -https://downloads.apache.org/seatunnel/KEYS +https://downloads.apache.org/incubator/seatunnel/KEYS The vote will be open for at least 72 hours or until necessary numbers of votes are reached. @@ -397,7 +432,7 @@ Chao Tian #### Voting close ```bash -[VOTE] Release Apache SeaTunnel 2.3.3 +[VOTE] Release Apache SeaTunnel(Incubating) 2.3.0 Hi SeaTunnel Community, @@ -406,7 +441,7 @@ Thanks, everyone, I will close this vote thread and the results will be tallied. Best wishes! Chao Tian #### 归票 -[RESULT] [VOTE] Release Apache SeaTunnel 2.3.3 +[RESULT] [VOTE] Release Apache SeaTunnel(Incubating) 2.3.0 Hi SeaTunnel community, @@ -445,6 +480,141 @@ Best wishes, Chao Tian ``` +### [email protected] Voting +#### Voting initiate +```bashing +[VOTE] Release Apache SeaTunnel(Incubating) 2.3.0 + +Hello IPMC, This is an official vote for the Apache +SeaTunnel(Incubating) 2.3.0 that we have been working toward. + +To learn more about Apache SeaTunnel(Incubating), please see: + +https://seatunnel.apache.org + +The Apache SeaTunnel (incubating) community has voted and approved the release. + +Vote thread: + +https://lists.apache.org/thread/98oc6q6vghlg8qpfyf5yttzy925tfp9g + +Result thread: + +https://lists.apache.org/thread/6c0463dsoh8r0gmvqo67lttgy4o40xst + +Release changes: + +https://github.com/apache/incubator-seatunnel/blob/2.3.0/release-note.md + +The release candidates: + +https://dist.apache.org/repos/dist/dev/incubator/seatunnel/2.3.0 + +Maven 2 staging repository: + +https://repository.apache.org/content/repositories/orgapacheseatunnel-1015/org/apache/seatunnel/ + +Git tag for the release: + +https://github.com/apache/incubator-seatunnel/tree/2.3.0 + +Release Commit ID: + +https://github.com/apache/incubator-seatunnel/commit/d7280abbe9e72262640836182a7f090a5706988a + +Keys to verify the Release Candidate: + +https://downloads.apache.org/incubator/seatunnel/KEYS + +GPG user ID: + +tyrantlucifer + +The vote will be open for at least 72 hours or until necessary numbers +of votes are reached. + +Please vote accordingly: + +[ ] +1 approve +[ ] +0 no opinion +[ ] -1 disapprove with the reason + +Checklist for reference: + +[ ] Download links are valid. +[ ] Checksums and PGP signatures are valid. +[ ] DISCLAIMER is included. +[ ] Source code artifacts have correct names matching the current release. +[ ] LICENSE and NOTICE files are correct for each SeaTunnel repo. +[ ] All files have license headers if necessary. +[ ] No compiled archives bundled in source archive. + +More detail checklist please refer: +https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist + +The following votes are carried over from the SeaTunnel dev mailing list: + ++1(binding) +David, +William-Guowei, +Calvin Kirs + +Best Regards, +Chao Tian +``` + +#### Voting close +```bash +[VOTE] Release Apache SeaTunnel(Incubating) 2.3.0 + +Hi IPMC, + +Thanks, everyone, I will close this vote thread and the results will be tallied. + +Best wishes! +Chao Tian +``` + +#### Voting summary +```bash +[RESULT] [VOTE] Release Apache SeaTunnel(Incubating) 2.3.0 + +Hi SeaTunnel community, + +This vote now closes since 72 hours have passed. + +The vote PASSES with + +3 (+1 binding) votes from the IPMC, +David, +Guo Wei, +Calvin Kirs + +6 (+1 non-binding) votes from the developer from the community + +Jun Gao, +TaoZex, +hailin0, +Peng Yuan, +Zongwen Li, +Guangdong Liu +and no further 0 or -1 votes. + + +The vote thread: + +https://lists.apache.org/thread/98oc6q6vghlg8qpfyf5yttzy925tfp9g + + +Thanks for your participation, I will now bring the vote to +[[email protected]](mailto:[email protected]) <mailto: +[[email protected]](mailto:[email protected])> to get +approval by the IPMC. +If this vote passes also, the release is accepted and will be published. + +Best wishes, +Chao Tian +``` ## Official Release ### Moving files @@ -458,20 +628,19 @@ svn mv https://dist.apache.org/repos/dist/dev/incubator/seatunnel/${RELEASE.VERS ### Send notification email [[email protected]]([email protected]) -[[email protected]]([email protected]) +[[email protected]]([email protected]) -Please note that you should send emails in plain text mode, otherwise they will be rejected by Apache's email server. ```bash Hi all, -We are glad to announce the release of Apache SeaTunnel 2.3.3. +We are glad to announce the release of Apache SeaTunnel(incubating) ${RELEASE.VERSION}. Once again I would like to express my thanks to your help. -SeaTunnel: SeaTunnel is a distributed, high-performance data integration tool for the synchronization and transformation of massive +SeaTunnel: SeaTunnel(Incubating) is a distributed, high-performance data integration platform for the synchronization and transformation of massive data (offline & real-time). -Apache SeaTunnel website: +Apache SeaTunnel(Incubating) website: http://seatunnel.apache.org/ @@ -481,20 +650,20 @@ https://seatunnel.apache.org/download/ Release Notes: -https://github.com/apache/seatunnel/blob/2.3.3/release-note.md +https://github.com/apache/incubator-seatunnel/blob/${RELEASE.VERSION}/release-note.md Documents: -https://seatunnel.apache.org/docs/2.3.3/about/ +https://seatunnel.apache.org/docs/${RELEASE.VERSION}/intro/about Twitter: https://twitter.com/ASFSeaTunnel -SeaTunnel Resources: -- GitHub: https://github.com/apache/seatunnel -- Issue: https://github.com/apache/seatunnel/issues +SeaTunnel(Incubating) Resources: +- GitHub: https://github.com/apache/incubator-seatunnel +- Issue: https://github.com/apache/incubator-seatunnel/issues - Mailing list: [email protected] -- Apache SeaTunnel Team +- Apache SeaTunnel(Incubating) Team ``` \ No newline at end of file
