Introduce Dockerization
Simplify Docker setup + CI improvements
I'm helping a friend set up their IDE on Windows to get this project compiling — and wow, it's not fun.
Along the way, I realized that the current setup could really use some cleanup and more guidance.
Run git submodule update --init --recursive first on freshly cloned repo.
Dockerization
- Added a Dockerfile based on
ubuntu:24.04to make the dev environment reproducible - Pinned all packages to their functioning version tag resulting in fully-reproducible builds
- Installed the required packages (GCC 14, Python 3.11 (pinned), Boost, Eigen, etc.)
- Installed CMake >3.29 manually to match project requirements
- Added support for installing Python dependencies from CMake
- Set up the Docker image to be CI-friendly
CI/CD
- Please enable repo runners so the image can actually be built automatically in the future
- I've added a CI check in
.gitlab-ci.ymlto verify that PRs don’t break the build
Let me know if anything should be changed or if you'd like to tweak the base image/tools.
Edited by Felix Evers