GEOS-ESM / CI-workflows

Test repo for CI workflows
Apache License 2.0
1 stars 3 forks source link

Should Swell Tier 2 tests run Tier 1 tests? #9

Open Dooruk opened 5 months ago

Dooruk commented 5 months ago

Tier 2 is designed to build JEDI every day and test different suites, and update the stable build that Swell uses if all of the tests run successfully. However, the way it's currently designed, Tier 1 and Tier 2 run different suites. So, only some suites get tested daily while others are only tested manually or when a PR is under review/merged.

Would it be possible to:

1) Define the list of suites to tested with Tier 1? So Github runners can loop over the list rather than replicating the same YAML code. This list can exist outside of the workflows folder (?) so one can propose changes (i.e., add another tier 1 test) and wouldn't have to change the workflow YAMLs.

2) Make the following part of the Tier 2 to run tests with tier 1 suites.

https://github.com/GEOS-ESM/CI-workflows/blob/90ca9d0c868c4b1f940b3428f386b085930d6f9a/.github/workflows/swell-tier2_application_discover.yml#L99-L101

FYI, @rtodling.

jardizzo commented 5 months ago

It's possible to modify the workflows to accept arguments. In this manner, the dispatching workflow could supply the suite/experiment to execute. You would need to have one dispatch workflow for each experiment. Let me know if I'm properly understanding the proposed capability.

Dooruk commented 5 months ago

Instead of repeating this block of code for each suite, we would have a list of Swell suites to run (3dvar, 3dvar_atmos, hofx etc.) and this following codeblock would be looping over that list, instead of 3dvar we would template it:

https://github.com/GEOS-ESM/CI-workflows/blob/90ca9d0c868c4b1f940b3428f386b085930d6f9a/.github/workflows/swell-tier1_application_discover.yml#L139-L188

I just don't know if it would work within the confines of assigning single runner for each workflow. Also there are keys and values that would need to be templated.