-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add non-repro, simple CI checks all relevant config PRs #25
Comments
Some checks
Many of these are available in an existing CI checking "library" |
Could use pytest markers to mark tests to assist in running only when required. e.g. https://pytest-with-eric.com/pytest-best-practices/pytest-markers/ |
@dougiesquire do you have any comments about the checks suggested above? Particularly the And off topic, but hooo boy, there should be a special place in controlled vocabulary hell for the committee that thought |
Seems sensible to me. FYI, this choice doesn't impact the catalog, which gets the realm per file. Currently there's no easy way to determine whether an ACCESS-OM2 MOM output file is |
Thanks. I should have been more specific (as usual), I wasn't sure if If we assume not, that both are required, we'll have the situation that the experiment specifies both realms, but none of the "file assets" (data files) have the |
I see - I don't think we should only include
I can't see this being a huge problem anytime soon. The only issue I can think of off the top of my head is if you are doing/planning something like writing code snippets to load data from the catalog based on the |
@aidanheerdegen if we want to run different checks on different branches, we could add another {
"markers": {
"branches": {
"release-1deg_jra55_ryf": "highres and config and metadata",
"release-some_other_config": "config and metadata"
}
}
} What do you think? (thanks for bringing it to my attention @jo-basevi |
We could .. but equally we could also just interrogate the branch name If the latter makes the CI too access-om2 specific, if otherwise it could be used more generically, then I'd be ok with a config file. |
We could interrogate the branch, and do it all in a step, but that assumes that we will not really have many branches ( |
I forgot a check! We also want this set in manifest:
reproduce:
exe: True Arguably we probably want |
It would be good to control (limit) the acceptable keywords in the configurations, partly to provide guidance on what should be used because everyone will come up with their own. Keywords are a bit of a wild-west and it doesn't seem there are many definitive vocabularies of keywords available, but the Global Change Master Directory (GCMD) Keywords might be one. It might be overkill but it is a great resource, e.g. So .. a list of acceptable keywords (please others add your opinions):
I've intentionally left off organisational keywords because that should be covered in the metadata right? Also it might not be mutually exclusive. We should definitely credit COSIMA because they developed these configurations, but also ACCESS-NRI is supporting them now. |
Speaking of controlled vocabularies, we need to populate the From this CMIP6 example it seems like a distance measure is the normal approach and the respective values should be
Does that look right to you @aekiss ? |
Note the CMIP6 controlled vocab is here. Most are distance measures as you said. |
Thanks. WCRP "Controlled" vocabulary I have a https://github.com/WCRP-CMIP/CMIP6_CVs/blob/main/CMIP6_nominal_resolution.json#L9 |
Absolute distance is a terrible measure eh? "ballpark resolution" might be a better name.
Ignore me. I have already changed the CI goalposts too many times today. So sorry @jo-basevi! |
Absolute distance is worse than degrees, but degrees are also not great (meridional resolution in degrees is also latitude-dependent due to Mercator grid, and then there's the tripolar region). I guess that's why they hedge it with "nominal". |
And at least distance has some vague meaning for normal people I guess. |
* call-pr-1-ci.yml: Removed 'metadata.yaml' from paths-ignore as part of #25 * Removed a couple of non-standard keywords * Updates based on QA failures * Updated to access-om2 2024.03.0 * Update exe manifest * Added CC BY 4.0 License file * Updated metadata notes to be consistent with #64 --------- Co-authored-by: Tommy Gatti <tommy.gatti@anu.edu.au>
* call-pr-1-ci.yml: Removed 'metadata.yaml' from paths-ignore as part of #25 * - Changed to access-om2 to 2024.03.0 * Turn on exe manifest repro check * Added CC BY 4.0 License file * Fix jobname in config.yaml * Update notes metadata to be consistent with #64 * Removed extraneous metadata fields * Set version to 1.0 --------- Co-authored-by: Tommy Gatti <tommy.gatti@anu.edu.au>
* call-pr-1-ci.yml: Removed 'metadata.yaml' from paths-ignore as part of #25 * Removed a couple of non-standard keywords * Updates based on QA failures * Updated to access-om2 2024.03.0 * Update exe manifest * Added CC BY 4.0 License file * Updated metadata notes to be consistent with #64 --------- Co-authored-by: Tommy Gatti <tommy.gatti@anu.edu.au>
* Fix 1deg_jra55_ryf configuration (#54) * call-pr-1-ci.yml: Removed 'metadata.yaml' from paths-ignore as part of #25 * Removed a couple of non-standard keywords * Updates based on QA failures * Updated to access-om2 2024.03.0 * Update exe manifest * Added CC BY 4.0 License file * Updated metadata notes to be consistent with #64 --------- Co-authored-by: Tommy Gatti <tommy.gatti@anu.edu.au> * Set version to 1.0 * Updated checksums and bumped version to 2.0 as part of https://github.com/ACCESS-NRI/access-om2-configs/actions/runs/8611230342 --------- Co-authored-by: Tommy Gatti <tommy.gatti@anu.edu.au> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Fix 1deg_jra55_iaf configuration (#59) * Changed to access-om2 to 2024.03.0 * Added CC BY 4.0 License file * Update notes metadata to be consistent with #64 * Updated checksums and bumped version to 2.0 as part of https://github.com/ACCESS-NRI/access-om2-configs/actions/runs/8625604000 * call-pr-1-ci.yml: Removed 'metadata.yaml' from paths-ignore as part of #25 --------- Co-authored-by: Tommy Gatti <tommy.gatti@anu.edu.au> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update update-01deg_jra55_iaf_bgc. Changed to access-om2 to 2024.03.0 * update config.yaml * update metadata.yaml * Added CC BY 4.0 License file * call-pr-1-ci.yml: Removed 'metadata.yaml' from paths-ignore as part of #25 --------- Co-authored-by: minghangli <minghang.li1@anu.edu.au>
* Fix 1deg_jra55_iaf configuration (#59) * Changed to access-om2 to 2024.03.0 * Added CC BY 4.0 License file * Update notes metadata to be consistent with #64 * Updated checksums and bumped version to 2.0 as part of https://github.com/ACCESS-NRI/access-om2-configs/actions/runs/8625604000 * call-pr-1-ci.yml: Removed 'metadata.yaml' from paths-ignore as part of #25 --------- Co-authored-by: Tommy Gatti <tommy.gatti@anu.edu.au> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
References this comment: #23 (comment)
We don't need to go through the rigamarole of testing reproducibility for all PRs (only test that for
dev-*
intorelease-*
) but we should still do some checks. See the referenced comment for the types of checks we want to do. These would run on all config-related PRs (<some feature>
intodev-*
, anddev-*
intorelease-*
).The text was updated successfully, but these errors were encountered: