cdt/docker
Jonah Graham b433dfad02 Update docker image of osxcross to latest requirements.
Building osxcross is somewhat problematic because the versions
are not fixed and reproducibility of making this docker file
can be problematic. For example new versions of cmake, etc
make be needed. TODO Is there a way to fix the version of
osxcross so that we can rebuild reliably?
2024-05-01 12:36:57 -04:00
..
cdt-infra-all-gdbs Add Dockerfiles for build images of CDT project 2024-04-26 11:15:27 -04:00
cdt-infra-base Cleanup CDT repo related to the docker + Java 21 updates 2024-04-26 20:26:40 -04:00
cdt-infra-build-macos-sdk Update docker image of osxcross to latest requirements. 2024-05-01 12:36:57 -04:00
cdt-infra-eclipse-full Cleanup CDT repo related to the docker + Java 21 updates 2024-04-26 20:26:40 -04:00
cdt-infra-plus-eclipse-install Add Dockerfiles for build images of CDT project 2024-04-26 11:15:27 -04:00
scripts Cleanup CDT repo related to the docker + Java 21 updates 2024-04-26 20:26:40 -04:00
.dockerignore Add Dockerfiles for build images of CDT project 2024-04-26 11:15:27 -04:00
build-images.sh Add Dockerfiles for build images of CDT project 2024-04-26 11:15:27 -04:00
deploy-images.sh Add Dockerfiles for build images of CDT project 2024-04-26 11:15:27 -04:00
Readme.md Add Dockerfiles for build images of CDT project 2024-04-26 11:15:27 -04:00
toolchains.xml Cleanup CDT repo related to the docker + Java 21 updates 2024-04-26 20:26:40 -04:00

Dockerfiles

The docker images for Eclipse CDT's Jenkins instance are stored at quay.io and built using the following scripts. The individual directories below this one contain Dockerfiles which contain a little more information. Note that the split between the Dockerfiles is somewhat arbitrary and historical. Only the cdt-infra-eclipse-full image is known to be referenced outside of the cdt repo.

build-images.sh

Builds the images locally. A download of Xcode_9.4.1.xip (visit here first to logon to Apple if needed) is needed to do a complete build. To save on rebuild times, the xip can be removed from the directory to use the cached cdt-infra-build-macos-sdk image.

deploy-images.sh

Builds images (from cache), uploads them to quay.io/eclipse-cdt namespace and then updates all the Jenkinsfile and yaml files to refer to these new images.

Using the docker images

The docker images exist mostly for use in Jenkins, see the pod templates.

They can be used to recreate a consistent environment in other cases too. For example, you can run a full build on a machine that does not already have the tools by using docker:

docker run --rm -it -v $(git rev-parse --show-toplevel):/work -w /work/$(git rev-parse --show-prefix) --cap-add=SYS_PTRACE --security-opt seccomp=unconfined quay.io/eclipse-cdt/cdt-infra-eclipse-full:latest COMMAND HERE

For examples of the above in practice, see cdt-gdb-adapter's integration tests readme and the native section of CDT's readme