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