You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mnemonic.apache.org by yz...@apache.org on 2021/06/03 18:51:46 UTC

[mnemonic-site] branch master updated: MNEMONIC-589: Document Project Releasing Workflow

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

yzhao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mnemonic-site.git


The following commit(s) were added to refs/heads/master by this push:
     new c2d883a  MNEMONIC-589: Document Project Releasing Workflow
c2d883a is described below

commit c2d883ab8366f8226e15306346c1ecde89804173
Author: Zane <rh...@hotmail.com>
AuthorDate: Tue Jun 1 23:03:42 2021 -0700

    MNEMONIC-589: Document Project Releasing Workflow
    
    Signed-off-by: Zane <rh...@hotmail.com>
---
 src/develop/index.md       |  5 ++++
 src/develop/releaseflow.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+)

diff --git a/src/develop/index.md b/src/develop/index.md
index ca1d3ab..42ce233 100644
--- a/src/develop/index.md
+++ b/src/develop/index.md
@@ -195,3 +195,8 @@ You can also find the mirrored repo. on [Github](https://github.com/apache/mnemo
 
 All code must be +1'ed by a committer other than the author prior to its
 commit.
+
+
+## Release Flow
+
+For releasing a new version, please refer to [Release Flow](releaseflow.html) page.
diff --git a/src/develop/releaseflow.md b/src/develop/releaseflow.md
new file mode 100644
index 0000000..1b9cc47
--- /dev/null
+++ b/src/develop/releaseflow.md
@@ -0,0 +1,64 @@
+---
+layout: page
+title: Mnemonic Release Workflow
+---
+
+To release a new version of Mnemonic, please refer to following steps.
+
+* 1.Get familiar with Apache [releasing process](https://infra.apache.org/release-publishing.html){:target="_blank"}
+
+* 2.Verify the whole project.
+
+* 3.Vote on preparing a release candidate.
+
+* 4.(One time setup) Generate a [OpenPGP key](https://infra.apache.org/openpgp.html#generate-key){:target="_blank"} if the release manager has not yet got one.
+
+* 5.(One time setup) Configure the deployment repositories of Maven and copy the following snippet to settings.xml under &lt;home folder&gt;/.m2/
+
+    <code class="xml">
+        &lt;settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"&gt;
+            &lt;profiles&gt;
+                &lt;profile&gt;
+                    &lt;id&gt;apache-release&lt;/id&gt;
+                    &lt;properties&gt;
+                        &lt;altSnapshotDeploymentRepository&gt;snapshots::default::file:///${env.HOME}/ws/maven-repository/snapshots&lt;/altSnapshotDeploymentRepository&gt;
+                        &lt;altReleaseDeploymentRepository&gt;releases::default::file:///${env.HOME}/ws/maven-repository/releases&lt;/altReleaseDeploymentRepository&gt;
+                    &lt;/properties&gt;
+                &lt;/profile&gt;
+            &lt;/profiles&gt;
+        &lt;/settings&gt;
+    </code>
+
+* 6.Make sure the OpenJDK has been deployed in release machine.
+
+* 7.Configure the signing key in git toolchain (see example below).
+
+    ```
+    $ git config --global user.signingkey <your gpg key id>
+    ```
+* 8.Use release.sh script to prepare a release candidate (see example below).
+    
+    ```
+    $ tools/release.sh candidate 0.14.0 rc1 no
+    ```
+* 9.Make sure the tickets belong to current release that got marked in the field of fixed version.
+
+* 11.Collect the change log of current version from [Apache JIRA](https://issues.apache.org/jira/projects/MNEMONIC/versions/)
+
+* 12.Check in the generated release candidate artifacts to Apache stage repository, add to change log file, and update the key file with new generated key if not included.
+
+* 13.Vote on the release candidate.
+
+* 14.Check the latest candidate to Apache release repository as formal new version release.
+
+* 15.Perform formal release in git (see example below).
+    
+    ```
+    $ tools/release.sh bump 1.14.0 rc1 0.15.0
+    ```
+
+* 16.Announce the new release version with the link of release repository.
+
+* 17.Update the download page in project website.
\ No newline at end of file