Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M MathJax
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 304
    • Issues 304
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MathJax
  • MathJax
  • Wiki
  • Release process checklist

Release process checklist · Changes

Page history
Update for v2.7 authored Aug 25, 2016 by Peter Krautzberger's avatar Peter Krautzberger
Hide whitespace changes
Inline Side-by-side
Release-process-checklist.md
View page @ c1b8980e
***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) **Note: we follow [semantic versioning](http://semver.org/) and the terms major, minor, patch, and beta release are used as in that context.**
* [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.**
### At GitHub ### 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. 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. Double check that MathJax's internal version is updated as well. 2. If it is not a patch release, an `vN.m-latest` branch is created.
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. Double check that MathJax's internal version and `package.json` is updated as well.
3. Complete the [[Documentation update process]]. 4. Don't forget to repack and recombine the files before merging.
4. The download distribution should then be downloaded and smoke tested. 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 ### At CDN
Reference: https://github.com/mathjax/MathJax/wiki/CDN-Hosting-at-Google-Cloud-Storage 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. 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. 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 ### 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 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) * Advise regarding the CDN propagation (clear browser cache etc)
* Point to the release * Point to the release
* Give instructions for reporting bugs, and refer questions to MathJax Users * 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 ### For the community
...@@ -42,35 +42,6 @@ Reference: https://github.com/mathjax/MathJax/wiki/CDN-Hosting-at-Google-Cloud-S ...@@ -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 new post should be announced on social media channels, see [[MathJax-web-presence]].
* The press release should be pushed to MailChimp. * 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 ## Note for patch release
......
Clone repository

MathJax Wiki

  • Contributing
    • Contributor License Agreement etc
    • Quick guide to translating mathjax
  • Development
    • Development Process
      • Release Process Checklist
      • Documentation Update Process
      • Source Control Policies
      • GitHub
    • Design Documents
      • MathJax Roadmap
      • Semantic Enrichment project
      • CDN Hosting
        • CDN requirements
        • CDN Hosting at Google Cloud Storage
      • Performance Discussion
      • Profiling and Diagnostics Tools
      • Documentation generation guide
      • Testing
        • Platforms supported
        • Test Machines
  • MathJax web presence