| --- |
| 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 <home folder>/.m2/ |
| |
| <code class="xml"> |
| <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"> |
| <profiles> |
| <profile> |
| <id>apache-release</id> |
| <properties> |
| <altSnapshotDeploymentRepository>snapshots::default::file:///${env.HOME}/ws/maven-repository/snapshots</altSnapshotDeploymentRepository> |
| <altReleaseDeploymentRepository>releases::default::file:///${env.HOME}/ws/maven-repository/releases</altReleaseDeploymentRepository> |
| </properties> |
| </profile> |
| </profiles> |
| </settings> |
| </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. |