Jenkins : Release check list

This page was created due to a bug in version 2.2.x of the plug-in. This bug caused the plug-in to fail and throw exceptions when running in distributed Jenkins (master and slaves).

Here we list a basic check-list to be followed before releasing a new version of the plug-in, what includes the distributed environment check too as well as other important features to verify before releasing a new version of the plug-in. We believe this will increase the plug-in quality (internal and external).

  • Test in distributed environments with Windows and Linux
  • Check with latest versions of Jenkins and TestLink
  • Check if none help files are missing or pointing to the wrong location
  • Check the i18n messages files (new messages added, missing messages, etc)
  • Test running package and installing generated hpi file in a jenkins.war or service. We found out that some Javascript errors were caught only during our alpha tests (Thanks Latifa ;-)
  • Verify JUnit suite test coverage, as sometimes we add or refactor portions of code and forget to add tests (although we always try to use TDD :-)
  • See if there is any new issue in Jenkins' JIRA
  • Check if we are using only PNG images
  • Test in different browsers (at least FFox, IE8 and Chrome)
  • Test using locale plug-in and different languages
  • Test all links in the plug-in. Sometimes the sidepanel, floatingBox, config or other jelly file may be broken.
  • Test the graph in a Job without anything run yet.
  • Check if there is any dependency that could be updated as we specify the dependencies versions in pom.xml
  • Run mvn -e -X org.apache.maven.plugins:maven-dependency-plugin::analyze and make sure there are no warnings.
  • Make sure disabled tests are not included by the plug-in when seeking results

Feel free to add other steps here if you face problems with the plug-in and believe your suggestion will help us to improve the plug-in quality.

There are other verifications that are done because of a change in Jenkins. Recently it was decided to use PNG instead of GIF images in the project, so we try follow the 'parent project' standard and use PNG's too, instead of GIF's.

Seems that the size of some artifacts being sent to maven repository are too big, and mvn release:perform goal hangs some times. Due to this issue, it is important execute the following command before performing the plug-in release: export MAVEN_OPTS=-Xmx300m.