Images with prebuilt dependencies for running GTSAM on the Github Actions CI/CD.
10K+
This directory contains Dockerfiles and scripts for generating Docker images used in the Continuous Integration (CI) pipelines for GTSAM.
The images are organized by Ubuntu version and Compiler version to ensure GTSAM compiles across different environments.
ubuntu-22.04-base: Ubuntu 22.04 with common dependencies (CMake, Boost, Eigen, TBB, etc.).ubuntu-24.04-base: Ubuntu 24.04 with common dependencies.ubuntu-26.04-base: Ubuntu 26.04 with common dependencies.These extend the base images by setting up specific compilers.
Ubuntu 22.04:
ubuntu-22.04-clang-11: Clang 11ubuntu-22.04-clang-14: Clang 14ubuntu-22.04-gcc-9: GCC 9ubuntu-22.04-gcc-11: GCC 11Ubuntu 24.04:
ubuntu-24.04-clang-16: Clang 16ubuntu-24.04-gcc-13: GCC 13ubuntu-24.04-gcc-14: GCC 14Ubuntu 26.04:
ubuntu-26.04-gcc-15: GCC 15The build_and_push.sh script automates the process of building these images and pushing them to Docker Hub.
Before running the script, you must be authenticated with Docker Hub. You can do this by running:
docker login
You will be prompted for your username and password (or access token).
./build_and_push.sh <dockerhub-username>
This script:
*-base.Dockerfile images first.The base images install a comprehensive suite of development tools required by GTSAM, including:
build-essentialcmake, ninja-buildlibboost-all-devlibeigen3-devlibtbb-devlibmetis-devpython3-numpy, libpython3-devTo support a new Ubuntu version or compiler configuration:
Create a new Dockerfile:
ubuntu-<version>-<compiler>-<version>.Dockerfile (e.g., ubuntu-24.04-clang-17.Dockerfile).ubuntu-<version>-base.Dockerfile first.Define the Image:
FROM instruction if necessary.RUN commands to install the desired compiler versions.CC and CXX correctly.Build and Test:
docker build -f <your-dockerfile> .build_and_push.sh script will automatically pick up the new file because it iterates over *.Dockerfile.Content type
Image
Digest
sha256:09763bada…
Size
442.1 MB
Last updated
3 months ago
docker pull borglab/gtsam-ci:ubuntu-24.04-basePulls:
1,298
Sep 7 to Sep 13