Release workflow

Pre release

  • Tests, check coverage
  • Mypy check
  • Pylint check
  • Translations
    pybabel extract -F openatlas/translations/babel.cfg -k lazy_gettext -o openatlas/translations/messages.pot .
    pybabel update -i openatlas/translations/messages.pot -d openatlas/translations
  • Update version in
  • Update model image in application and Sphinx
  • Sphinx: update manual, version, check links with uncommenting the print line in the function manual in openatlas/display/
    sphinx-build ./sphinx/source/ openatlas/static/manual
  • Update changelog, release date
  • Update upgrade, upgrade SQL and installation notes
  • Prepare newsletter, news


  • Git branches
    • merge release_candidate to main
    • remove release_candidate
    • merge main to develop
    • raise version in develop
  • Push to GitHub
  • Upgrade demo versions, if database upgrades:
    pg_dump openatlas_demo > /var/lib/postgresql/openatlas_demo.sql
    pg_dump openatlas_demo_dev > /var/lib/postgresql/openatlas_demo_dev.sql
  • Test demo
  • Post news
  • Upgrade CRAWS, ACDH-CH and NHM instances
    • Download new database dump
    • Upgrade code and database
    • Send newsletter
    • Raise version in the online versions list

Post release

  • Update Redmine roadmap
  • Add news at
  • Git tag
  • Push main and tags to GitHub, GitLab and Bitbucket
  • Update GitHub latest release
  • Update stats in wiki

Updated by Alexander Watzinger 2 days ago · 66 revisions

Also available in: PDF HTML TXT