container image for cpp fun
Go to file
surtur 1760f6e6cf
All checks were successful
continuous-integration/drone/push Build is passing
add pre-commit-config.yaml
2022-04-21 16:40:33 +02:00
hooks initial commit 2021-05-06 19:08:12 +02:00
.drone.yml ci,makefile: bump hadolint to v2.9.3 2022-03-24 17:21:29 +01:00
.hadolint.yaml ci,makefile: bump hadolint to v2.9.3 2022-03-24 17:21:29 +01:00
.pre-commit-config.yaml add pre-commit-config.yaml 2022-04-21 16:40:33 +02:00
Dockerfile refactor(dockerfile): consolidate consecutive RUNs 2022-03-24 17:56:35 +01:00
Makefile fix: hadolint vol mount for SELinux-enabled hosts 2022-04-21 14:22:58 +02:00
README.md add pre-commit-config.yaml 2022-04-21 16:40:33 +02:00

docker-fedora-cpp

pre-commit Build Status Docker Image Version (latest by date) Docker Image Version (tag latest semver) Docker Image Size (tag) Docker pulls

This repository provides a Dockerfile to create a container image mainly used for CI testing of C/C++ programs on Fedora.

The image is rebuilt nightly to ensure it always has the latest packages.

development happens on this Gitea instance

What you get

  • updated registry.fedoraproject.org/fedora-minimal:35 image
  • the result of
    microdnf install --nodocs dnf dnf-plugins-core -y && \
    dnf copr enable eddsalkield/iwyu -y && \
    microdnf install --nodocs --setopt install_weak_deps=0 -y \
    git \
    ninja-build \
    make \
    {c,auto}make \
    gcc \
    gcc-c++ \
    libgcc \
    libstdc++-{devel,static} \
    glibc-devel \
    iwyu \
    cryptopp-devel \
    libasan-static \
    liblsan-static \
    libubsan-static \
    libtsan-static \
    binutils \
    lld \
    flex \
    bison \
    openmpi-devel \
    which \
    file \
    grpc-{cli,cpp,devel,plugins} \
    protobuf-c-{devel,compiler} \
    protobuf-compiler \
    cppunit \
    log4cpp-devel \
    json-c-devel \
    capnproto-{devel,libs} \
    libpcap-devel \
    hiredis-devel \
    mongo-c-driver-{devel,libs} \
    boost-{devel,atomic,chrono,date-time,system,program-options,regex,thread} \
    libtool \
    autoconf \
    pkgconf \
    kernel-devel \
    ncurses-{c++-libs,devel,libs,static} \
    numactl-{devel,libs} \
    && dnf copr disable eddsalkield/iwyu \
    && rm -vf /etc/dnf/protected.d/dnf.conf \
    && microdnf remove dnf-plugins-core -y \
    && rpm --nodeps -e dnf \
    && microdnf clean all -y

Purpose

  • testing c/cpp programs in CI without the need to install all of the deps (such as protobuf, capnproto, pcap, boost, etc...) all the time.
    found out that if there's enough deps it can actually take more time to pre-configure the environment than downloading a single image once reusing it for all subsequent CI builds.