-
Notifications
You must be signed in to change notification settings - Fork 6
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 model build CI for CABLE offline #223
Conversation
72bd8a3
to
913846a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at 'model-1-build.yml', I have some questions. I have no idea yet if I can approve because all of the following will come later or if any of my questions are a deal breaker.
The way we get the version implies tags can only be used for versioning on the main branch. Correct?
Currently, this will only compile with ifort. Could this be made clear in the description of the PR. And make clear development of the CI for other compilers will follow. How will the CI work if a model wants to run CI using 3 different compilers and another model wants only to use 2 compilers (potentially different compilers from the other 3)?
This comment might be more for 'build-ci' itself than the current CI here, but how are we going to deal with model components that are part of different models? For example, MOM5 is part of ACCESS-OM2 and ACCESS-CM2. For the moment, I don't think it will impact CABLE but it could in the future.
Will the CI support different MPI implementations (OpenMPI and IntelMPI) ?
@ccarouge I will direct questions around It might take some time to implement the new functionality. Should we use the build-ci action as is for now? We should also probably pin the action with a commit instead of |
Making CABLE available as a spack package allows us to test the model compiles successfully inside a continuous integration (CI) environment which gets triggered automatically on a pull request. This change adds the model build CI workflow developed by the ACCESS-NRI release team to compile CABLE offline via spack (see build-ci for more details). This workflow compiles CABLE using the intel compiler. The CI for other compilers will follow after this pull request. Fixes #202
913846a
to
5a4ec77
Compare
Hi @ccarouge :) yes, please let me know of any functionality that you require, and I can work on it when possible. Currently we only use it for compilation testing in ACCESS-OM2/3 but it would be great to hear from model developers regarding their workflows so I can either add the needed functionality to Tagging @aidanheerdegen as well so it's on his radar. @SeanBryan51 yes, it is good practice to pin workflow versions for external workflows. Do note that you will have to update the workflow here whenever there is an update relevant to you (rather than just having the latest). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's good to go
Making CABLE available as a spack package allows us to test the model compiles successfully inside a continuous integration (CI) environment which gets triggered automatically on a pull request. This change adds the model build CI workflow developed by the ACCESS-NRI release team to compile CABLE offline via spack (see build-ci for more details). This workflow compiles CABLE using the intel compiler. The CI for other compilers will follow after this pull request.
Fixes #202
📚 Documentation preview 📚: https://cable--223.org.readthedocs.build/en/223/