horde-ad icon indicating copy to clipboard operation
horde-ad copied to clipboard

Release checklist

Open Mikolaj opened this issue 3 years ago • 0 comments

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

Mikolaj avatar Jan 27 '22 11:01 Mikolaj