-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Release process checklist
Table of Contents
- 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. - 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. - The release is tagged in GitHub. This causes a labeled distribution to be created (with the tag name) in the GitHub download manager.
- Complete the Documentation update process.
- The download distribution should then be downloaded and smoke tested.
Reference: https://github.com/mathjax/MathJax/wiki/CDN-Hosting-at-Google-Cloud-Storage
- Upload the new version to the CDN as
N.m-latest
and updatelatest
. - If fonts were updated, fix mime-type headers. If there were no updates, it's faster to copy the fonts from
latest
toN.m-latest
in the cloud. - If updated, check the custom headers of fonts via curl.
- Purge the cache: it seems CloudFlare picks up changes to GCS immediately. But to be sure, purge MathJax.js via the CloudFlare Web Interface.
- A news announcement for the release is posted. The post should follow the announcement for previous versions, in particular
- 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
- Extract from this a press release and push it via MailChimp.
- 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, see MathJax-web-presence.
This is almost identical, except that we don't do as much.
- 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. - 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. - The download distribution should then be downloaded and smoke tested.
- Upload the new version to the CDN by updating the copy in the
mathjax-beta
buckets. - Set the custom headers for the fonts.
- Check the custom headers via curl.
- A news announcement for the beta release is posted. The post should follow the announcement for previous versions, in particular
- 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
- 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.
This is the process for releasing a patch release to the CDN:
- Prepare and test a
vN.m.x
branch with the fixes as per our regular development process - Merge to vN.m-latest (and master when patching the current release).
- Tag / make a GitHub release pointing to milestone.
- Copy the changed files to
mathjax/x.y-latest
(andmathjax/latest
if that's the latest) on the CDN - Purge the CDN
- Send email update to sponsors, mailing lists, cdn-notify list
- Monitor for any issues.
Note that our policy is that we don't create tracking branches or documentation branches for patch releases.
From the documentation:
If a packaged release receives any important updates, then those updates will be part of the branch for that version. The link to the .zip file in the download list will be the original release version, not the patched version. To obtain the patched version, use the Branches drop down menu (at the far left of the menus within the page) to select the release branch that you want (for example v1.1-latest), and then use the download button and the Download .tar.gz or Download .zip button to get the latest patched version of that release.
Note: The CDN notify announcements should contain this info, as should the download page.