- { dockerfile: 'Dockerfile-debian', tag: 'debian:sid', platform: 'linux/amd64' }
- { dockerfile: 'Dockerfile-ubuntu', tag: 'ubuntu:rolling', platform: 'linux/amd64' }
- { dockerfile: 'Dockerfile-alpine', tag: 'alpine:edge', platform: 'linux/amd64' }
- - { dockerfile: 'Dockerfile-gentoo', tag: 'gentoo:latest', platform: 'linux/amd64' }
- - { dockerfile: 'Dockerfile-gentoo', tag: 'gentoo:slim', platform: 'linux/amd64', extrapackages: 'no' }
+ - { dockerfile: 'Dockerfile-gentoo', tag: 'gentoo:latest', platform: 'linux/amd64', option: 'systemd' }
+ - { dockerfile: 'Dockerfile-gentoo', tag: 'gentoo:musl', platform: 'linux/amd64', option: 'musl' }
- { dockerfile: 'Dockerfile-fedora', tag: 'fedora:rawhide', platform: 'linux/amd64', registry: 'registry.fedoraproject.org' }
- { dockerfile: 'Dockerfile-fedora', tag: 'centos:stream10-development', platform: 'linux/amd64', registry: 'quay.io/centos' }
steps:
build-args: |
DISTRIBUTION=${{ matrix.config.tag }}
REGISTRY=${{ matrix.config.registry }}
- EXTRAPACKAGES=${{ matrix.config.extrapackages }}
+ OPTION=${{ matrix.config.option }}
arm64:
if: github.repository == 'dracut-ng/dracut-ng' || vars.CONTAINER == 'enabled'
# Test coverage provided by this container:
+# - glibc/systemd or musl/openrc
# - systemd-networkd
# - bash
# - rng-tools (to increase coverage)
# - ntfs3g (to keep container small)
-ARG EXTRAPACKAGES=yes
+ARG OPTION=systemd
FROM docker.io/gentoo/portage:latest AS portage
-FROM docker.io/gentoo/stage3:systemd
+FROM docker.io/gentoo/stage3:${OPTION}
COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo
# export ARG
-ARG EXTRAPACKAGES
-
-# Dependencies for full testsuite
-RUN \
-if [ "$EXTRAPACKAGES" != "no" ] ; then \
- emerge --quiet --deep --autounmask-continue=y --with-bdeps=n --noreplace \
- app-alternatives/bc \
-; fi
+ARG OPTION
RUN \
# Speed-up using binpkgs \
app-text/asciidoc \
app-text/docbook-xml-dtd \
app-text/docbook-xsl-stylesheets \
- sys-apps/systemd \
sys-kernel/dracut \
sys-kernel/gentoo-kernel-bin \
- sys-libs/glibc \
sys-libs/libxcrypt \
virtual/libelf \
virtual/pkgconfig
# Dependencies for full testsuite
RUN \
-if [ "$EXTRAPACKAGES" != "no" ] ; then \
+if [ "$OPTION" = "systemd" ] ; then \
emerge --quiet --deep --autounmask-continue=y --with-bdeps=n --noreplace \
app-alternatives/bc \
app-crypt/swtpm \
net-fs/nfs-utils \
net-misc/dhcp \
net-wireless/bluez \
+ sys-apps/systemd \
sys-apps/nvme-cli \
sys-block/nbd \
sys-block/open-iscsi \
sys-fs/mdadm \
sys-fs/multipath-tools \
sys-fs/squashfs-tools \
+ sys-libs/glibc \
; fi
# cleanup