Skip to content

Topcat SNAPSHOT Release Process

Brian Ritchie edited this page Oct 15, 2019 · 1 revision

The process for making SNAPSHOT releases is slightly different from the release process; simpler in some respects, more complicated in others.

There is no need to update pom.xml etc., though it might be worth checking that it really is a snapshot version (e.g. 2.4.6-SNAPSHOT)!

I don't normally create tags for snapshot points (that might be a good idea, but each tag would have to be unique, perhaps by adding the date).

It is still a good idea to check that your settings.xml is present and correct, with your login credentials for the icatproject github. It should exist as ~/.m2/settings.xml, but sometimes it seems to get removed.

<settings>
  <servers>
    <server>
      <id>repo.icatproject.org</id>
      <username>br54</username>
      <password>HIDDEN</password>
    </server>
  </servers>
</settings>

I do an initial maven build in Vagrant ssh:

vagrant@vagrant-ubuntu-trusty-32:~/.m2$ cd /vagrant
vagrant@vagrant-ubuntu-trusty-32:/vagrant$ mvn clean install site jsdoc3:jsdoc3 --log-file mvn-log.txt

(logging mvn output to a file makes it easier to find the URL for the distro zip after the deployment; use tail -f in another window to see 'live' output).

Check that the distro zip exists (under target/) and that target/site/index.html etc. are sensible. The Release Notes should be up to date, and the REST API and Javadoc links should work.

If all is well, deploy the snapshot distro on icatproject.org by doing:

vagrant@vagrant-ubuntu-trusty-32:/vagrant$ mvn clean install site jsdoc3:jsdoc3 deploy site:deploy --log-file mvn-log.txt

This will create a folder in the icatproject repo for the snapshot (or update it if there was an earlier snapshot for the same release), including a timestamped distro zip. Though it is possible to navigate to the snapshot folder and view the installation notes etc., note that the link to the distro in the installation notes will not work. (It is worth making this clear when announcing the snapshot.)

On icatproject.org there is a dedicated Snapshot Releases page that contains links to current snapshot distros; this needs to be updated with the link to the new snapshot. I find the URL for the snapshot by looking in the output from the last maven command (which is why I save it to mvn-log.txt): go to the end, and search backwards for -distro.zip. (When using less, it's usually necessary to scroll back one more line to see it properly.) The line containing the link will look something like this:

Uploading: dav:https://repo.icatproject.org/repo/org/icatproject/topcat/2.4.3-SNAPSHOT/topcat-2.4.3-20190214.103844-1-distro.zip

and (obviously) the bit we want is from https onwards.

To update the Snapshot Releases page in icatproject.org:

  • Log into Wordpress; go to Pages, page through list to Current Releases page
  • In Wordpress, update the Snapshot Releases page: either add or edit a table entry for the new snapshot:
<tr>
<td>topcat</td>
<td>2.4.3</td>
<td><a href="https://repo.icatproject.org/repo/org/icatproject/topcat/2.4.3-SNAPSHOT/topcat-2.4.3-20190214.103844-1-distro.zip">topcat-2.4.3-20190214.103844-1-distro.zip/a></td>
<td>yes</td>
</tr>

(the last column indicates whether or not the snapshot should be considered a release candidate)

Finally, send an email to icatgroup announcing the new snapshot, and including a link to the distro zip. I usually include a brief summary of changes since the last release, and more detail on any changes since the previous snapshot. Remember to remind people that the distro link in the Installation Notes does not work!