Skip to content

DevNotes_Processeses_ReleaseAutomationScript

Wojciech Potrzebowski edited this page Jan 16, 2021 · 8 revisions

Release automation script (work in progress)

Release automation script is located in build_tools and covers following

  • Setups init and license files
  • Generates zenodo doi and writes to the init file
  • Templates release notes

Running script

  • cd SASVIEW_WORKSPACE (folder where you have both sasview and sasmodels folders)
  • create release branches in sasview and sasmodels (script will write to these folders and you probably want to make pull requests out of them)
  • Run python sasview/build_tools/release_automation.py with arguments
    • -v sasview version e.g. -v 5.0.4
    • -s sasmodels version e.g. -s 1.0.5
    • -z zenodo api key (long string not shared here obviously)
    • -u your github username (it is required for preparing release notes as otherwise github rejects if too many requests are made)
    • -p password for github user (for the same reason as above)
    • -l comma separated list of sasview issues resolved for this release
    • -m comma separated list of sasmodels issues resolved for this release
    • example: python sasview/build_tools/release_automation.py -v 5.0.4 -s 1.0.5 -z ****** -u ******* -p ******* -l 1740,1738 -m 431,432

Notes

  • If you don't provide github credentials release notes template won't be generated
  • Script will output list of "fixed" issues that need has to be copied "/sasview/docs/sphinx-docs/source/user/RELEASE.rst" and modified manually. We can hopefully automatize it further in future iterations
  • Comma separated list of issues can be generated with tools like [Github CLI] (https://cli.github.com) but didn't manage to work it out completely with time interval. It nay also be possible to extract it from git log.
Clone this wiki locally