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