cdt/docker
Jonah Graham 84b5a4c3ea Add a version of Dockerfiles with node included for cdt-gdb-adapter
This is a convenience for our sister project, eclipse-cdt-cloud,
that are relying on CDT's infrastructure to do some testing.

See https://github.com/eclipse-cdt-cloud/cdt-gdb-adapter/blob/main/src/integration-tests/README.md#running-the-tests-using-docker
2024-09-24 10:19:00 -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 Use CDT's container to run all code cleanliness checks 2024-06-23 17:41:16 -04:00
cdt-infra-plus-eclipse-install Use CDT's container to run all code cleanliness checks 2024-06-23 17:41:16 -04:00
cdt-infra-plus-eclipse-install-github Use CDT's container to run all code cleanliness checks 2024-06-23 17:41:16 -04:00
cdt-infra-plus-node Add a version of Dockerfiles with node included for cdt-gdb-adapter 2024-09-24 10:19:00 -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 a version of Dockerfiles with node included for cdt-gdb-adapter 2024-09-24 10:19:00 -04:00
deploy-images.sh Add a version of Dockerfiles with node included for cdt-gdb-adapter 2024-09-24 10:19:00 -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