The National Oceanic and Atmospheric Administration’s Environmental Modeling Center (EMC), a valued client of RedLine, has made significant progress in enhancing their software development processes. Working closely with our team at RedLine, NOAA EMC has implemented and improved Continuous Integration (CI) workflows using GitHub Actions that have markedly improved their code quality and development efficiency.
At NOAA EMC, the focus has been on creating custom GitHub actions for their CI pipelines. These custom GitHub actions have substantially reduced code duplication and accelerated CI fixes and improvements across NOAA EMC repositories. Defined as YAML (“composite”) workflows, these custom GitHub actions can run arbitrary shell code and call other actions.
Through our collaboration, several specialized custom GitHub Actions have been developed to address common tasks in NOAA EMC’s scientific computing workflows:
- Installing and caching specialized compilers and scientific libraries
- Building and caching NCEPLIBS dependencies through CMake
- Implementing and running comprehensive unit tests for packages through Spack
- Streamlining build processes for CMake-based packages
One particularly effective custom GitHub Action, ci-build-nceplibs, has compressed hundreds of lines of integration code into just a few lines of configuration, representing a ten-fold reduction in CI code complexity in some repositories. This transformation has made workflows significantly more maintainable and less susceptible to errors.
The GitHub Actions strategy extends to maintaining the health of Spack recipes, facilitating testing of dependent packages, and ensuring alignment between CMakeLists.txt files and Spack recipes. This comprehensive approach supports NOAA EMC’s broader ecosystem and simplifies work for their spack-stack team.
Future enhancements to the CI system will include automated dashboard generation with CDash and AI-assisted code reviews for pull requests. These innovations will further strengthen the development process, improving code quality metrics and enhancing team collaboration.
By investing in these automated CI solutions through GitHub Actions, NOAA EMC is not just optimizing their development pipelines – they’re establishing new standards for efficient, scalable, and maintainable development practices in scientific computing. This work demonstrates how thoughtful automation can transform software development practices in specialized technical domains.




