| 1 | -*- outline -*- |
| 2 | This is an explanation of how to make a release for Emms. Emms is |
| 3 | developed at Savannah (https://savannah.gnu.org/projects/emms/) and |
| 4 | distributed via Emacs ELPA (https://elpa.gnu.org/). |
| 5 | |
| 6 | * clean compilation |
| 7 | Check for clean compilation on the two latest major Emacs releases. |
| 8 | |
| 9 | |
| 10 | * check for basic functionality |
| 11 | Check for clean loading and running with basic functionality on the |
| 12 | two latest major Emacs releases. |
| 13 | |
| 14 | |
| 15 | * version bump |
| 16 | Increase the version number in emms.el (`emms-version' and the elpa |
| 17 | header as a comment). |
| 18 | |
| 19 | |
| 20 | * NEWS |
| 21 | update the NEWS file from the git log to include all significant |
| 22 | user-facing changes. |
| 23 | |
| 24 | |
| 25 | * contributors |
| 26 | Update AUTHORS file with the names of any new contributors. This is a |
| 27 | good chance to make sure we are releasing everything with proper |
| 28 | copyleft. |
| 29 | |
| 30 | |
| 31 | * copyleft notices |
| 32 | Check that any new files have correct copyright notices, and that all |
| 33 | modified files have updated years reflecting when they were changed. |
| 34 | |
| 35 | |
| 36 | * update the manual |
| 37 | Update the manual: |
| 38 | |
| 39 | $ makeinfo --html --no-split emms.texinfo |
| 40 | |
| 41 | Make sure that the manual compiles cleanly and that it looks right. |
| 42 | |
| 43 | |
| 44 | * website update |
| 45 | Update the website with all any pertinent information. Upload a new |
| 46 | version of the manual if it has changed in this release: |
| 47 | |
| 48 | $ cvs commit -m "update website" index.html |
| 49 | |
| 50 | |
| 51 | * tag release and push the tag |
| 52 | Commit and push all of the above changes, then tag the release in git, |
| 53 | for example: |
| 54 | |
| 55 | $ git tag -a 4.2 -m "4.2" |
| 56 | $ git push --tags origin "4.2" |
| 57 | |
| 58 | |
| 59 | * push to repo |
| 60 | Push the version update itself to the git repo. We have automatic |
| 61 | synchronization set up for GNU ELPA, so we are done. |
| 62 | |
| 63 | |
| 64 | * announce |
| 65 | Announce the release in the emms mailing list if it is called for. |