Skip to content

Release process checklist

pkra edited this page May 17, 2013 · 30 revisions

For releases

At GitHub

  1. All code changes are internally tested according to the MathJax Development Process, and merged into the mathjax/master branch at GitHub. Repack and recombine the files to make sure they are consistent with the unpacked versions.
  2. If this is a numbered release, the vN.M-latest branch is created, and a README-branch.txt file is made for the version number, and committed to the branch. This makes the branch appear as a separate line in the network viewer. Check that MathJax's internal version is updated as well.
  3. The release is tagged in GitHub. This causes a labeled distribution to be created (with the tag name) in the GitHub download manager.
  4. Complete the Documentation update process.
  5. The download distribution should then be downloaded and smoke tested.

At CDN

  1. Check the TTL of the CDN. Set it to 8h ahead of time.
  2. Upload the new version to the CDN
  3. Set the custom headers for the fonts (see Managing Rackspace Cloud Files & CDN)
  4. Update all older releases of the version (i.e., update beta with release, update beta, release with latest etc).

At mathjax.org

  1. The download page should be updated to point to the new release.
  2. Update the documentation page at http://www.mathjax.org/resources/docsindex/
  3. A news announcement for the release is posted. The post should
    • Describe what is new
    • Advise regarding the CDN propagation (clear browser cache etc)
    • Point to the release
    • Give instructions for reporting bugs, and refer questions to MathJax Users

For the community

  • Send word to the MathJax sponsors
  • Announcement should be posted to the User Groups at mathjax-dev and mathjax-users
    • Advise regarding the CDN propagation (clear browser cache etc)
  • The new post should be announced on social media channels MathJax-web-presence.

After the release

  • After 2 days (assuming no critical bugs show up), set the TTL again to its previous setting (currently: 7 days)

For a beta releases

This is almost identical, except that we don't do as much.

At GitHub

  1. All code changes are internally tested according to the MathJax Development Process and merged into the mathjax/vN.M-beta branch at GitHub. Repack and recombine the files to make sure they are consistent with the unpacked versions.
  2. The vN.M-beta branch is created. This makes the branch appear as a separate line in the network viewer. Check that MathJax's internal version is updated as well.
  3. The download distribution should then be downloaded and smoke tested.

At CDN

  1. Check the TTL of the CDN. Set it to 8h ahead of time.
  2. Upload the new version to the CDN as vN.M-beta (and while you're at it, create vN.M-latest).
  3. Set the custom headers for the fonts (see Managing Rackspace Cloud Files & CDN)

At mathjax.org

  1. A news announcement for the release is posted. The post should
    • Describe what is new
    • Point to the beta branch and download at github.
    • Give instructions for reporting bugs, and refer questions to MathJax User Groups

For the community

  • Send word to the MathJax sponsors
  • Announcement should be posted to the User Groups at mathjax-dev and mathjax-users
  • The new post should be announced on social media channels MathJax-web-presence.
Clone this wiki locally