Release Guide

Here you will find a collection of notes and instructions on doing a release of Apache MetaModel. The page is largely written by Release Engineers (RE) as a note document while conducting releases based on the links below:

Useful links:

NOTE: This page is still in construction

First time release engineer TODO list:

Release steps:

Check the CHANGES.md file - it should be up to date and it should refer to the version number that you're about to release.

Set <server> elements in Maven's settings.xml

<!-- To publish a snapshot of some part of Maven -->
<server>
    <id>apache.snapshots.https</id>
    <username>APACHE_USERNAME</username>
    <password>APACHE_PASSWORD</password>
</server>
<!-- To stage a release of some part of Maven -->
<server>
    <id>apache.releases.https</id>
    <username>APACHE_USERNAME</username>
    <password>APACHE_PASSWORD</password>
</server>

Stage release:

> mvn clean
> mvn release:prepare -Dusername=APACHE_USERNAME -Dpassword=APACHE_PASSWORD
> mvn release:perform -Dusername=APACHE_USERNAME -Dpassword=APACHE_PASSWORD

Sometimes the last command (release:perform) will not work the first time since inter-dependencies cannot be found during build. To fix, follow these commands:

> cd target/checkout
> mvn install -Dmaven.test.skip=true
> cd ../..
> mvn clean release:perform -Dusername=APACHE_USERNAME -Dpassword=APACHE_PASSWORD

Go to nexus (https://repository.apache.org), log in and select the repo. Close it.

Now call for a VOTE in the MetaModel dev@ mailing list. Here's an example email you can use as a template:

Subject: [VOTE] Apache Metamodel release 4.3.1

Hi All,

Please vote on releasing the following candidate as Apache Metamodel version 4.3.1.

The Git tag to be voted on is MetaModel-4.3.1:
https://git-wip-us.apache.org/repos/asf?p=metamodel.git;a=commit;h=f4d6de53803a47e6b6ad67f8043c073da3b5fbff

The source artifact to be voted on is:
http://repository.apache.org/content/repositories/orgapachemetamodel-1005/org/apache/metamodel/MetaModel/4.3.1/MetaModel-4.3.1-source-release.zip

Parent directory (including MD5, SHA1 hashes etc.) of the source is:
http://repository.apache.org/content/repositories/orgapachemetamodel-1005/org/apache/metamodel/MetaModel/4.3.1/

Release artifacts are signed with the following key:
https://people.apache.org/keys/committer/kaspersor.asc

Release engineer public key id: 1FE1C2F5

The staging Maven repository for this release can be found at:
http://repository.apache.org/content/repositories/orgapachemetamodel-1005

Please vote on releasing this package as Apache MetaModel 4.3.1.

The vote is open for 72 hours.

[ ] +1 Release this package as Apache MetaModel 4.3.1
[ ] -1 Do not release this package because ...

Thank you in advance for participating.

Regards,
Kasper Sørensen

Once the voting period has passed, send out a RESULT email with the vote results.

Subject: [RESULT] [VOTE] Release Apache Metamodel 4.3.1

Hi everyone,

I'm happy to be able to tell that the VOTE for releasing Apache MetaModel 4.3.1 has passed with 5 votes (3 binding).

Ankit Kumar
Arvind Prabhakar *
Henry Saputra * 
Justin Mclean *
Kasper Sørensen

* - indicates PMC

Thank you to everyone who participated.

Best regards,
Kasper

Finalize the release

TODO:

ReleaseGuide (last edited 2015-05-22 06:59:29 by KasperSorensen)