Docker containers I use in CI workflows, for AMD64, ARM64 (AARCH64) and RISC-V 64
Shell 76.7%
Dockerfile 23.3%
53 1 7

Clone this repository

https://tangled.org/releasecandidate.bsky.social/ci-docker-container https://tangled.org/did:plc:bsvlnvc2ypnlpvcttd7b5jlz/ci-docker-container
git@tangled.org:releasecandidate.bsky.social/ci-docker-container git@tangled.org:did:plc:bsvlnvc2ypnlpvcttd7b5jlz/ci-docker-container

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

CI-Docker-Container#

EUPL v. 1.2 license

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.