Skip to content

Recipe Test Workflow (RTW) prototype #2786

@KatherineTomkins

Description

@KatherineTomkins

Introduction

How we are working

  • We created a main feature branch for the prototype (called recipe_test_workflow_prototype), and sub-feature branches are used for individual development tasks (see the discussion we had with V)
  • We created a Recipe Test Workflow (RTW) label, which we add to every issue and PR
  • We open an issue for each individual development task, stating Part of #2786 in the first comment of the issue
  • We create a draft PR and link to the issue for the individual development task as normal
  • We ensure the RTW checks pass before requesting a reviewer
  • Documentation exists but is currently separate from the main documentation (it is located in the recipe_test_workflow directory) and:
    • we hope to add the documentation to main documentation before the main feature branch is merged
    • we update the documentation for each individual development task, as appropriate

Completed Issues / PRs

Task Issue PR Assignee Merge date
Create a feature branch in the ESMValTool repository, add initial commit N/A #2787 @mo-tgeddes 2022-09-02
Update configure task to use the correct paths #2814 #2815 @KatherineTomkins 2022-09-29
Update the install_cold task to install the latest version of ESMValTool and ESMValCore #2821 #2803 @KatherineTomkins 2022-10-03
Add compare task to RTW #2819 #2820 @mo-tgeddes 2022-10-04
Add workflow checks to RTW #2857 #2859 @mo-tgeddes 2022-10-17
Add two groups of two test recipes #2816 #2822 @KatherineTomkins 2022-10-20
Upgrade the RTW to work with ESMValTool v2.8.0 #3168 #3169 @ehogan 2023-06-26
Implement RTW review comments #3245 #2863 @mo-tgeddes 2023-06-28
Separate install cold and clone task for RTW #2870 #2871 @mo-tgeddes 2023-06-28
Update the RTW to work at the MO #3385 #3386 @ehogan 2023-10-18
Add JASMIN as an additional site to the RTW #3060 #3302 @ehogan 2023-10-20
Simplify configure task in recipe test workflow #3398 #3394 @alistairsellar 2023-10-26
Use Docker containers in the RTW #3246 #3399 @alistairsellar 2023-12-12
Run RTW prototype daily with local KGO #3493 #3556 @alistairsellar 2024-03-27
Add imagehash package as an ESMValTool dependency #3436 #3557 @alistairsellar 2024-04-03
Set resources for RTW recipes individually #3561 #3562 @alistairsellar 2024-04-09
RTW should support recipes in subdirectories #3566 #3567 @alistairsellar 2024-05-09
Update Cylc version in lock file for RTW #3593 #3596 @mo-gill 2024-05-20
Store RTW files in share directory in installed workflow #3434 #3600 @mo-gill 2024-05-21
Add recipe recipe_consecdrydays to RTW #3608 #3609 @mo-gill 2024-05-22
Validate RTW user config file #3392 #3615 @chrisbillowsMO 2024-05-24
Remove imagehash install from RTW #3621 #3622 @mo-gill 2024-05-29
Add Rose and Cylc to testing dependencies for RTW #3623 #3625 @ehogan 2024-05-30
Add recipe_ocean_multimap to RTW #3626 #3627 @chrisbillowsMO 2024-06-10
Replace the MO-specific URL in the RTW with a public URL #3654 #3657 @mo-gill 2024-06-20
Include verbose output from compare.py in RTW #3669 #3671 @ehogan 2024-06-21
Add code owners for the RTW #3667 #3668 @ehogan 2024-06-21
Add rose macro -V command to rtw-tests.yml #3632 #3649 @chrisbillowsMO 2024-06-24
Add how to add a recipe documentation #3074 #3614 @mo-gill 2024-06-25
Add the recipe_ocean_amoc.yml recipe to the RTW #3663 #3664 @ehogan 2024-06-25
Review rose-app.conf files in RTW #3571 #3601 @mo-gill 2024-06-25
Merge the RTW documentation with the ESMValTool documentation #3253 #3684 @ehogan 2024-06-26
Final sanity check and reorganisation of RTW #3685 #3707 @ehogan 2024-07-02
Remove Rose and Cylc from the ESMValTool environment #3723 #3816 @ehogan 2024-11-20

Work to be done after the prototype is merged

Task Issue PR Assignee
Add remaining recipes to RTW
Add a weekly tests cycle to RTW #3570
Find compare.py more robustly within container #3437 (see ESMValGroup/ESMValCore#2381)
compare.py should fail cleanly when imagehash not available #3433
Investigate the use of containers in the RTW at the MO #3579
Get RTW to check for changes before running tests #2872
Add a mechanism for notification emails / opening new issues via Github API
Decide how to manage and store KGOs
Decide whether to resolve issues with recipes that are not reproducible
A question about fonts for R diagnostics #3396
Flag failing recipes and don't re-run until they have been changed or the repo has been updated

Addresses the user stories:

As a release manager
I want to know if changes to main in ESMValTool or Core have caused the recipes to fail to run
So that the API can be fixed before a release

As a release manager
I want to know if changes to ESMValTool or Core have changed the output the recipes
So that I can make fixes or changes before a release

As a recipe owner
I want to know if changes to ESMValTool or Core have changed the output for my recipe
So that I can make fixes or changes before a release

As a member of the ESMValTool or Core development community
I want to run the recipe run workflow efficiently
So that costs are not excessive

As a member of the ESMValTool or Core development community
I want to know about tools available for regression testing
So that I am aware of my responsibilities as a developer

As a member of the ESMValTool or Core development community
I want to know if changes to main in ESMValTool or Core have caused the recipes to fail to run
So that I can fix issues in the API

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions