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?
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 documentation
- 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. [http://jakarta.apache.org/commons/resources/dependencies.html Resources]
Issue Tracking - there are some good examples of custom issue tracking pages (see [http://jakarta.apache.org/commons/validator/issue-tracking.html Validator] or [http://jakarta.apache.org/commons/io/issue-tracking.html IO]).
- Project License
- Do the JavaDocs look OK?
- Are there any check style or javadoc warnings
- Is a Simian report included? If so has the component obtained a license for Simian?
See [http://www.redhillconsulting.com.au/products/simian/get_it_now.html Simian Web site]
- 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
- Files typically in the root directory
- Can the project be built (i.e. run "maven dist") 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?