Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: re-ordered steps to ensure Sonatype artifacts are used in Github release

...

Code Block
ORG=fcrepo4
REPO=fcrepo4
CURR=5.0.2
NEXT=5.1.0-SNAPSHOT

Github Release - part 1

Perform a clean checkout of the code from Github and prepare the release.

...

Code Block
git push origin --tags # mvn task relies on the tag, make sure it does not collide with a branch name
  • Go to https://github.com/fcrepo4/$REPO/releases/tag/fcrepo-$CURR

  • Click Edit tag, and update title to "Release $CURR"
  • If appropriate, attach binaries and checksums that have been published to Maven Central
    • e.g. http://repo1.maven.org/maven2/org/fcrepo/fcrepo-webapp/5.0.2/
    • Note: The Maven artifact for fcrepo-webapp-<version>-jetty-console needs to be renamed from war to jar.
    • Note: The checksum files should be of the format "[checksum] [filename]" (MacOSX's md5 requires the use of the -r argument to produce the correct format. I.e. md5 -r fcrepo-webapp-5.0.2.war >> fcrepo-webapp-5.0.2.war.md5).
  • Click Publish Release
Info

For fcrepo-jetty-console on fcrepo4, you need to build and attach the JAR file to the release. This can be built with the following command:

mvn clean install -Pone-click -pl fcrepo-webapp
Info

For fcrepo-webapp-plus you need to build and attach 4 WAR files to the release. These should be build with the commands:

  1. mvn clean install
  2. mvn clean install -Pwebac
  3. mvn clean install -Paudit
  4. mvn clean install -P\!webac,\!audit

After each build, upload the war file from the ./target directory to the release page, they are required for the fcrepo-vagrant product.

Sonatype Release

Release the build artifacts to the Sonatype repository.

Code Block
mvn release:perform -DperformRelease -Dgoals=deploy

...

As before, your GPG passphrase may not be masked in terminal.


Sonatype Release

Release the build artifacts to the Sonatype repository.

Code Block
mvn release:perform -DperformRelease -Dgoals=deploy


Note

As before, your GPG passphrase may not be masked in terminal.

Expand
titleHave more than one GPG key. Click here to expand...

 If you have more than one personal key on your GPG keyring, you can specify the correct key by adding

Code Block
-Darguments=-Dgpg.keyname=<Your Key ID>

to the above mvn command.



Warning
titlePoint of no return

The following steps, once completed are final.  They cannot be undone, revoked or altered.  Only proceed if you've completed all the above steps and are absolutely certain the release is ready for publication.

  • Go to https://oss.sonatype.org/index.html  and log in
  • Click Staging Repositories in left navigation

  • Search for "fcrepo" in upper right search box (project will not have $REPO in title)

  • Select repository and verify that $REPO is present in the Content tab
  • Click Close, then Refresh, then Release

This will publish the artifacts to the Sonatype releases repository and start the process of syncing them with Maven Central, which may take several hours. When finished, they'll be available at http://repo1.maven.org/maven2/org/fcrepo.

Github Release - part 2

  • Go to https://github.com/fcrepo4/$REPO/releases/tag/fcrepo-$CURR

  • Click Edit tag, and update title to "Release $CURR"
  • Attach fcrepo-webapp-$CURR binaries and checksums that have been published to Maven Central to the Github release
  • Build the fcrepo-webapp-$CURR-jetty-console.jar for the release using

    Code Block
    mvn clean install -Pone-click -pl fcrepo-webapp


  • Create checksums for the fcrepo-webapp-$CURR-jetty-console and attach the binary and checksums to the Github release.
    • Note: The checksum files should be of the format "[checksum] [filename]" (MacOSX's md5 requires the use of the -r argument to produce the correct format. I.e. md5 -r fcrepo-webapp-5.0.2-jetty-console.jar >> fcrepo-webapp-5.0.2-jetty-console.jar.md5).
  • Click Publish Release
Expand
titleHave more than one GPG key. Click here to expand...

 If you have more than one personal key on your GPG keyring, you can specify the correct key by adding

Code Block
-Darguments=-Dgpg.keyname=<Your Key ID>

to the above mvn command.

Warning
titlePoint of no return

The following steps, once completed are final.  They cannot be undone, revoked or altered.  Only proceed if you've completed all the above steps and are absolutely certain the release is ready for publication.

  • Go to https://oss.sonatype.org/index.html  and log in
  • Click Staging Repositories in left navigation

  • Search for "fcrepo" in upper right search box (project will not have $REPO in title)

  • Select repository and verify that $REPO is present in the Content tab
  • Click Close, then Refresh, then Release

...

Github Pages

Update the Github Pages documentation:

...

Push Release Branch to Maintenance

The release branch has changes made since code freeze. It also contains the update to the version numbers for future development.

...

Ensure that your commit history matches the release branch's commit history, except for the two additional commits.
 

  1. Changing from SNAPSHOT version to release version. Something like [maven-release-plugin] prepare release $REPO-$CURR
  2. Changing from release version to next development version. Something like [maven-release-plugin] prepare for next development iteration

...

If this appears correct, you can push your release branch on to the maintenance branch.

...