horde-ad
horde-ad copied to clipboard
Release checklist
Last minute optional breaking changes:
- [ ] hlint (M-x haskell-check | hlint . | C-x `)
- [ ] remove dead code detected with weeder or HPC
Last minute optional checks and tweaks:
- [ ] compare current small benchmark results in CI vs CI benchmark logs from the previous release (but logs are kept only 90 days!)
- [ ] run long benchmarks and benchmarks against other libraries
- [ ] profile and optimize any surprise regressions and outliers
- [ ] spellcheck any longer texts
- [ ] verify that code samples in README and elsewhere make sense and match their counterparts in current tests
- [ ] add any used extensions to
other-extensions
in .cabal file
Testing:
- [ ] rebuild with
-fwith_expensive_assertions
- [ ] run the full test suite (not the short CI one)
- [ ] review the output of CI for any red flags
Package:
- [ ] switch on the
release
flag in .cabal file - [ ] check that haddocks get generated and fix any warnings
- [ ] update changelog
- [ ] if breaking changes, bump version number some more
- [ ] verify no dependencies are too strict
- [ ] cabal check; cabal sdist
- [ ] upload hackage candidates
- [ ] create a draft of the github release
- [ ] flesh out the github release, copy the changelog
- [ ] publish the github release, which also creates a tag
- [ ] publish hackage candidates as the official releases
Supervise:
- [ ] if the haddocs don't build, upload them
- [ ] https://matrix.hackage.haskell.org/package/horde-ad
Cool down:
- [ ] bump version number for development
- [ ] switch off
release
flag