Containerize CAM-SIMA unit tests and clean up CI infrastructure#511
Open
kuanchihwang wants to merge 14 commits into
Open
Containerize CAM-SIMA unit tests and clean up CI infrastructure#511kuanchihwang wants to merge 14 commits into
kuanchihwang wants to merge 14 commits into
Conversation
* The `orbital_data` unit tests have become out-of-sync with the actual module which they are supposed to test against. Also, they do not use pFUnit, and are never run by the CI pipelines. * The memory tests related to MUSICA now live in the atmospheric_physics repository.
Placing `use funit` in the smallest scoping unit causes excessive build time for Intel compilers. Move it to the module level as a workaround.
Collaborator
Author
|
Merging this PR will require the following checks to be removed from the branch ruleset:
After merging, we can then add back the following new checks to the branch ruleset:
This design allows us to make changes to the CI workflows more easily without having to adjust the branch ruleset all the time. For future work, I will be adding Fortran source code linting to some parts of CAM-SIMA. I will also consolidate the remaining Python tests (git-fleximod, source code linting, doctests, etc.) into one unified workflow file, so we can replace them with a single entry, "Overall status (CAM-SIMA Python CI)", in the branch ruleset. Let me know if you have any questions or suggestions about the proposed CAM-SIMA CI roadmap. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tag name
None (Bit for bit)
Originator(s)
kuanchihwang
Description (include the issue title, and the keyword ['closes', 'fixes', 'resolves'] followed by the issue number)
This PR containerizes the CAM-SIMA unit tests with an expanded compiler matrix (GNU 11-15, Intel oneAPI 2024, and 2025). The bootstrap overhead of compiling pFUnit, ParallelIO, and installing various other dependencies has been eliminated, resulting in faster and more consistent CI time.
In addition, this PR brings general maintenance for the CAM-SIMA CI infrastructure, including:
ubuntu-slimrunner to improve CI startup time.CMakeLists.txt.Describe any changes made to the build system
None
Describe any changes made to the namelist
None
List any changes to the defaults for the input datasets (e.g., initial, boundary datasets)
None
List all files eliminated and why
List all files added and what they do
List all existing files that have been modified, and describe the changes
Regression tests
Known failing test.
Known failing test.
Pass.