Skip to content
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

improve CI #719

Closed
edwardhartnett opened this issue Dec 8, 2022 · 6 comments
Closed

improve CI #719

edwardhartnett opened this issue Dec 8, 2022 · 6 comments
Assignees
Labels

Comments

@edwardhartnett
Copy link
Collaborator

edwardhartnett commented Dec 8, 2022

I have been applying accumulated experience and knowledge to a refactor of the NCEPLIBS CI systems.

See NCEPLIBS-grib_utils for an example.

Here's a summary of what I had in mind for UFS_UTILS:

  • Create a developer build which does address santizer, doxygen build, warning check, code coverage, and Debug build. Turn these settings off in all other builds. Use develop branch of all required NCEPLIBS libraries and the latest version of jasper.
  • Create a Linux_versions workflow that checks with different versions of dependencies.
  • Create a Linux_settings workflow that tests different build options with the most recent versions of dependencies.
  • Create an Intel workflow that uses the Intel compilers.
  • Create a MacOS workflow does mac testing, with latest versions.
  • Use ubuntu-latest/macos-latest everywhere.
  • Use caches everywhere they can be used, including for test data.

For UFS_UTILS, what I propose is to make these changes gradually, over the next week or so, so they do not disrupt any development efforts. I will add workflows. For a time, there will be duplicate testing - as we become confident of the new workflows, we can remove the old ones.

@GeorgeGayno-NOAA any objection to this plan?

@edwardhartnett edwardhartnett self-assigned this Dec 8, 2022
@GeorgeGayno-NOAA
Copy link
Collaborator

That sounds fine. Can you take the lead? Two of our workflows are currently breaking and I have no idea how to fix them.

@edwardhartnett
Copy link
Collaborator Author

Yes, I will take care of it.

I have just done all the other NCEPLIBS. I was saving UFS_UTILS for last, because it is the most challenging. ;-)

@aerorahul
Copy link
Contributor

@edwardhartnett

Is there a reason for not using spack to build the dependencies?
Kyle Gerheiser, before he left, advised us to use spack to build them as it makes it really easy to.
See the current CI builds for e.g. in UPP, GSI, GSI-utils, WW3.

I am curious what changed and why.

@edwardhartnett
Copy link
Collaborator Author

Nothing has changed. I just haven't tried spack for this yet, but I do plan to.

GeorgeGayno-NOAA pushed a commit that referenced this issue Dec 14, 2022
… found instead of using FTP. (#732)

Add handling for the TEST_FILE_DIR option in CMake. This allows the programmer to 
specify a local directory to check first, before downloading test data files from the FTP site.

Use this capability, and a cache, to cache the data for all CI runs as well. This prevents
the CI system from downloading these test files hundreds of times per day.

Part of #719.
Fixes #728
@arunchawla-NOAA
Copy link

Is this still being worked on ? Seems like this should be its own Project board with a number of specific issues as this one issue is too broad

@edwardhartnett
Copy link
Collaborator Author

I will close this issue and add a new one for further work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants