-
Notifications
You must be signed in to change notification settings - Fork 128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Application of the broken recipe policy for releases #3065
Comments
I like this a lot Remi! One note would be to perhaps add another column of On a side note if we change the file for the recipe index I'd be strongly in favour of adding the recipe names after the titles in brackets, as I know that at least I sometimes can't remember the titles but only recipe filenames making it harder to look them up =D |
Thanks @remi-kazeroni, these are really good suggestions. This will make the life of the release manager so much easier, and also helps users in choosing which recipes to run. Two suggestions:
|
I have created a link that is set to point to the overview table of successful/failed recipe runs for the last release. That could also be used to inform our users which recipes can't be run with the stable release of ESMValTool: https://esmvaltool.dkrz.de/shared/esmvaltool/stable_release/debug.html |
Thanks @remi-kazeroni it sounds like a good approach to me. To confirm, I am OK with recipe_autoassess_landsurface_soilmoisture being marked as broken under this policy, and accept the badge of shame that comes with it. :sad:. Let me know if I need to do anything associated with this, like updating the doc page. I like the suggestion of adding relevant statement to doc page. In this case I could make it clear that the recipe only works on Jasmin, and that there is a plan to fix it for other machines. |
Sorry, some weird side effect of copy-and-paste there - was not intending to close the issue! Was trying to reply constructively! |
Thanks a lot for your opinion on this @alistairsellar. I agree it would probably make sense to flag this recipe as broken with the explanation that it only runs on Jasmin at the moment. Hopefully, that could be improved in the future. Would you know why the recipe_autoassess_landsurface_permafrost.yml runs fine (see test) even if the same climatology files seem to be required? Could it be that the climatology files are actually not used? In both cases the recipes already mention that the files can only be accessed on Jasmin but the doc pages (here and here) could probably be clarified. It would be great if you could take a look. |
After the first round of recipe testing for the release v2.8 (see #3076), it seems that we have only 2 families of recipes that can't be run due to not publicly available data: To handle these recipes, I would propose one of the two following approaches:
I think we need to be pragmatic here. The goal is to make the release process as simple as possible. The discussion on how to deal with "missing data recipes" should be handled on a case by case basis between the maintainers, the Science and the Tech Lead Teams. |
@alistairsellar @remi-kazeroni let's mark that as broken, ok. But for the love of motor racing gods, let's get that data be public before 2.9 - am looking at you, Met Office 😁 |
Yes, you are right. It turns out that it is not actually dependent on Jasmin - only the soilmoisture one is.
Yes, they do need clarified: to emphasise the dependency in one case, and to remove the implication of a dependency in the other. I've opened #3103 for this. Soilmoisture documentation now mentions (in #3103) that the recipe is broken, as part of highlighting Jasmin dependency. But for application of broken recipe policy, should the word "broken" also be in bold or something at the top of the documentation page? Suggestions welcome (or feel free to edit branch directly). |
It would be good to talk about this again at the next workshop and see if we can update our policy to capture the ideas people have on this. |
If a recipe is failing because of a single dataset, we could just remove it so the recipe works again. |
Is your feature request related to a problem? Please describe.
Since a few months, we have an official policy for broken recipes in our docs: https://docs.esmvaltool.org/en/latest/community/broken_recipe_policy.html. This states:
affected recipe will be listed under “broken recipes” in the Changelog, together with the version number of the last known release in which the recipe was still working. If a recipe continues to be broken for three releases of the ESMValTool (about one year) and no recipe maintainer could be found during this time, the affected recipe and diagnostics will be retired.
I'd like to discuss a bit here how to apply our policy in practice. We have a few cases where the recipes are known to be broken, issues have been opened with the next milestone, maintenance has not happened for various reasons and issues are bumped to the next milestone. This makes the job of the release manager harder as the person runs these recipes without knowing these are broken, needs to figure out the problem again, scroll through issues and comments to check if that was known before, ...
For v2.8, I'm planning to add a first "broken recipes" section to the Changelog and list broken recipes. This might not be so readable in the long run if lists of broken recipes are split across changelog for different releases.
We discussed yesterday in a Tech Lead Team Meeting that it could be useful to have a full list/table of broken recipes in our documentation. This would help users when they try to run broken recipes and are not sure if they did something wrong. This would also simplifies the release process a bit and hopefully increase the willingness to maintain broken recipes. The table could be linked at the bottom of the recipe index: https://docs.esmvaltool.org/en/latest/recipes/index.html
The table could look like:
recipe_perfmetrics_land_CMIP5.yml
recipe_check_obs.yml
Possible problems would be:
If the table gets too long, we could think of having one table per type of problems.
Also, it could be good practice to open an issue listing newly broken recipes once a release is done. By using milestones, we can check whether these recipes have received attention before reaching the limit of 3 releases. An example: #2943
Would you be able to help out?
Would you have the time and skills to implement the solution yourself?
Yes, I could add this table to the documentation and update the release instructions accordingly. But I'd be happy to get feedback from @ESMValGroup/esmvaltool-coreteam first 🍻
The text was updated successfully, but these errors were encountered: