Release procedure (permanent issue)
Manual checks:
- Browse through entire online documentation: all scripts and figures present?
- Check all links in documentation (#1134 (closed))
Release new versions of dependencies, if they have changed:
- libheinz
- libformfactor
Manual deployment tests (check installation procedures according to webdocs; run Python scripts, run GUI session; import sample from script to GUI)
- Debian
- Mac10
- Mac12
- Windows
Finalize bornagain (MRs against release branch):
- Finalize CHANGELOG
- Write release letter
- CMakeLists.txt
-
In hugo/config.toml, update
release_number
,version_name
,url_blob
-
Set git tag v
x.y
- reversible freeze
Finalize ba-www (in fresh release branch):
- Update content/documentation.md
- Update static/js/version_switch
-
In config.toml, update
version_mm
- Add release letter
Upload installers and wheels (this makes the release irreversible):
- Build installers and wheels for all Python versions
-
Installers to www@scgbuild:www/ext/ba/files/
version
.patch
/ - Wheels to PyPI
Publish:
- Create release in Jugit
- In www@scg3:ba: for hotfix, update versioned repository (in subdirectory repo, checkout release branch and run make, make figures etc, hugo); for major release, create new versioned repository
-
In www@scg3:www/ba/public, update
latest
and version link - Merge release branch to ba-www => Docs will automatically be updated
Inform users
- Mail to BornAgain mailing list
- For major milestones, mail to external mailing lists (neutron, sa_scat [unsigned mails only!])
- Update "Latest" section on computing.mlz-garching.de
- Inform Debian maintainers
Create next release branch
-
Create branch
rx.y
, push to Jugit - In Jugit > Settings > Repository > Protected Branches, protect the branch