1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-21 21:52:10 +02:00
cdt/docker
Jonah Graham dfdc174b6d Update and refactor Dockerfiles to newer Ubuntu
The docker images all have new, simpler names and use Ubuntu 20.04
(instead of 18.04) as their base.

A few new tools have been added, specifically what is needed for:

- Linux on RISC-V - see #980
- Winodows on ARM - see #969

Fixes #976
2024-12-28 10:48:30 -05:00
..
cdt-infra Update and refactor Dockerfiles to newer Ubuntu 2024-12-28 10:48:30 -05:00
cdt-infra-build-macos-sdk Update and refactor Dockerfiles to newer Ubuntu 2024-12-28 10:48:30 -05:00
cdt-infra-github Update and refactor Dockerfiles to newer Ubuntu 2024-12-28 10:48:30 -05:00
cdt-infra-jipp Update and refactor Dockerfiles to newer Ubuntu 2024-12-28 10:48:30 -05:00
scripts Update and refactor Dockerfiles to newer Ubuntu 2024-12-28 10:48:30 -05:00
.dockerignore Add Dockerfiles for build images of CDT project 2024-04-26 11:15:27 -04:00
build-images.sh Update and refactor Dockerfiles to newer Ubuntu 2024-12-28 10:48:30 -05:00
deploy-images.sh Update and refactor Dockerfiles to newer Ubuntu 2024-12-28 10:48:30 -05:00
Readme.md Update and refactor Dockerfiles to newer Ubuntu 2024-12-28 10:48:30 -05:00
toolchains.xml Update and refactor Dockerfiles to newer Ubuntu 2024-12-28 10:48:30 -05:00

Dockerfiles

The docker images for Eclipse CDT's Jenkins instance and GitHub Action check code cleanliness 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.

build-images.sh

Builds the images locally. A download of Xcode_13.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 and GitHub Actions, see the pod templates and workflows

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:latest COMMAND HERE

For examples of the above in practice, see the native section of CDT's building readme