Skip to content

Commit 5c130ef

Browse files
add jules release notes
1 parent 504fc30 commit 5c130ef

File tree

3 files changed

+183
-3
lines changed

3 files changed

+183
-3
lines changed

source/Reviewers/curaterelease.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Curating a Release
55
:maxdepth: 1
66

77
releases/um_test_release
8+
releases/jules_release
89
releases/um_main_release
910
releases/lfric_apps_release
1011

@@ -92,8 +93,8 @@ Any potential changes to platform software stacks
9293
Main Release
9394
------------
9495

95-
`Jules Release <https://code.metoffice.gov.uk/trac/jules/wiki/CuratingARelease>`_
96-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
96+
:ref:`Jules Release <jules_release>`
97+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
9798

9899
**Dependencies**
99100
Partner Testing, All Jules tickets committed
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
.. _jules_release:
2+
3+
Jules Release
4+
=============
5+
6+
Create a ticket and Create Branches
7+
-----------------------------------
8+
9+
To document the process create a ticket and put a link to it on the release curation ticket. You may wish to include links to the UM branch and a wiki page for the reviews.
10+
11+
.. code-block::
12+
13+
Documents the 'Build and install the Jules release'
14+
15+
NOTES: Any changes required that are not a direct instruction from this section of the guide.
16+
17+
'''Branch :''' [log:main/branches/dev/branch_path_n_name dev/branch_path_n_name]
18+
'''[wiki:ticket/ticket_no/CodeSystemReview Code/System Review]'''
19+
20+
21+
Create and check out a head of trunk Jules branch. Then update the ticket description.
22+
23+
.. code-block::
24+
25+
fcm bc -k ticket_no vn5.9_jules_release fcm:jules.x_tr
26+
fcm co fcm:jules.x_br/dev/username/r12345_vn5.9_jules_release
27+
28+
29+
Metadata Changes
30+
----------------
31+
32+
* First, change the user guide URLs in the ``HEAD`` metadata for ``jules-fcm-make`` and ``jules-standalone`` from "latest". This is done automatically by running the ``create_jules_version_metadata.py`` script from the ``rose-stem`` directory.
33+
34+
.. code-block::
35+
36+
cd rose-stem
37+
./bin/create_jules_version_metadata.py 5.8 5.9
38+
39+
* Run ``rose config-dump`` to ensure that the metadata files are in the common format (do this from the top-level of the working copy)
40+
* Copy ``rose-meta/jules-standalone/versions.py`` to an appropriately named file, e.g. for the JULES vn5.9 release, the file is called ``rose-meta/jules-standalone/version58_59.py``.
41+
42+
.. code-block::
43+
44+
fcm cp rose-meta/jules-standalone/versions.py rose-meta/jules-standalone/version58_59.py
45+
46+
* Edit ``rose-meta/jules-standalone/versions.py`` to:
47+
48+
* Remove the upgrade macros
49+
* Import the macros from the newly created file, eg.
50+
51+
.. code-block::
52+
53+
...
54+
from .versionUU_YY import *
55+
...
56+
57+
class vnYY_txxxx(MacroUpgrade):
58+
59+
"""Upgrade macro from JULES by Author"""
60+
61+
BEFORE_TAG = "vnY.Y"
62+
AFTER_TAG = "vnY.Y_txxxx"
63+
64+
def upgrade(self, config, meta_config=None):
65+
"""Upgrade a JULES runtime app configuration."""
66+
67+
# Add settings
68+
return config, self.reports
69+
70+
* Edit ``rose-meta/jules-standalone/version<from>_<to>.py`` such that,
71+
72+
* Imports of other macros are removed
73+
* Add a new blank upgrade macro that bumps the version to the release versiom,
74+
75+
.. code-block::
76+
77+
class vn58_vn59(MacroUpgrade):
78+
"""Version bump macro"""
79+
80+
BEFORE_TAG = "vn5.8_txxx"
81+
AFTER_TAG = "vn5.9"
82+
83+
def upgrade(self, config, meta_config=None):
84+
# Nothing to do
85+
return config, self.reports
86+
87+
* Add a similar version bump macro to ``rose-meta/jules-fcm-make/versions.py``.
88+
89+
* Check that the list of options on line 96 in ``rose-meta/jules-fcm-make/HEAD/rose-meta.conf`` includes all the ones listed in directory ``etc/fcm-make/platform/`` (ignoring custom.cfg, envars.cfg and load_settings.cfg).
90+
* Commit the metadata changes
91+
92+
93+
Rose Stem Updates
94+
-----------------
95+
96+
* Update the ``VN`` variable in ``rose-stem/rose-suite.conf``.
97+
* Upgrade the rose-stem apps as normal, using the upgrade macro added earlier, eg.
98+
99+
.. code-block::
100+
101+
./bin/upgrade_jules_test_apps vn5.9
102+
103+
* Update ``KGO_VERSION`` in ``rose-stem/include/variables.rc`` to the release version, making a note of original version number.
104+
* Login as julesadmin and create new KGO directories for the release by copying the old kgo to a new directory named ``vnX.Y``. See `the kgo install instructions <https://code.metoffice.gov.uk/trac/jules/wiki/KGOInstall>`_ for paths to the kgo install.
105+
106+
.. code-block::
107+
108+
xsudo -i -u julesadmin
109+
110+
# Azure Spice
111+
PREVIOUS=vn5.8_txxx
112+
RELEASE=vn5.9
113+
cd <KGO_DIR>
114+
cp -r ./$PREVIOUS ./$RELEASE
115+
116+
# EXAB
117+
# From your desktop
118+
ssh -Y login.exab.sc
119+
PREVIOUS=vn5.8_txxx
120+
RELEASE=vn5.9
121+
cd <KGO_DIR>
122+
cp -r ./$PREVIOUS ./$RELEASE
123+
124+
# From EXAB, rsync to EXCD & EXZ:
125+
rsync -avz <KGO_DIR>/$RELEASE login.excd.sc:<KGO_DIR>
126+
rsync -avz <KGO_DIR>/$RELEASE login.exz:<KGO_DIR_EXZ>
127+
exit
128+
exit
129+
130+
* Commit the rose-stem changes and then run the Jules and UM rose-stem suites to ensure nothing has broken.
131+
132+
133+
Code Review and Commit
134+
----------------------
135+
136+
Pass the Jules ticket along for code review and commit. Once done, :ref:`Tag <reference-tagging>` the trunk with the new version number (a ``umX.Y`` tag can also be added if the UM release number is known).
137+
138+
139+
Release Notes
140+
-------------
141+
142+
These are done with a PR in `this github repo <https://github.com/jules-lsm/jules-lsm.github.io>`_
143+
144+
Often the release notes will have been prepared beforehand and have their own ticket. In this case it makes more sense for you to review and commit that branch. See below for the relevant steps and the ​how to commit page for instructions.
145+
146+
The user guide contains release notes for each JULES version which should detail any major commits.
147+
148+
#. Create a new file at ``user_guide/doc/source/release_notes/JULESX-X.rst``, probably by copying from a previous release
149+
#. Go through the trunk commits since the last release and decide whether the change is worth noting
150+
#. Use the ticket details to describe the change
151+
#. For some large commits, it is worth contacting the original author for a few sentences
152+
#. Add the new file to the contents, at the top - ``user_guide/doc/source/release_notes/contents.rst``
153+
#. Update the version number in ``docs/user_guide/source/conf.py`` and check the copyright variable is correct.
154+
155+
To build the docs, move into the ``user_guide/doc`` directory. At meto, ``module load scitools`` will also need to have been run.
156+
157+
.. code-block::
158+
159+
# For html pages
160+
make html
161+
firefox build/html/index.html
162+
163+
# For latex pdfs
164+
make latexpdf
165+
gio open build/latex/JULES_User_Guide.pdf
166+
167+
168+
Publicise the Release
169+
---------------------
170+
171+
Update the wiki:
172+
173+
* Update the table on the front page of this wiki to note the release.
174+
* Create a new standard jobs page for the upcoming release cycle - compare the list of apps in the table to that in the rose-stem/apps directory.
175+
* Mark the wiki milestone for the release as completed (this should give the option to move open tickets to a different milestone)
176+
177+
Notify the JULES community:
178+
179+
* Post a message to the JULES Users mailing list : (​JULES-USERS@MAILLISTS.READING.AC.UK) and (​JULES@MAILLISTS.READING.AC.UK)
180+
* Post a message to the simulation-systems ​GitHub Discussions board

source/Reviewers/releases/um_main_release.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ To document the process create a ticket and put a link to it on the release cura
1616
1717
'''Branch :''' [log:main/branches/dev/branch_path_n_name dev/branch_path_n_name]
1818
'''Meta Branch :''' [log:meta/branches/dev/branch_path_n_name dev/branch_path_n_name]
19-
'''[wiki:ticket/ticket_no/SciTechReview SciTech Review]'''
2019
'''[wiki:ticket/ticket_no/CodeSystemReview Code/System Review]'''
2120
2221

0 commit comments

Comments
 (0)