# Builds on multiple systems using different package managers: # # - Debian-based systems: Use oldest working/supported debian image for # reasonable backwards compatibility and ubuntu:rolling for new setups. # Additionally, ensure that the package works without apparmor. # # - Redhat-based systems: Use a centos-like distribution for reasonable # backwards compatibility and fedora:latest for new setups. # # - Alpine: Use it for installing directly from source. build_ubuntu_package: image: ubuntu:rolling timeout: 10 minutes variables: DEBIAN_FRONTEND: noninteractive script: - apt-get update -qy - > apt-get install --no-install-recommends -qy build-essential fakeroot lintian libapparmor-dev pkg-config gawk | grep -Ev '^(Selecting|Preparing to unpack|Unpacking)' - ./ci/printenv.sh - ./configure || (cat config.log; exit 1) - make dist - ./mkdeb.sh --enable-fatal-warnings - dpkg -i ./*.deb - make print-version build_debian_package: image: debian:buster timeout: 10 minutes variables: DEBIAN_FRONTEND: noninteractive script: - apt-get update -qy - > apt-get install --no-install-recommends -qy build-essential fakeroot lintian libapparmor-dev pkg-config gawk | grep -Ev '^(Selecting|Preparing to unpack|Unpacking)' - ./ci/printenv.sh - ./configure || (cat config.log; exit 1) - make dist - ./mkdeb.sh --enable-fatal-warnings - dpkg -i ./*.deb - make print-version build_no_apparmor: image: ubuntu:latest timeout: 10 minutes variables: DEBIAN_FRONTEND: noninteractive script: - apt-get update -qy - > apt-get install --no-install-recommends -qy build-essential fakeroot lintian pkg-config gawk | grep -Ev '^(Selecting|Preparing to unpack|Unpacking)' - ./ci/printenv.sh - ./configure || (cat config.log; exit 1) - make dist - > ./mkdeb.sh --enable-fatal-warnings --disable-apparmor - dpkg -i ./*.deb - make print-version - make print-version | grep -F 'AppArmor support is disabled' build_redhat_package: image: almalinux:latest timeout: 10 minutes script: - dnf update -y - dnf install -y rpm-build gcc make - ./ci/printenv.sh - ./configure || (cat config.log; exit 1) - make dist - ./platform/rpm/mkrpm.sh --enable-fatal-warnings - rpm -i ./*.rpm - make print-version build_fedora_package: image: fedora:latest timeout: 10 minutes script: - dnf update -y - dnf install -y rpm-build gcc make - ./ci/printenv.sh - ./configure || (cat config.log; exit 1) - make dist - ./platform/rpm/mkrpm.sh --enable-fatal-warnings - rpm -i ./*.rpm - make print-version build_src_package: image: alpine:latest timeout: 10 minutes script: - apk update - apk upgrade - apk add build-base linux-headers gawk - ./ci/printenv.sh # Note: Do not use ` --enable-fatal-warnings` because the build # currently produces warnings on Alpine (see #6224). - > ./configure --prefix=/usr || (cat config.log; exit 1) - make - make install-strip - make print-version debian_ci: image: registry.salsa.debian.org/salsa-ci-team/ci-image-git-buildpackage:latest timeout: 10 minutes variables: DEBFULLNAME: "$GITLAB_USER_NAME" DEBEMAIL: "$GITLAB_USER_EMAIL" DEBIAN_FRONTEND: noninteractive PKGNAME: firejail before_script: - git checkout -B ci_build "$CI_COMMIT_SHA" - gitlab-ci-enable-sid - gitlab-ci-enable-experimental - | cat >>/etc/apt/sources.list <