|
|
***Table of Contents***
|
|
|
## For all releases (major, minor, patch, and beta)
|
|
|
|
|
|
* [For regular releases](https://github.com/mathjax/MathJax/wiki/Release-process-checklist#for-releases)
|
|
|
* [For beta releases](https://github.com/mathjax/MathJax/wiki/Release-process-checklist#for-beta-releases)
|
|
|
|
|
|
## For regular releases
|
|
|
|
|
|
**Note: we follow [semantic versioning](http://semver.org/) and the terms major, minor, patch release are used as in that context.**
|
|
|
**Note: we follow [semantic versioning](http://semver.org/) and the terms major, minor, patch, and beta release are used as in that context.**
|
|
|
|
|
|
### At GitHub
|
|
|
|
|
|
1. All code changes are internally tested according to the MathJax [[Development Process]]. Once the working branch is deemed ready, iti s merged into the `mathjax/master` (for out-of-line patch releases it is merged into the branch of the minor version). Don't forget to repack and recombine the files before merging.
|
|
|
2. If it is not a patch release, an `vN.M-latest` branch is created. Double check that MathJax's internal version is updated as well.
|
|
|
3. The release is tagged/released on GitHub. This causes a labeled distribution to be created (with the tag name) in the GitHub download manager.
|
|
|
3. Complete the [[Documentation update process]].
|
|
|
4. The download distribution should then be downloaded and smoke tested.
|
|
|
1. All code changes are internally tested according to the MathJax [[Development Process]].
|
|
|
2. If it is not a patch release, an `vN.m-latest` branch is created.
|
|
|
3. Double check that MathJax's internal version and `package.json` is updated as well.
|
|
|
4. Don't forget to repack and recombine the files before merging.
|
|
|
5. Complete the [[Documentation update process]].
|
|
|
5. Once the `mathjax/develop` branch is deemed ready, it is merged into the `mathjax/master` (for out-of-line patch releases it is also merged into the branch of the minor version).
|
|
|
4. The release is tagged on GitHub with a tag name such as `N.m.p-beta.0`; follow the example of preceding release notes.
|
|
|
6. The distribution should then be downloaded and smoke tested.
|
|
|
|
|
|
### At CDN
|
|
|
|
|
|
Reference: https://github.com/mathjax/MathJax/wiki/CDN-Hosting-at-Google-Cloud-Storage
|
|
|
|
|
|
1. Upload the changed files to the CDN: create/update `mathjax/N.m-latest/`, update `mathjax/latest/` (unless a patch release is made to an older version, then just `mathjax/N.m-latest`).
|
|
|
1. The GCS buckets are: `cdn.mathjax.org` for regular releases & `beta.mathjax.org` for beta releases
|
|
|
1. Create or update `mathjax/N.m-latest/` and update `mathjax/latest/` -- unless it's a patch release for an older version, then just update `mathjax/N.m-latest`.
|
|
|
1. When fonts change, you'll need to [fix mime-type headers](https://github.com/mathjax/MathJax/wiki/CDN-Hosting-at-Google-Cloud-Storage#mime-type-headers). If there were no updates, it's faster to copy the fonts from `latest` to `N.m-latest` [in the cloud](https://github.com/mathjax/MathJax/wiki/CDN-Hosting-at-Google-Cloud-Storage#copying).
|
|
|
1. If updated, check the custom headers of fonts (e.g., via curl).
|
|
|
1. Purge the cache: it seems CloudFlare picks up changes to GCS immediately. But to be sure, purge the changed files via the CloudFlare Web Interface or purge the entire CDN.
|
|
|
1. Purge the cache: it seems CloudFlare picks up changes to GCS immediately. But to be sure, purge the changed files or the entire CDN via the CloudFlare Web Interface.
|
|
|
|
|
|
|
|
|
### At mathjax.org
|
|
|
|
|
|
1. For major and minor releases, a news announcement for the release is posted. The post should follow the announcement for previous versions, in particular
|
|
|
* Describe what is new
|
|
|
* Summary of what changed in the release
|
|
|
* Advise regarding the CDN propagation (clear browser cache etc)
|
|
|
* Point to the release
|
|
|
* Give instructions for reporting bugs, and refer questions to MathJax Users
|
|
|
2. Extract from this a press release.
|
|
|
* A copy of the What's new document from the documenation
|
|
|
2. Extract from this a press release (again, follow previous examples).
|
|
|
|
|
|
### For the community
|
|
|
|
... | ... | @@ -42,35 +42,6 @@ Reference: https://github.com/mathjax/MathJax/wiki/CDN-Hosting-at-Google-Cloud-S |
|
|
* The new post should be announced on social media channels, see [[MathJax-web-presence]].
|
|
|
* The press release should be pushed to MailChimp.
|
|
|
|
|
|
## For 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.
|
|
|
4. The download distribution should then be downloaded and smoke tested.
|
|
|
|
|
|
### At CDN
|
|
|
|
|
|
1. Upload the new version to the CDN by updating the copy in the `mathjax-beta` buckets.
|
|
|
1. Set the custom headers for the fonts.
|
|
|
1. Check the custom headers via curl.
|
|
|
|
|
|
### At mathjax.org
|
|
|
|
|
|
2. 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
|
|
|
|
|
|
### 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]].
|
|
|
|
|
|
|
|
|
## Note for patch release
|
|
|
|
... | ... | |