This repository provides docker images which ire primarily used for CI purposes in the other code repositories of the Open SCMS project. They can also be used for local development (to avoid installing all the build dependencies on your host system), and potentially as a VS Code development containers.
oscms-ci-dockeris used for all of the C and C++ based repositories.oscms-server-ci-dockeris used for the Rust OpenSCMS repository. This is missing tools such asvalgrindandcppcheck
Clone the repository and build the image
git clone git@github.com:OpenSCMS/oscms-ci-docker.git
cd oscms-ci-docker
docker build -t oscms-ci-docker . -f openscms-ci.dockerfile
docker build -t oscms-server-ci-docker . -f openscms-server-ci.dockerfileNow change to the directory where you cloned the code repositories and run the container. Either
docker run -ti --rm --volume $PWD:/WORK --user $(id -u):$(id -g) \
oscms-ci-dockeror
docker run -ti --rm --volume $PWD:/WORK --user $(id -u):$(id -g) \
oscms-server-ci-dockerThis will place you in a bash shell within the container, with your cloned source available at /WORK. Your user inside the container will have the same group and user id as on your host, so any changes you make will have the correct permissions.
The images are published on ghcr.io as a public images. Simply pull them as follows
docker pull ghcr.io/openscms/oscms-ci-docker:latest
docker pull ghcr.io/openscms/oscms-server-ci-docker:latestYou can then run it as shown below.
docker run -ti --rm --volume $PWD:/WORK --user $(id -u):$(id -g) \
ghcr.io/openscms/oscms-ci-docker:latestdocker run -ti --rm --volume $PWD:/WORK --user $(id -u):$(id -g) \
ghcr.io/openscms/oscms-server-ci-docker:latestContributions are welcome. Please see the CONTRIBUTING file for details, including the Code of Conduct and C Style Guide.
This project is licensed under the Apache-2.0 License. See the LICENSE file for details.