Checking a Release Candidate

The purpose of this page is to provide guidelines for the kind of things to check for a Release Candidate before voting. As well as helping people checking releases, hopefully it will help Release Managers avoid some potential pitfalls / objections.

These are just some initial thoughts - hopefully others will add in their 2c - niallp


1. General Checks

  • Has the release been tagged in Subversion?
  • Are there open (non-enhancement) bugzilla tickets?
  • Have any version-specific files been updated? (e.g. build.xml, Version.java)

2. Binary Distribution

  • Are the NOTICE and LICENSE files included in the root directory?
  • Are the NOTICE and LICENSE files included in jar?
  • Is the jar's manifest file correct?
    • Check the component version number is correct.
    • Check the title and vendor.
    • Check the JDK version.
      • if the JDK version is higher than expected (e.g. JDK 1.4 rather than JDK 1.3) does the maven build have the compatibility option set?
    • Check the Built-By field.
      • If the name in the jar file does not match your ASF account name, rebuild with '-Duser.name=your-asf-account'.
  • Check the documentation
    • Is the version information correct (has it been updated)?
    • Is the style in keeping with other Commons components
    • Is there adequate information on:
      • Releases
      • Mailing Lists
      • Dependencies
        • Are all dependencies appropriately licensed?
        • Are all dependencies released versions?
        • Dependency comments are good (indicating whether its required/optional/for testing/for the site generation) e.g. Resources
      • Issue Tracking - there are some good examples of custom issue tracking pages (see Validator or IO).
      • Project License
    • Do the JavaDocs look OK?
    • Are there any check style or javadoc warnings
    • Do all the links work for the local copy of the documentation?
  • If you're a user of the component - can you give the RC a test run?

3. Source Distribution

  • Are the NOTICE and LICENSE files included in the root directory?
  • Is everything in the source repository included in the distro?
    • Files typically in the root directory
      • project.xml
      • maven.xml
      • project.properties
      • (maybe) build.xml
      • Checkstyle files (xml config, checkstyle headers file)
    • Are the contents of the source directory present
    • Are the contents of the xdocs directory present
    • Are configuration files / directories present?
    • Are there any additional files included that are not in the source repository?
      • e.g. SVN files, log files, temporary distribution directories
  • Can the project be built (e.g. run "maven dist" or relevant ant command) from the source distribution (note the commons-build directory will need to be available)?
    • do the tests run?
    • is the jar correctly generated
    • do the distribution files generated (i.e. binary/source zip/tar.gz files) match the ones for the release (md5's and bytecounts may be different and diffs may fail if checking is done on a different platform than that used to cut the release)?

Other pages which might be of interest

  • No labels