CI-Docker-Container#
Docker containers I use in CI workflows.
System Container#
Containers for AMD64, ARM64 and RISC-V 64 based on Alpine Linux with compilers, tools and interpreters for "system programming". Contains GCC, Git, Make, XMake, Go and Python (pip, pipenv and Poetry).
See file ./System.Dockerfile for the latest Alpine release and ./System-edge.Dockerfile for Alpine edge.
For container releases see ci-system - Versions.
These are also available at DockerHub releasecandidate/ci-system at DockerHub
Javascript Container#
Containers for AMD64, ARM64 and RISC-V 64 based on Alpine Linux with Node.js, NPM, Git and Python. Uses corepack to enable NPM.
See file ./Javascript.Dockerfile for the latest Alpine release, ./Javascript-edge.Dockerfile for Alpine edge and ./Javascript-trixie.Dockerfile for a version using Debian Trixie (which is big*).
For container releases see ci-js - Versions.
These are also available at DockerHub releasecandidate/ci-js at DockerHub
Rust Container#
Containers for AMD64, ARM64 and RISC-V 64 based on Debian Trixie Slim. Contains a nightly Rust tool-chain with rustup, Miri, LLVM-Tools, cargo nextest, cargo make, cargo lcov and cargo mutants.
See file ./Rust.Dockerfile.
For container releases see ci-rust - Versions.
These are also available at DockerHub releasecandidate/ci-rust at DockerHub
Building#
docker build --label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") --file System-edge.Dockerfile --tag codeberg.org/release-candidate/ci-system:$(date -u +"%Y-%m-%d") .
docker build --label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") --file Javascript-edge.Dockerfile --tag codeberg.org/release-candidate/ci-js:$(date -u +"%Y-%m-%d") .
docker build --label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") --file Rust.Dockerfile --tag codeberg.org/release-candidate/ci-rust:$(date -u +"%Y-%m-%d") .
Insert one of the Docker files you want to build instead of *.Dockerfile
and change the name of the --tag accordingly.
Running a Shell#
The following Docker command runs /bin/sh in the ci-system image generated
by the command above:
docker run -it codeberg.org/release-candidate/ci-system:$(date -u +"%Y-%m-%d") /bin/sh
Installed Versions#
At CI-Docker-Container: Releases you can see the versions of the installed software for each container version.
License#
The source in this repository is licensed under the EUROPEAN UNION PUBLIC LICENCE v. 1.2, see ./LICENSE and eupl.eu/ for license texts in all languages of the EU.