docs: devguide: release process updates

This commit is contained in:
Simon Michael 2015-07-12 15:09:35 -07:00
parent 08b7b609cb
commit cd93da6829

View File

@ -339,12 +339,41 @@ If you're new to this process, [help.github.com](http://help.github.com) may be
### Do a major release ### Do a major release
1. cleanup - review the release how-to in the developer guide
- review working copies (laptop, server, website) & branches, commit pending changes - and update as needed
2. document (make site-preview, http://localhost:8000/developer-guide.html#do-a-major-release)
- */*.cabal (descriptions, tested-with, files..)
- clean working copy
- commit/stash/clear any pending changes in working copy
- merge any commits from other branches & working copies
- check out master, or release branch.
Major releases are done in master if possible.
If not, do as much of the below as is feasible in master,
then start a release branch (git checkout -b X.Y)
- ensure tests pass
- make unittest
- make functest
- make haddocktest
- make cabalfiletest
- update dependencies
- check & fix any outdated upper bounds
(dev guide -> quick links -> hackage)
- update docs
- haddocks - haddocks
- */hledger*.cabal
- descriptions
- tested-with
- file lists
- data-files
- extra-tmp-files
- extra-source-files
- exposed-modules
- other-modules
- */CHANGES - */CHANGES
- doc/developer-guide.md
- doc/contributors.md - doc/contributors.md
- doc/site/release-notes.md - doc/site/release-notes.md
- doc/manual.md (commands, options, --help, ledger compatibility..) - doc/manual.md (commands, options, --help, ledger compatibility..)
@ -352,46 +381,57 @@ If you're new to this process, [help.github.com](http://help.github.com) may be
- doc/site/how-to-* - doc/site/how-to-*
- doc/site/faq.md (ledger compatibility) - doc/site/faq.md (ledger compatibility)
- doc/site/installing.md - doc/site/installing.md
- doc/site/download.md
- doc/ANNOUNCE - doc/ANNOUNCE
3. test
- coarse tests - update version
- make unittest
- make functest
- make haddocktest
4. branch
- start release branch (git checkout -b X.Y)
5. version
- edit .version - edit .version
- make setversion - make setversion
- double-check, commit (cabal files, manual, download page..) - double-check & commit (cabal files, manual, download page..)
6. package
- check Makefile's PACKAGES includes all - make tarballs/binaries
- ensure no packages are commented out in Makefile's PACKAGES
- make cabalsdist - make cabalsdist
- [make windows binaries] - [make windows binaries]
- [make osx binaries] - [make mac binaries]
7. test
- fine tests - release tests
- install from tarballs into a clean directory - make haddocktest
8. tag - make cabalfiletest
- cabal tarballs install into a clean directory without warnings
- cabal upload --dry reports no problems
- tag
- make tagrelease - make tagrelease
9. push
- publish
- git push --tags - git push --tags
10. upload - ensure the website is showing latest docs
(download page, release notes, manual, how-tos, dev guide links, etc.)
- ensure hydra has successfully built the latest packages
- make hackageupload - make hackageupload
11. announce - deploy at demo.hledger.org
- email hledger haskell-cafe haskell [ledger]
- announce
- review/close open issues in tracker
- email doc/ANNOUNCE to hledger, haskell-cafe, haskell, [ledger] lists
- tweet - tweet
- [blog] - [blog]
- [reddit] - [reddit]
- add announcement link, update short description in release notes - update release notes with announcement link & short description
12. deploy at demo.hledger.org
13. issues - post-release
- review/close open issues in tracker - ensure hackage is showing the latest haddocks
- check the hackage build matrix report
- handle problem reports, support requests
### Do a minor release ### Do a minor release
Differences from a major release: set PACKAGES only to the affected package(s), Differences from a major release:
don't run make setversion. Use make -n if unsure. work in a release branch,
set PACKAGES only to the affected package(s),
don't run make setversion.
1. cleanup 1. cleanup
- review working copies (laptop, server, website) & branches, commit pending changes - review working copies (laptop, server, website) & branches, commit pending changes