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
Update spack-stack collaborators (add GMAO), create release task list issue template and CODEOWNERS file (#1748)
* Update various pieces of documentation with most recent list of stakeholders and spack-stack collaborators (add GMAO); create release task list issue template and CODEOWNERS file
* Add missing codeowners and HPCs to .github/CODEOWNERS and .github/ISSUE_TEMPLATE/release_tasklist.md
* [skip ci] Add NAS to .github/ISSUE_TEMPLATE/release_tasklist.md
Copy file name to clipboardExpand all lines: doc/source/Overview.rst
+2-10Lines changed: 2 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
Overview
4
4
*************************
5
5
6
-
spack-stack is a collaborative effort between the NOAA Environmental Modeling Center (EMC), the UCAR Joint Center for Satellite Data Assimilation (JCSDA), the Earth Prediction Innovation Center (EPIC), and the U.S. Naval Research Laboratory (NRL). spack-stack is designed to support the various applications of the supporting agencies such as the Unified Forecast System (UFS) or the Joint Effort for Data assimilation Integration (JEDI). The stack can be installed on a range of platforms, from Linux and macOS laptops to HPC systems, and comes pre-configured for many systems. Users can install the necessary packages for a particular application and later add the missing packages for another application without having to rebuild the entire stack.
6
+
spack-stack is a collaborative effort between the NOAA Environmental Modeling Center (EMC), the UCAR Joint Center for Satellite Data Assimilation (JCSDA), the Earth Prediction Innovation Center (EPIC), the U.S. Naval Research Laboratory (NRL), and the NASA Global Modeling and Assimilation Office (GMAO). spack-stack is designed to support the various applications of the supporting agencies such as the Unified Forecast System (UFS) or the Joint Effort for Data assimilation Integration (JEDI). The stack can be installed on a range of platforms, from Linux and macOS laptops to HPC systems, and comes pre-configured for many systems. Users can install the necessary packages for a particular application and later add the missing packages for another application without having to rebuild the entire stack.
7
7
8
8
`Spack <https://github.com/spack/spack>`_ is a community-supported, multi-platform, Python-based package manager originally developed by the Lawrence Livermore National Laboratory (LLNL; https://computing.llnl.gov/projects/spack-hpc-package-manager). It is provided as a submodule so that a stable version can be referenced. See the `Spack Documentation <https://spack.readthedocs.io/en/latest>`_ for more information.
9
9
@@ -13,15 +13,7 @@ spack-stack is mainly a collection of Spack configuration files, but provides a
13
13
14
14
- ``spack stack setup-meta-modules`` creates compiler, MPI and Python meta-modules for a convenient setup of a user environment using modules (``lua`` and ``tcl``)
15
15
16
-
spack-stack is maintained by:
17
-
18
-
- Alex Richert (@AlexanderRichert-NOAA), Hang Lei (@Hang-Lei-NOAA), and Ed Hartnett (@edwardhartnett), NOAA-EMC
19
-
20
-
- Steve Herbener (@srherbener) and TBD, JCSDA
21
-
22
-
- Cameron Book (@ulmononian), Natalie Perlin (@natalie-perlin), and Ratko Vasic (@ratkovasic-noaa), EPIC
23
-
24
-
- Dom Heinzeller (@climbfuji) and Sarah King (@sking112), NRL
16
+
spack-stack is maintained by representatives of the contributing organizations (see `project_charter.md` in this repository for the current list of representatives).
Copy file name to clipboardExpand all lines: project_charter.md
+11-4Lines changed: 11 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,7 @@ in installing the large number of packages managed by spack-stack.
24
24
- The UCAR Joint Center for Satellite Data Assimilation (JCSDA)
25
25
- The Earth Prediction Innovation Center (EPIC)
26
26
- The U.S. Naval Research Laboratory (NRL)
27
+
- The NASA Global Modeling and Assimilation Office, (GMAO)
27
28
28
29
Each stakeholder will designate a small number of developers to assist
29
30
in spack-stack development by becoming a code manager of the
@@ -34,9 +35,10 @@ spack-stack repo.
34
35
Organization | Code Manager(s)
35
36
-------------|----------------
36
37
NOAA EMC | Alex Richert, Hang Lei
37
-
JCSDA | Steve Grace, Evan Parker
38
+
JCSDA | Ashley Griffin, Evan Parker
38
39
EPIC | Rick Grubin, Ratko Vasic
39
-
NRL | Dom Heinzeller, Sarah King
40
+
NRL | Dom Heinzeller, TBD
41
+
NASA | Matthew Thompson, TBD
40
42
41
43
## Project Process
42
44
@@ -81,11 +83,11 @@ install on their systems (see https://spack-stack.readthedocs.io/en/latest/PreCo
81
83
Any stakeholder can perform a release at any time.
82
84
83
85
The release process:
84
-
* Create a GitHub issue explaining the reason for the release, and to notify all other stakeholders.
86
+
* Create a GitHub issue using the release task list template
85
87
* Unless it is a patch release (increasing the z in x.y.z,), create a project board for the release at https://github.com/JCSDA/spack-stack/projects.
86
88
* Designate any issues that must be fixed before release by assigning it to the epic and the project board, and ensure their completion.
87
89
* Install the release tags (or the final version of the release branches to allow for last-minute site config updates) on all supported platforms.
88
-
* Update the documentation and create release tags for the spack-stack repo and the spack submodule.
90
+
* Update the documentation and create release tags for the spack-stack repo and the spack and spack-packages submodules.
89
91
* Update the GitHub Release Notes.
90
92
* Perform the release on GitHub.
91
93
@@ -158,14 +160,17 @@ _Sole exception_
158
160
`esmf@8.4.2 + mapl@2.35.2` works with `esmf@8.5.0 + mapl@2.35.2` because auto-generated module name for mapl is `mapl/2.35.2-esmf-8.5.0`
159
161
160
162
#### Also to consider
163
+
161
164
Our spack environments are large and complex. Adding more and more packages to the same environment between releases increases the risk of spack concretization errors (rebuilding existing libraries against new dependencies, unintended updates to existing libraries, duplicate packages, …)
162
165
163
166
Spack-stack unified environments serve multiple applications at the same time: `ufs-weather-model`, `ufs-srw-app`, `skylab` (`jedi-fv3`, `soca`, `ewok`), `jedi-mpas`, `jedi-neptune`, `jedi-um`, `jedi-ufs`, etc. - for each of these, developers may potentially request several package installations “between releases”.
164
167
165
168
### Handling library updates for applications
169
+
166
170
We need to consider two types of installations: test installations and official updates
167
171
168
172
#### Test installations
173
+
169
174
Test installations can be requested as part of issues (which should be mandatory for pull requests anyway). These can be more frequent than official updates.
170
175
Issues can be in the application (e.g. `ufs-weather-model` repo) or in spack-stack, clearly describing the need and with a reasonable timeline.
171
176
@@ -180,6 +185,7 @@ module load fms/2023.02
180
185
The advantage is that it is obvious to the developer, the reviewers and the code managers that a library update in a PR is not officially rolled out everywhere yet. Further, there is no risk to corrupt official spack-stack installations with frequent test installs.
181
186
182
187
#### Official updates / patch releases
188
+
183
189
Official updates should be limited in frequency and are only allowed after full acceptance testing (see test installations above).
184
190
185
191
Updates that will generate module duplicates require a completely new spack-stack installation. Making these kinds of updates between releases should be the absolute exception when it is really urgent (critical bugs or security issues). We roll out a new spack-stack release every three months anyway!
@@ -189,6 +195,7 @@ Official updates need to be made consistently across all platforms. There shall
189
195
Since official updates require coordination across all platforms, the timeline for these installs must be more generous than for test installs.
190
196
191
197
## Lifetime of spack-stack installations
198
+
192
199
Regular, full releases of spack-stack are made every three months around the end of February, May, August, and November.
193
200
194
201
spack-stack developers are committed to maintaining a rolling stock of the last four releases, i.e. one year's worth of spack-stack releases. Under special circumstances (e.g. operational implementations that require long-term support, long-running official retrospectives), selected releases may be kept longer. Maintenance in this context refers to addressing bugs or recompiling in the event of an intrusive update to the system. Adding new functionality or new packages is in general limited to the current and future releases. Modifications to past releases that do not impact existing installations, such as the addition of chained environments/custom Spack repositories, or new templates or site configurations, may be considered on a case-by-case basis."
0 commit comments