|
| 1 | +# Releasing MeTA Versions |
| 2 | + |
| 3 | +This document contains a checklist for releasing a version of MeTA so we |
| 4 | +follow a consistent releasing process. |
| 5 | + |
| 6 | +1. Pick a version number. MeTA releases (Major.Minor.Patch) ought to be API |
| 7 | + compatible with other releases that share the same Major and Minor |
| 8 | + version numbers but different Patch versions. |
| 9 | + |
| 10 | + Major API changes (like new libraries or toolkit-wide backwards |
| 11 | + incompatible API changes) increment the Major release number. Minor API |
| 12 | + changes (like enhancements) increment the Minor release number. Patch |
| 13 | + versions should be released only for bug fixes. |
| 14 | + |
| 15 | +2. Ensure `CHANGELOG.md` is up to date. |
| 16 | + |
| 17 | + If there are *any* breaking changes, mention these explicitly. If there |
| 18 | + are migration strategies to work around these breaking changes, provide |
| 19 | + a brief explanation (or a link to explain them). |
| 20 | + |
| 21 | +3. If there are major *or* minor API changes, ensure that the documentation |
| 22 | + on the website (meta-toolkit/meta-toolkit.org) is correct. |
| 23 | + |
| 24 | + Update Doxygen as necessary. |
| 25 | + |
| 26 | +4. Ensure that the build is passing on both Travis (Linux + OS X) and |
| 27 | + Appveyor (Windows/MinGW-w64). |
| 28 | + |
| 29 | +5. Merge branch `develop` into `master` with a commit message |
| 30 | + |
| 31 | + > Merge branch 'develop' for MeTA vX.Y.Z |
| 32 | +
|
| 33 | + Use `git merge develop --no-ff` to create a merge commit. |
| 34 | + |
| 35 | +6. Tag the merge commit. The tag should be both annotated *and* signed: |
| 36 | + |
| 37 | + ``` |
| 38 | + git tag -as vX.Y.Z |
| 39 | + ``` |
| 40 | + |
| 41 | + The tag message should be the contents of the CHANGELOG for that |
| 42 | + version. Remove unnecessary markdown syntax like header markers and code |
| 43 | + blocks. Backticks can stay. |
| 44 | + |
| 45 | +7. Push the merge and the tags to GitHub: |
| 46 | + |
| 47 | + ``` |
| 48 | + git push --follow-tags |
| 49 | + ``` |
| 50 | + |
| 51 | +8. Create a release on GitHub using the new tag. Its title should be "MeTA |
| 52 | + vX.Y.Z". |
| 53 | + |
| 54 | + The contents of the message should be exactly the same as the CHANGELOG |
| 55 | + entry for that release. |
| 56 | + |
| 57 | +9. Upload the model files and include a section in the GitHub release notes |
| 58 | + containing their sha256 sums. |
0 commit comments