Open jhale opened 2 years ago
I started making some C++20 changes here: https://github.com/FEniCS/basix/tree/jhale/cell-fixes
Other tests are also running directly on GitHub action images. While I guess it reduces test runtime, I think it's better practice to start from a very minimal image and install what's needed (not a lot for Basix, presumably?).
I like the idea of enabling full C++ 20 support.
But I also think it can make it difficult to build basix on non x86_64
computers.
I think it may conflict with the idea of basix being pip installable, because it would require a compiler not available in most OS.
There are quite a few C++20 features that are only supported in GCC11 and above, e.g.
using enum
would be a big one for code readability in basix.Currently we are using
ubuntu-20.04
and GCC10 GitHub runners (i.e. no Docker) forpythonapp.yml
: https://github.com/FEniCS/basix/blob/main/.github/workflows/pythonapp.ymlI would propose:
pythonapp.yml
inside a plain Ubuntu Docker container so that the dependancy surface is minimal and well-controlled.