Menu

Release

Ulf Lorenz

Just to make sure nothing is forgotten when releasing a new version:

  • check that requirements.txt is still up-to-date
    • install pip-tools in a venv
    • run $venv/bin/pip-compile -o requirements.txt requirements.in
    • check that everything works with the new requirements.txt, in particular the virtual machine image
  • run checkers on the code (see tools/checkers.txt)
    • cppcheck to find potential problems (see tools/wavepacket.cppcheck for the configuration file)
      • update suppressions for cppcheck
    • clang static analyzer
    • clang address and UndefinedBehavior sanitizer (see tools/checkers.txt)
    • check the code coverage; apart from certain dirty edges (LoggingObserver), the coverage should be around 100%
    • run gcc, clang through with extensive errors
  • update AUTHORS, Readme
  • update the Wiki on any demo changes (new animations etc.)
  • check version number in code, template and documentation
  • check that the documentation compiles without severe warnings or errors
  • check that compilation works with different compilers and for C++-14 and 17 => use test_all.sh script under tools/
  • check that compiltion works with the current Vagrantfile
  • check that wp-build script works
  • check the binary test output against last version's reference
  • tag the release
  • build Windows Python package
    • check: Which Python version to use, update Readme_PythonPackage.md if required
    • build the package according to instructions
    • test it
  • build and upload packages (.zip, .tbz, Readme file)
  • upload and link the new docs
  • upload demos and link the new ones
  • update the wiki (release page, feature page, front page wiki, demo wiki?)
  • announce
    • mailing list
    • researchgate with extremely primitive markdown
    • blog

Related

Wiki: Main

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.