Draft: Refactor CI
Move most CI jobs to CMake
Issues
-
intel jobs (serial and parallel) fail with ld: /opt_mpsd/.../libnlopt.so.0.11.1: undefined reference to `std::__throw_bad_array_new_length()@GLIBCXX_3.4.29'
Problem: The relevant toolchain is compiled with Intel + GCC 12.3 (where required), the intel compiler does however see the system GCC 10.2.1 while compiling Octopus, even though the correct GCC is on PATH. Is is presumably necessary to add
-gcc-name
and-gxx-name
to the compiler flags (https://www.intel.com/content/www/us/en/docs/cpp-compiler/developer-guide-reference/2021-8/gcc-name.html). -
Valgrind fails with memory leaks, mostly (?) inside OpenMP. I don't know if any of those need to be fixed in Octopus or should be suppressed. Someone from the octopus team needs to check and update the suppression files accordingly. (The old valgrind did not use OpenMP, if using OpenMP is not desired, the present needs to be updated accordingly) -
address sanitizer with MPI: failures in openmpi, scalapack and other libraries
TODOs
-
after fixing the intel problem remove allow_failure
from intel warnings jobs -
code coverage flags for full-serial
,full-mpi-omp
, andfull-cuda-mpi-omp
-
tolerance updates once compiler flags are reviewed
related to #1056 (closed)
closes #1057 (closed), #1058 (closed), #1037 (closed)