This is an automated email from the ASF dual-hosted git repository.

vkulichenko pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new e57bc8d  IGNITE-14571 - Release procedure documentation
e57bc8d is described below

commit e57bc8dce0695b10e4d69e7a8f0e1c75b8063a12
Author: Valentin Kulichenko <[email protected]>
AuthorDate: Fri Jun 25 14:55:35 2021 -0700

    IGNITE-14571 - Release procedure documentation
---
 RELEASE.md | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/RELEASE.md b/RELEASE.md
new file mode 100644
index 0000000..9fee801
--- /dev/null
+++ b/RELEASE.md
@@ -0,0 +1,71 @@
+# Apache Ignite 3 Release Procedure
+
+This document describes the current procedure for preparing an Ignite 3 
release.
+
+## Prerequisites
+
+1. Create a GPG key, upload it to a keyserver, and locate its ID. More details 
here: https://infra.apache.org/openpgp.html
+2. Checkout Apache distribution directories:
+   ```
+   svn checkout https://dist.apache.org/repos/dist/dev/ignite dist-dev
+   svn checkout https://dist.apache.org/repos/dist/release/ignite dist-release
+   ```
+
+For all the commands going forward:
+* Replace `{version}` with the version number being released.
+* Replace `{rc}` with the current sequential number of the release candidate.
+* Replace `{gpg}` with your GPG key ID.
+* Replace `{dist.dev}` with the local path to the development distribution 
directory.
+* Replace `{dist.release}` with the local path to the release distribution 
directory.
+
+## Preparing the Release
+
+1. Go to the project home folder.
+2. Create a Git tag:
+   ```
+   git tag -a {version}-rc{rc} -m "{version}-rc{rc}"
+   git push --tags
+   ```
+3. Build the project, sign the artifact and create a staging repository:
+   ```
+   mvn clean verify gpg:sign deploy:deploy -Dgpg.keyname={gpg} [-DskipTests]
+   ```
+4. Login to the Apache Nexus and close the new repository: 
https://repository.apache.org/#stagingRepositories
+5. Create an empty folder under the development distribution directory:
+   ```
+   rm -rf {dist.dev}/{version}-rc{rc}
+   mkdir {dist.dev}/{version}-rc{rc}
+   ```
+6. Create a source code package:
+   ```
+   git archive --prefix=apache-ignite-{version}-src/ -o 
target/apache-ignite-{version}-src.zip HEAD
+   ```
+7. Switch to the `target` folder:
+   ```
+   cd target
+   ```
+8. Create checksums and sign ZIP packages:
+   ```
+   gpg -a -u {gpg} -b apache-ignite-{version}-src.zip
+   gpg -a -u {gpg} -b apache-ignite-{version}.zip
+   gpg --print-md SHA512 apache-ignite-{version}-src.zip > 
apache-ignite-{version}-src.zip.sha512
+   gpg --print-md SHA512 apache-ignite-{version}.zip > 
apache-ignite-{version}.zip.sha512
+   ```
+9. Copy ZIP packages along with checksums and signatures to the development 
distribution directory:
+   ```
+   cp apache-ignite-{version}-src.zip apache-ignite-{version}-src.zip.asc 
apache-ignite-{version}-src.zip.sha512 \
+      apache-ignite-{version}.zip apache-ignite-{version}.zip.asc 
apache-ignite-{version}.zip.sha512  \
+      /Users/vkulichenko/GridGain/dist-dev/{version}-rc{rc}
+   ```
+10. Commit ZIP packages:
+   ```
+   cd {dist.dev}
+   svn commit -m “{version}-rc{rc}”
+   ```
+11. Put the release on a vote on the developers mailing list.
+
+## Finalizing the Release
+
+Perform the following actions ONLY after the vote is successful and closed.
+
+TBD

Reply via email to