For anyone utilising ESMF in a GitHub workflow, e.g. for Continuous Integration testing, there is now a GitHub Workflow action available to make this process much more straightforward
The ESMF Core Team is pleased to announce the release of a GitHub action to simplify the process of building and caching ESMF libraries and utilities on GitHub runners. Once ESMF is installed on a GitHub runner it can be used to build and test ESMF, NUOPC, ESMX, and esmpy based applications in the GitHub Actions environment. It was designed to promote continuous integration (CI) and release testing of ESMF based applications in the GitHub environment. Please see the actions webpage for more information https://github.com/esmf-org/install-esmf-action
Simplicity
- Configure, build, cache, and set up an environment for ESMF libraries and utilities in one step.
Fully Customizable Builds
- Utilize environment variables, as outlined in the ESMF User’s Guide, to configure the ESMF build as needed. This provides a mechanism to tune the compiler, communicator, debugging options, 3rd party libraries, and all other ESMF build options.
ESMF Versioning
- Select from a specific version, the latest release, or the head of development.
Smart Caching
- GitHub caching is built directly into this action. This caching function recognizes changes to the ESMF version, the system, or 3rd party libraries to determine if a new build is needed.
Performance
- Utilize multiple cores, as provided by GitHub runners, to enhance build speeds.
Usage Example
- name: Install ESMF
uses: esmf-org/install-esmf-action@v1
env:
ESMF_NETCDF: nc-configAs always, please write esmf_support@ucar.edu with any questions or issues concerning ESMF.