Sign inSign up

pirlruc/ci-cpp

By pirlruc

•Updated 2 days ago

Image with tools for compiling, testing, and linting C++ libraries

Image
Security
Languages & frameworks
Developer tools
0

2.9K

pirlruc/ci-cpp repository overview

⁠ci-cpp

Short-lived C++ CI toolchain image that compile, test, and lint C++ libraries: Clang, libc++, CMake, Ninja, cppcheck, clang-tidy/format, Doxygen, gcovr, lizard, Metrix++, coverxygen, valgrind).

⁠Image

ItemValue
Docker Hubpirlruc/ci-cpp
Architectureslinux/amd64
Usernon-root 1000:1000
BaseDebian 13 via dhi.io/python (unsuffixed); Alpine 3.24 (-alpine)
Contextdocker/ci-cpp/
⁠Tags

5.2.0 digests below are the tag's manifest list, except the Actions row, which is the linux/amd64 image manifest.

TagDigest
5.2.0 / 5.2.0-debian / latest / latest-debiansha256:94667c573a1fe4a08aa333cd4083a53553d394c34a8d854d12912831b5536cde (tag index)
5.2.0 linux/amd64 (Actions)sha256:28db91b4a240ec459e90afedf07d9ed5030e3733933c82944127a156bca711d3
5.2.0-alpine / latest-alpinesha256:f7d2f1f22eff2ed9640a4c12c76bfb459d4ecff487dcfa8820bda605850475c1
5.1.2 / 5.1.2-debiansha256:4cf9a6f1372e2652d329c4257e6380f5fde846dccf92f45f744f8bfb4b9b417d
5.0.0Previous Debian analysis. sha256:3406477bb7fc730c53df4a28dffa07a9dce5ee6f6830102df1bedc8727973b67
5.0.0-alpinePrevious Alpine analysis. sha256:78103428af883fe259241796d359edd3cfbaefe34e11878760a97c1a9efc2986
4.0.0Previous Ubuntu 24.04 release. sha256:cf40f3bc99ebe50a286d1e57ac0aa63c28678ef44e65b3a6dbef0c7420afa47f
sha-<git> / sha-<git>-debian / sha-<git>-alpineExact git SHA of the published commit

5.1.2 adds -debian and latest-alpine. Debian owns the unsuffixed tags. Prefer a digest in production. latest is never the only tag.

docker pull pirlruc/ci-cpp:5.2.0
docker pull pirlruc/ci-cpp:5.2.0-alpine
docker pull pirlruc/ci-cpp@sha256:28db91b4a240ec459e90afedf07d9ed5030e3733933c82944127a156bca711d3

⁠Quick start

docker run --rm -v "$PWD:/workspace:ro" -w /workspace \
  pirlruc/ci-cpp:5.2.0 \
  clang++ --version

Hardened local run (read-only workspace mount):

docker run --rm \
  --read-only \
  --cap-drop ALL \
  --security-opt no-new-privileges \
  --tmpfs /tmp:rw,noexec,nosuid,size=256m \
  -v "$PWD:/workspace:ro" -w /workspace \
  pirlruc/ci-cpp:5.2.0 \
  clang++ --version

⁠What is inside

ToolRole
clang / clang++ / libc++Compile. Debian stays on Clang 18. Alpine is Clang 20
cmake / ninjaConfigure and build
clang-format 23.1.0 / clang-tidy / cppcheckLint
gcovr / llvm-covCoverage
lizard / Metrix++ / coverxygen / DoxygenComplexity and docs
valgrindDynamic analysis

Not included: vcpkg, OpenCV, Eigen. Those live on ci-cpp-vcpkg and ci-cpp-opencv.

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:94667c573…

Size

435.3 MB

Last updated

16 days ago

docker pull pirlruc/ci-cpp