-
Notifications
You must be signed in to change notification settings - Fork 2
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
ECLand: Initial CI test pipeline for GNU, Intel and MacOS in double-precision #1
base: main
Are you sure you want to change the base?
Conversation
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.
This looks great 👌 Thanks a lot for adding the CI setup and working through the fiddly netcdf issues 🙏 I've left just a few small comments that would be nice to cleanup before we merge.
.github/workflows/build.yml
Outdated
include: | ||
|
||
- name: linux gnu-10 | ||
os: ubuntu-20.04 |
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.
We probably want to bump this up to ubuntu-22.04; 20.04 will be deprecated soon.
.github/workflows/build.yml
Outdated
compiler_cc: gcc-10 | ||
compiler_cxx: g++-10 | ||
compiler_fc: gfortran-10 | ||
ctest_options: -V -E memory |
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.
Do we need these? I couldn't find a test called "memory", so not sure if we need this exclude here.
.github/workflows/build.yml
Outdated
# caching: true | ||
|
||
- name : linux intel-classic | ||
os: ubuntu-20.04 |
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.
Same comment as above about ubuntu version.
.github/workflows/build.yml
Outdated
sudo apt-get install libnetcdff-dev | ||
fi | ||
|
||
pip3 install numpy |
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.
Why do we need numpy?
a622650
to
13e8126
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.
This looks very good to me!
Only thing is, that I don't see any use of Python in the action, so you could skip the Python set-up step. Make sure to then also remove the python_version property from the matrix entries.
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} |
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.
Does this use any Python?
An initial test setup that runs CI in double-precision for some of the standard compilers. The install scripts are taken from ecRad and ecWAM, largely and simply execute the to standard tests via ctest.
Currently supported (and not yet supported):
Please note that single precision failed to compile with several toolchains due to a utility routine (MINMAX) being called from precision-variant and precision-invariant code paths (with JPRB and JPRD). I've left the hooks in the workflow file for fixing in a separate PR.