You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci(release): generate release notes latex from toml (#2108)
Store release notes in a TOML file and build the develop.tex file from it at distribution time. Storing release notes in a structured form allows more easily using them elsewhere, e.g. we could substitute in the nightly build release descriptions (#2059) or into the RTD site.
Add tomli and Jinja2 to the Python dependencies. I figure we might as well adopt Jinja for this since we have discussed adopting it for other tasks here as in flopy sooner or later.
Also move the contents of develop.tex into previous/v6.6.1.tex, we hadn't done this post-6.6.1 step yet. As this is one of the only remaining manual steps at release time we can automate it at some point?
By way of demonstration, the new develop.toml representing the develop branch right now becomes
[sections]
features = "NEW FUNCTIONALITY"
fixes = "BUG FIXES AND OTHER CHANGES TO EXISTING FUNCTIONALITY"
examples = "EXAMPLES"
[subsections]
basic = "BASIC FUNCTIONALITY"
internal = "INTERNAL FLOW PACKAGES"
stress = "STRESS PACKAGES"
advanced = "ADVANCED STRESS PACKAGES"
solution = "SOLUTION"
exchanges = "EXCHANGES"
parallel = "PARALLEL"
[[items]]
section = "features"
description = "The binary grid file's name may now be specified in all discretization packages with option GRB6 FILEOUT followed by a file path. If this option is not provided, the binary grid file will be named as before, identical to the discretization file name plus a '.grb' extension. Note that renaming the binary grid file may break downstream integrations which expect the default name."
Sections and subsections can be added/removed to the leading tables as necessary, then referenced from items. For now all the existing headers/subheaders which were previously in the template are included.
I considered different ways of doing this, including
- structuring the TOML exactly as the latex was/will be, with a list of items inside each nested section — but I figured a single flat list of items was clearer
- putting sections/subsections in the jinja template and removing them from the toml file, then using a "tag" system to assign an item to section/subsection
..and went with the current approach for lack of a strong sense yet which is best.
fixes = "BUG FIXES AND OTHER CHANGES TO EXISTING FUNCTIONALITY"
4
+
examples = "EXAMPLES"
5
+
6
+
[subsections]
7
+
basic = "BASIC FUNCTIONALITY"
8
+
internal = "INTERNAL FLOW PACKAGES"
9
+
stress = "STRESS PACKAGES"
10
+
advanced = "ADVANCED STRESS PACKAGES"
11
+
solution = "SOLUTION"
12
+
exchanges = "EXCHANGES"
13
+
parallel = "PARALLEL"
14
+
15
+
[[items]]
16
+
section = "features"
17
+
subsection = "basic"
18
+
description = "The binary grid file's name may now be specified in all discretization packages with option GRB6 FILEOUT followed by a file path. If this option is not provided, the binary grid file will be named as before, identical to the discretization file name plus a ``.grb'' extension. Note that renaming the binary grid file may break downstream integrations which expect the default name."
0 commit comments