![]() - Fix links for cdt-infra - The cdt-infra git repo is now archived, so this commit updates the links to the current values. - Add new Docker related files to the gitattributes as text files - Update DEFAULT_BUFFER_SIZE for Java 21's value when building JNI, this also means the dll/exe need a rebuild - add a toolchains.xml since we use Java 21 toolchain, but most bundles are Java 17 still |
||
---|---|---|
.. | ||
cdt-infra-all-gdbs | ||
cdt-infra-base | ||
cdt-infra-build-macos-sdk | ||
cdt-infra-eclipse-full | ||
cdt-infra-plus-eclipse-install | ||
scripts | ||
.dockerignore | ||
build-images.sh | ||
deploy-images.sh | ||
Readme.md | ||
toolchains.xml |
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