Closed skosukhin closed 1 year ago
@skosukhin This is wonderful, thanks very much. On the containers, if you're able to open a pull request against https://github.com/earth-system-radiation/containers I'm happy to consider it. I can make a branch for you to target if you want.
@skosukhin You'll see that everything now runs on Ubunutu 22.04 and that I've followed your lead and use libnetcdff-dev
installed via apt-get
in the gfortran
testing via Github actions
This now depends on https://github.com/earth-system-radiation/containers/pull/9.
This also adds testing with ifx
. The compiler flags might require some adjustments though.
Several more changes:
Self-hosted CI
workflow is now marked green in the Actions although cce-gpu-openmp
expectedly fails. The workflow is supposed to be red if any other job fails. Note that commits and merge requests are still marked red.Several more changes:
- A couple of Python scripts now make several attempts (instead of just one) to download files before failing. It looks like the server rejects connections when there are too many of them, which sometimes happens when multiple CI jobs are started at once.
This is great and addresses #107.
zstd
on top of the container images, which makesCI
andContainerized-CI
use the same cache (see here why).environment.yml
that are not needed to run the CI jobs. This reduces the cache file from ~500MB to ~280MB. I guess we can reduce it further if we switch toapt-get install
andpip install
.HDF5
,NetCDF-C
andNetCDF-Fortran
in theCI
jobs with Ubuntu packagelibnetcdff-dev
, which works because Fortran module files for Gfortran 9 and Gfortran 10 are compatible.doc-deployment.yml
because it seems redundant to me but I might be wrong: I haven't thoroughly compared the results before and after the change.self-hosted-ci.yml
) easier (hopefully). The exact mechanism is used in ICON development.Tip: it might happen at some point that the cached files (i.e. RFMIP or Conda) do not match changes in the code and the workflows will start failing because of that. Some time ago, it was not possible to update/remove the cache files. The only way to tell the jobs that they should not use the existing cache but download the files on their own was to change the
key
. Now, we can easily remove invalid/obsolete caches here.Recommendations on the containers:
/opt/intel/oneapi/setvars.sh
(e.g. in~/.profile
) so that the respective CI jobs don't have to do that over and over again.zstd
installed for the same reason.&& rm -rf /var/lib/apt/lists/*
to the lastapt-get install
command of a container.~ (the reduction in size is negligible)