Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • all items from the JIRA roadmap for the release must be completed or moved to a future release
  • ALL human readable files must contain the Apache license header
    • this includes style sheets, test code, and documentation - when in doubt, add a header
    • files that are part of other software packages that are bundled with a release must not contain the header (unless that software is also ASF software) and should be clearly documented as being bundled software
  • LICENSE and NOTICE files should be reviewed
  • an export from HEAD should result in a directory tree with all files and directories having appropriate permissions
  • documentation on how to upgrade from a previous release must be created
    • if appropriate, scripts to help users upgrade should be created (don't forget steps/scripts to upgrade the database schema)
  • RELEASE_NOTES file needs to be updated and should contain:
    • release version
    • an intro to VCL
    • a brief description of the aims of VCL
    • a brief roadmap of VCL and how this release fits in to it
    • a list of ways for users to get involved
    • a description of how users can submit issues
  • DISCLAIMER file containingthe following disclaimer in a README file:
    Code Block
    Apache VCL is an effort undergoing incubation at the Apache Software Foundation (ASF),
    sponsored by the Apache Incubator PMC.
    
    Incubation is required of all newly accepted projects until a further review indicates
    that the infrastructure, communications, and decision making process have stabilized
    in a manner consistent with other successful ASF projects.
    
    While incubation status is not necessarily a reflection of the completeness or
    stability of the code, it does indicate that the project has yet to be fully endorsed
    by the ASF.
    
  • release manager's GPG signing key must be in KEYS file in toplevel directory
  • a release/download page needs to be created for the specific release containing:
    • link to release artifact (link to a mirror)
    • link to signatures and checksums (link directly to apache.org)
    • either a link to release notes or contain them inline
    • either a link to a change log or contain it inline
  • a decision needs to be made determining which, if any, previously released artifacts should be removed from the main distribution site after this release is completed

Community and PMC voting process

...

  • release manager should start a VOTE thread on the vcl-dev list; this is a good example
  • after a passing vote (must have at least three +1 votes, majority of votes must be positive), the release manager should post a message to the general at incubator.apache.org list formally requesting approval for the release and containing:
    • Links to the release artifacts
    • Links to the PPMC release vote thread
    • Link to the tag from which the release is cut
    • this is a good example
  • there must be at least three +1 Incubator PMC votes to pass

...

  • a tag for the release needs to be created in subversion
  • export from this tag to get the code for the release
  • generate a CHANGELOG file
    • TODO: steps to create change log from JIRA issues/subversion notes
  • ensure LICENSE, NOTICE, RELEASE_NOTES, CHANGELOG, and DISCLAIMER README files are in top level directory
  • create a tarball of the directory
    • compress it with bzip2
    • name it apache-VCL-X.Y.Z-incubating.tar.bz2 (the .Z should only be included if Z > 0)
  • create an md5 sum of the tarball
  • sign the tarball with GPG
    • TODO: add steps on doing this

Steps to make release artifact available to users

  • place the artifact in /www/www.apache.org/dist/incubator/vcl on people.apache.org
  • ensure the artifact has permissions 664 and is owned by the incubator group
  • wait 24 hours for the artifact to propagate to the mirrors before announcing the release
    • ideally, a test download should be done from the mirror and a check of the sums and signatures should be done

IMPORTANT: Once a release is copied to the dist location, it must not be modified. This can signal that an attack is being performed. If an error is found, a new .Z release should be made.