Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

How to perform an Apache release for Samoa:

Make sure you are in the master branch and have the latest version:

*) 

Settings

First, configure your ~/.m2/settings.xml file to include your credentials.

<settings>
...
  <servers>
    <!-- To publish a snapshot of some part of Maven -->
    <server>
      <id>apache.snapshots.https</id>
      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
      <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
    </server>
    <!-- To stage a release of some part of Maven -->
    <server>
      <id>apache.releases.https</id>
      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
      <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
    </server>
    <server>
      <id>apache.staging.https</id>
      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
      <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
    </server>
   ...
  </servers>
</settings>

To encrypt your password, use Maven's password encryption capabilities.

...

Step-by-step guide

To run on the clean master branch, make sure you are in the master branch and have the latest version.

*) git branch -vv

(should tell you if you are in master or not)

*) git checkout master

(should get you to master)

*) git pull

Create a branch for the release candidate. Set it to track a release branch on the apache remote.

...

svn mkdir https://dist.apache.org/repos/dist/release/incubator/samoa/X.Y.Z-incubating
svn cp X.Y.Z-incubating-rcW/* https://dist.apache.org/repos/dist/release/incubator/samoa/X.Y.Z-incubating/

After the second vote has been passed, go ahead and perform the release by logging into Nexus system and pushing the release button of the particular version. This will move the components into the release repository of OSSRH where it will be synced to the Central Repository. Check that this is done by visiting the following site and checking that the new release is available:

https://repository.apache.org/content/repositories/releases/org/apache/samoa/

Optionally deploy commodity binary packages via https://repository.apache.org and send an [ANNOUNCE] email to announce@apache.orgdev@, and general@incubator mailing lists.

...

If you messed up the release and you are repeating these steps due to some error, make sure you:

*) Cleanup your local maivenmaven:

mvn release:clean

*) Probably you may need to remove the branch (locally and remotely):

git push apache --delete releases--delete apache releases/X.Y.Z-incubating-RC0

git branch -D releases/X.Y.Z-incubating-RC0

*) Remove the tags locally and remotely:

(to see available tags locally) git tag -l

git tag -d Xd vX.Y.Z-incubating-RC0

git push --delete apache vX.Y.Z-incubating

*) Remove the directory ~/.m2/repository/org/apache/samoa, for the new artifacts to be placed again.

 *) Repeat from the beginning the steps!

References

http://www.apache.org/dev/publishing-maven-artifacts.html

...