LinuxBox [label="1.1 \nPrepare a Linux box",URL="#linuxbox",target="_blank"] IntallGitToolchain [label="1.1.1 \nInstall git tool chain"] InstallGPGToolchain [label="1.1.2 \nInstall GPG tool chain",URL="https://www.gnupg.org",target="_blank"] PrepareKey [label="1.1.2.1 \nPrepare a release key",URL="https://www.apache.org/dev/openpgp.html#generate-key",target="_blank"] SubmitFP [label="1.1.2.1.1 \nSubmit key fingerprint",URL="https://id.apache.org",target="_blank"] InstallSVNClient [label="1.1.3 \nInstall SVN client"] CheckoutStageTrunk [label="1.1.3.1 \nCheckout stage trunk"] CheckoutReleaseTrunk [label="1.1.3.2 \nCheckout release trunk"] CheckoutProjectStatusPage [label="1.1.3.3 \nCheckout project status page only"] UpdatePubKeyOnST [label="1.1.3.1.1 \nUpdate KEYS file on stage trunk"] UpdatePubkeyOnRT [label="1.1.3.2.1 \nUpdate KEYS file on release trunk"] DeployMneDeps [label="1.1.4 \nDeploy deps. of Mnemonic devel."] ConfigMvnRelAccount [label="1.1.4.1 \nConfigure Maven release account"] LinuxBox -> InstallGPGToolchain InstallGPGToolchain -> PrepareKey PrepareKey -> SubmitFP LinuxBox -> InstallSVNClient LinuxBox -> DeployMneDeps DeployMneDeps -> ConfigMvnRelAccount ConfigGit [label="1.1.1.1 \nConfig git tool"] CloneForkedPrj [label="1.1.1.1.1 \nClone your forked Mnemonic project"] AddUpstreamRepo [label="1.1.1.1.1.1 \nAdd Apache repository as upstream"] InstallSVNClient -> CheckoutStageTrunk CheckoutStageTrunk -> UpdatePubKeyOnST InstallSVNClient -> CheckoutReleaseTrunk CheckoutReleaseTrunk -> UpdatePubkeyOnRT InstallSVNClient -> CheckoutProjectStatusPage LinuxBox -> IntallGitToolchain IntallGitToolchain -> ConfigGit ConfigGit -> CloneForkedPrj CloneForkedPrj -> AddUpstreamRepo |
Please use the latest version of CentOS since you can refer to Dockerfile for the detail commands of Mnemonic dependencies deployment.
The Linux box could be a host, virtual machine or docker container.
Deploy all dependencies of Mnemonic development, please referring to the Dockerfile in Mnemonic project
For CentOS
https://github.com/apache/mnemonic/blob/master/docker/Dockerfile
For Ubuntu
https://github.com/apache/mnemonic/blob/master/docker-ubuntu/Dockerfile
$ git clone https://github.com/<your_username>/mnemonic.git |
NOTE: please add username as the prefix to your git URL.
$ cd <cloned_mnemonic_project_dir> $ git remote add upstream https://<your_apache_id>@git-wip-us.apache.org/repos/asf/mnemonic.git |
NOTE: please add username as the prefix to your upstream git URL.
https://www.apache.org/dev/openpgp.html#generate-key
NOTE: Please use your Apache email address (<your_apache_id>@apache.org) to generate a GPG key for artifacts signing and the command "git config --get user.signingkey" should return the <gpg-key-id> of your signing key that you can find it using the command "gpg --list-keys"
$ svn checkout https://<your_apache_id>@dist.apache.org/repos/dist/dev/mnemonic mnemonic-stage |
Append your generated public key to this KEYS file
$ svn checkout https://<your_apache_id>@dist.apache.org/repos/dist/release/mnemonic mnemonic-release |
Append your generated public key to this KEYS file
$ svn checkout https://<your_apache_id>@svn.apache.org/repos/asf/incubator/public/trunk/content/projects mnemonic-status --depth empty $ cd mnemonic-status $ svn update mnemonic.xml |
Add following setting items into your private maven settings file, i.e. ~/m2/settings.xml
<settings>
....
<servers>
....
<server>
<id>apache.releases.https</id>
<username>yourApacheID</username>
<password>yourApachePassword</password>
</server>
<server>
<id>apache.snapshots.https</id>
<username>yourApacheID</username>
<password>yourApachePassword</password>
</server>
<server>
<id>repository.apache.org</id>
<username>yourApacheID</username>
<password>yourApachePassword</password>
</server>
</servers>
</settings> |
Please make sure you can login the following repository using above account info.
EnsureReadyForRelease [label="2.1 \nEnsure code readiness for release"] PullOnMB [label="2.1.1 \nCheckout and pull on master branch"] StartGPGAgent [label="2.1.2 \nStart GPG agent"] RunAutoReleaseTool [label="2.1.1.1 \nRun auto release tool"] CollectVersionChanges [label="2.1.3 \nCollect version changes info."] CollectArtifacts [label="2.1.1.1.1 \nCollect generated artifacts"] SubmitRConST [label="2.1.1.1.1.1 \nSubmit release candidate on stage trunk"] SendVoteToDev [label="2.1.1.1.1.1.1 \nSend vote mail to dev@list"] ReportVoteResultOnDev [label="2.1.1.1.1.1.1.1 \nCollect and report vote result on dev@list"] SendVoteToGeneral [label="2.1.1.1.1.1.1.1.1 \nSend vote mail to general@list"] ReportVoteResultOnGeneral [label="2.1.1.1.1.1.1.1.1.1 \nCollect and report vote result on general@list"] SubmitRConRT [label="2.1.1.1.1.1.1.1.1.1.1 \nSubmit voted RC on release trunk"] TerminateGPGAgent [label="2.1.1.1.1.1.1.1.1.1.2 \nTerminate GPG agent"] UpdateProjectStatus [label="2.1.1.1.1.1.1.1.1.1.1.1 \nUpdate project status"] PublishPrjectStatus [label="2.1.1.1.1.1.1.1.1.1.1.1.1 \nPublish project status"] Announcement [label="2.1.1.1.1.1.1.1.1.1.1.2 \nSend out new release announcement"] CleanupDistSVN [label="2.1.1.1.1.1.1.1.1.1.1.3 \nClean up SVN repositories after releasing a new version"] UpdateWebsite [label="2.1.1.1.1.1.1.1.1.1.1.4 \nUpdate Website"] EnsureReadyForRelease -> PullOnMB EnsureReadyForRelease -> StartGPGAgent EnsureReadyForRelease -> CollectVersionChanges PullOnMB -> RunAutoReleaseTool StartGPGAgent -> RunAutoReleaseTool RunAutoReleaseTool -> CollectArtifacts RunAutoReleaseTool -> EnsureReadyForRelease [label="Fail",style=dotted,color=red,fontsize=8] CollectVersionChanges -> SubmitRConST CollectArtifacts -> SubmitRConST SubmitRConST -> SendVoteToDev SendVoteToDev -> ReportVoteResultOnDev ReportVoteResultOnDev -> EnsureReadyForRelease [label="Not pass",style=dotted,color=red,fontsize=8] ReportVoteResultOnDev -> SendVoteToGeneral SendVoteToGeneral -> ReportVoteResultOnGeneral ReportVoteResultOnGeneral -> EnsureReadyForRelease [label="Not pass",style=dotted,color=red,fontsize=8] ReportVoteResultOnGeneral -> SubmitRConRT ReportVoteResultOnGeneral -> TerminateGPGAgent SubmitRConRT -> UpdateProjectStatus UpdateProjectStatus -> PublishPrjectStatus SubmitRConRT -> Announcement SubmitRConRT -> CleanupDistSVN SubmitRConRT -> UpdateWebsite |
$ cd <mnemonic_project_dir> $ ./build-tools/release.sh <current release version> <next release version> <candidate Id> # for example, ./build-tools/release.sh 0.8.0 0.8.0 rc1 |
Create a folder named <version>-incubating-rc<seqnum> e.g. 0.9.0-incubating-rc1 on the staged trunk and then copy all artifacts suffixed with *.tar.gz under target/ folder into the src folder.
SUBJECT : [VOTE] Release of Apache Mnemonic-<version> [rc<rc_number>]
TO : dev@mnemonic.apache.org
Hi all, This is a call for a releasing Apache Mnemonic <version>, release candidate <rc_number>. This is the new release of Mnemonic. The source tarball, including signatures, digests, etc. can be found at: https://dist.apache.org/repos/dist/dev/mnemonic/<version>-rc1/src/ The tag to be voted upon is v<version>-incubating: https://git-wip-us.apache.org/repos/asf?p=mnemonic.git;a=shortlog;h=refs/tags/v<version> The release hash is <commit_hash_code>: https://git-wip-us.apache.org/repos/asf?p=mnemonic.git;a=commit;h=<commit_hash_code> Release artifacts are signed with the following key: https://dist.apache.org/repos/dist/dev/mnemonic/KEYS KEYS file available: https://dist.apache.org/repos/dist/dev/mnemonic/KEYS For information about the contents of this release, see: https://dist.apache.org/repos/dist/dev/mnemonic/<version>-rc<rc_number>/CHANGES.txt The vote will be open for ~72 hours. Please download the release candidate and evaluate the necessary items including checking hashes, signatures, build from source, and test. The please vote: [ ] +1 Release this package as apache-mnemonic-<version> [ ] +0 no opinion [ ] -1 Do not release this package because... Thanks, <RM name> on behalf of the Apache Mnemonic community |
SUBJECT : [RESULT][VOTE] Release of Apache Mnemonic-<version>[rc<rc_number>]
TO : dev@mnemonic.apache.org
Hi all, After being opened for over more than 72 hours, the vote for releasing Apache Mnemonic <version> passed with <count> binding +1s, <count> non-binding +1s and no 0 or -1. The link to vote thread is <vote_email_thread_https_link> * Binding votes +1s: * <voter_name> (<voter_apache_id>) ... * Non-binding votes +1s: * <voter_name> (<voter_apache_id>) ... <0 or -1 vote if any> Project Members Role Info http://mnemonic.apache.org/develop/ *Thanks all* Cheers <RM name> on behalf of the Apache Mnemonic community |
SUBJECT : [VOTE] Release of Apache Mnemonic-<version> [rc<rc_number>]TO : general@incubator.apache.org
Hello incubator PMCs, The Apache Mnemonic community PPMCs and developers have voted and approved the proposal to release Apache Mnemonic <version> (incubating). Apache Mnemonic is an advanced hybrid memory storage oriented library, it's proposed a non-volatile/durable Java object model and durable computing model that bring several advantages to significantly improve the performance of massive real-time data processing/analytic. developers are able to use this library to design their cache-less and SerDe-less high performance applications. [VOTE] thread: http://mail-archives.apache.org/mod_mbox/incubator-mnemonic-dev/... ... [VOTE RESULT] thread: http://mail-archives.apache.org/mod_mbox/incubator-mnemonic-dev/... ... We now kindly request the Incubator PMC members review and vote on this incubator release. The Apache Mnemonic-<version>-incubating release candidate is now available with the following artifacts for a project vote: The source tarball, including signatures, digests, etc. can be found at: https://dist.apache.org/repos/dist/dev/incubator/mnemonic/<version>-incubating-rc<rc_number>/src/ The tag to be voted upon is v<version>-incubating: https://git-wip-us.apache.org/repos/asf?p=incubator-mnemonic.git;a=shortlog;h=refs/tags/v<version>-incubating The release hash is <commit_hash_code>: https://git-wip-us.apache.org/repos/asf?p=incubator-mnemonic.git;a=commit;h=<commit_hash_code> Release artifacts are signed with the following key: https://dist.apache.org/repos/dist/dev/incubator/mnemonic/KEYS KEYS file available: https://dist.apache.org/repos/dist/dev/incubator/mnemonic/KEYS For information about the contents of this release, see: https://dist.apache.org/repos/dist/dev/incubator/mnemonic/<version>-incubating-rc<rc_number>/CHANGES.txt The vote will be open for ~72 hours. Please download the release candidate and evaluate the necessary items including checking hashes, signatures, build from source, and test. please vote: [ ] +1 Release this package as apache-mnemonic-<version>-incubating [ ] +0 no opinion [ ] -1 Do not release this package because... Thanks, <RM name> on behalf of the Apache Mnemonic (incubating) team |
SUBJECT : [RESULT][VOTE] Release of Apache Mnemonic-<version>-incubating [rc<rc_number>]
TO : general@incubator.apache.org
Hi all, After being opened for over more than 72 hours, the vote for releasing Apache Mnemonic <version>-incubating passed with <count> binding +1s, <count> non-binding +1s and no 0 or -1. The link to vote thread is <vote_email_thread_https_link> * Binding votes +1s: * <voter_name> (<voter_apache_id>) ... * Non-binding votes +1s: * <voter_name> (<voter_apache_id>) ... <0 or -1 vote if any> Project Members Role Info http://mnemonic.incubator.apache.org/develop/ *Thanks all* Cheers <RM name> on behalf of the Apache Mnemonic (incubating) community |
Release manager can add binding votes from dev@list to this report.
$ kill $SSH_AGENT_PID |
SUBJECT : [ANNOUNCE] Apache Mnemonic-<version>-incubating released
REPLY-TO : dev@mnemonic.apache.org
TO :
announce@apache.org,
dev@mnemonic.apache.org,
user@mnemonic.apache.org
The Apache Mnemonic community is pleased to announce the release of Apache Mnemonic-<version>.
Apache Mnemonic is an advanced hybrid memory storage oriented library, it's proposed a non-volatile/durable Java object model and
durable computing model that bring several advantages to significantly improve the performance of massive real-time data processing/analytic.
developers are able to use this library to design their cache-less and SerDe-less high performance applications.
The release is available for download at:
https://dist.apache.org/repos/dist/release/mnemonic/<version>-incubating
The full changelog is available at:
https://dist.apache.org/repos/dist/release/mnemonic/<version>-incubating/CHANGES.txt
We would like to thank all contributors who made this release possible!
|
Remove all release candidates from stage trunk and remove previous versions from release trunk, only leave the latest version in release trunk.
Update the webpage https://mnemonic.apache.org/downloads/ to reflect the release of a new version. a new JIRA ticket could be created for this action.
Note: please make sure that the new release has been sync. to mirrored sites before updating.
Please log into the following page and then click the "Build now" to publish updated project status
https://builds.apache.org/view/H-L/view/Incubator/job/Incubator%20Site/
$ export GPG_TTY="$(tty)" $ eval $(gpg-agent --daemon) |
a) Please open the Apache JIRA for Mnemonic project -- https://issues.apache.org/jira/browse/MNEMONICb) In the overview, click the "Versions"c) Click the latest version that needs to be release, for example "0.8.0"d) Click the button "Release Notes" on top-righte) Copy the Text between "Configure Release Notes" and "Edit/Copy Release Notes"f) Open CHANGES.txt and replace all contents with the one just copied for current RC on stage trunk
g) Copy this CHANGES.txt file to the release candidate folder on the staged trunk, please refer to section 2.1.1.1.1 Collect generated artifacts