NOAA-GFDL / pace

Re-write of FV3GFS weather/climate model in Python
Apache License 2.0
12 stars 11 forks source link

pace container CI #68

Closed mlee03 closed 3 months ago

mlee03 commented 5 months ago

Purpose

This PR containerizes the current pace CI. Therefore, this PR resolves the issue of where to store the CI input files since all CI input files can be stored or generated in the container during Github Action.

Code changes:

Requirements changes:

N/A

Infrastructure changes:

Changes have been made to main_unit_tests.yaml to reflect the changes to CI. Main_unit_tests.yaml has been changed to main_unit_tests_mpich.yaml and main_unit_tests_openmpi.yaml where each workflow pulls the appropriate version of image stored in the noaa-gfdl registry and runs the test with either MPICH or OpenMPI installation of MPI. Both runs the script build_and_test.sh that is found in the container. Build_and_test.sh will build the conda environment using the requirements_dev.txt and constraints.txt files, generate input files, and run pytest -x /tests/main

Checklist

Additionally, if this PR contains code authored by new contributors:

mlee03 commented 5 months ago

Currently the image is tagged as as pace:test and needs to be updated.
Would using the python version be a good idea, for example, pace:3.8? The name of the image can be changed as well, for example to pace-ci.

FlorianDeconinck commented 5 months ago

@fmalatino we need a develop branch here, made to be default. Then this PR can be merged in it instead of main

mlee03 commented 5 months ago

@FlorianDeconinck will work on it. Do we also want to set up a Github action that will automatically update the submodules maybe once a week? I think it's possible.

FlorianDeconinck commented 5 months ago

@FlorianDeconinck will work on it. Do we also want to set up a Github action that will automatically update the submodules maybe once a week? I think it's possible.

We could have a dependabot that triggers when submodules move on their main branch, which is when we release them. I'd rather have something like this rather then a cron-based update so we can have some control over the validation before it reaches Pace

mlee03 commented 4 months ago

@FlorianDeconinck, @oelbert @xyuan @fmalatino, it's been a while but the PR is ready for a final review

fmalatino commented 3 months ago

@mlee03 would you like me to merge this as is, or do you plan on pushing again with commits regarding @FlorianDeconinck's latest comment?