AtlasBuildScripts: Update release notes script
I'm opening this now to get some comments. The idea is to use gitlab labels to make the release notes a bit more descriptive. This requires the use of a gitlab token, and then if you run the command as:
./Build/AtlasBuildScripts/prepare_release_notes.py release/23.0.4 nightly/master/2022-07-12T2101 -t INSERT_TOKEN_HERE
then you get the following output:
Release notes for release/23.0.4
The release release/23.0.4 was built from the tag nightly/master/2022-07-12T2101
This is the list of merge requests that were included since the previous release release/23.0.3:
- 471824 Initial CI artifacts copying prototype Test, Tools
- 472043 GeoExporter: Add missing QDebug include Geometry
- 472054 AODMerge_Skeleton.py: Set AthenaEventLoopMgr.EventPrintoutInterval = 100 Reconstruction
- 471981 Updating bs-streamerinfos in master (ATR-25602) Trigger
- 471672 CI: Sync master and 22.0 Run 3 tests Test, Tools
If you use the --group-merge-requests
option, then it will try to group MRs with the same main labels. Example output is:
Release notes for release/23.0.4
The release release/23.0.4 was built from the tag nightly/master/2022-07-12T2101
This is the list of merge requests that were included since the previous release release/23.0.3:
-
Test, Tools
- 471824 : Initial CI artifacts copying prototype
- 471672 : CI: Sync master and 22.0 Run 3 tests
- 471662 : CI: Update Run 4 geometry tag, add digest check and enable PHYS test
-
Geometry
- 472043 : GeoExporter: Add missing QDebug include
- 471474 : Sweeping !54951 (merged) from master to 22.0. cppcheck uninitialised member
-
Reconstruction
- 472054 : AODMerge_Skeleton.py: Set AthenaEventLoopMgr.EventPrintoutInterval = 100
-
Trigger
- 471981 : Updating bs-streamerinfos in master (ATR-25602)
There's quite a lot in here that isn't perfect - I don't like how I've hard-coded the approved labels, for example, and the code could really do with a general clean-up, but hopefully this is useful as a proof-of-principle.
Edit: I forgot to mention that I took the opportunity to move from argparse to optparse, since argparse is deprecated since 2.7 https://docs.python.org/2/library/optparse.html
This was discussed in SW coordination and it was agreed to accept this, and use the default option: https://indico.cern.ch/event/1183702/