... | ... | @@ -2,15 +2,16 @@ |
|
|
|
|
|
* [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 patch releases](https://github.com/mathjax/MathJax/wiki/Release-process-checklist#for-patch-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.**
|
|
|
|
|
|
### 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.
|
|
|
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.
|
|
|
|
... | ... | @@ -18,20 +19,20 @@ |
|
|
|
|
|
Reference: https://github.com/mathjax/MathJax/wiki/CDN-Hosting-at-Google-Cloud-Storage
|
|
|
|
|
|
1. Upload the new version to the CDN as `N.m-latest` and update `latest`.
|
|
|
1. If fonts were updated, [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 via curl.
|
|
|
1. Purge the cache: it seems CloudFlare picks up changes to GCS immediately. But to be sure, purge MathJax.js via the CloudFlare Web Interface.
|
|
|
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. 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.
|
|
|
|
|
|
|
|
|
### At mathjax.org
|
|
|
|
|
|
1. A news announcement for the release is posted. The post should follow the announcement for previous versions, in particular
|
|
|
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
|
|
|
* 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 and push it via MailChimp.
|
|
|
2. Extract from this a press release.
|
|
|
|
|
|
### For the community
|
|
|
|
... | ... | @@ -39,7 +40,7 @@ Reference: https://github.com/mathjax/MathJax/wiki/CDN-Hosting-at-Google-Cloud-S |
|
|
* 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]].
|
|
|
|
|
|
* The press release should be pushed to MailChimp.
|
|
|
|
|
|
## For beta releases
|
|
|
|
... | ... | @@ -71,22 +72,10 @@ This is almost identical, except that we don't do as much. |
|
|
* The new post should be announced on social media channels [[MathJax-web-presence]].
|
|
|
|
|
|
|
|
|
## For patch release
|
|
|
|
|
|
This is the process for releasing a patch release to the CDN:
|
|
|
|
|
|
1. Prepare and test a `vN.m.x` branch with the fixes as per our regular development process
|
|
|
2. Merge to vN.m-latest (and master when patching the current release).
|
|
|
3. Tag / make a GitHub release pointing to milestone.
|
|
|
1. Copy the changed files to `mathjax/x.y-latest` (and `mathjax/latest` if that's the latest) on the CDN
|
|
|
1. Purge the CDN
|
|
|
1. Send email update to sponsors, mailing lists, cdn-notify list
|
|
|
1. Monitor for any issues.
|
|
|
## Note for patch release
|
|
|
|
|
|
Note that our policy is that we don't create tracking branches or documentation branches for patch releases.
|
|
|
|
|
|
From the [documentation](http://www.mathjax.org/docs/1.1/installation.html#obtaining-mathjax-via-an-archive):
|
|
|
|
|
|
> 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. |
|
|
\ No newline at end of file |
|
|
|
|
|
**Note:** The CDN notify announcements should contain this info, as should the download page. |