task: name: Vagrant Fedora based test (no VDSO) environment: HOME: "/root" CIRRUS_WORKING_DIR: "/tmp/criu" compute_engine_instance: image_project: cirrus-images image: family/docker-kvm platform: linux cpu: 4 memory: 16G nested_virtualization: true setup_script: | scripts/ci/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker sudo kvm-ok ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto build_script: | make -C scripts/ci vagrant-fedora-no-vdso task: name: CentOS Stream 9 based test environment: HOME: "/root" CIRRUS_WORKING_DIR: "/tmp/criu" compute_engine_instance: image_project: centos-cloud image: family/centos-stream-9 platform: linux cpu: 4 memory: 8G setup_script: | ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto dnf config-manager --set-enabled crb # Same as CentOS 8 powertools dnf -y install epel-release epel-next-release dnf -y install --allowerasing asciidoc gcc git gnutls-devel libaio-devel libasan libcap-devel libnet-devel libnl3-devel libbsd-devel libselinux-devel make protobuf-c-devel protobuf-devel python-devel python-PyYAML python-future python-protobuf python-junit_xml python-flake8 xmlto systemctl stop sssd # Even with selinux in permissive mode the selinux tests will be executed. # The Cirrus CI user runs as a service from selinux point of view and is # much more restricted than a normal shell (system_u:system_r:unconfined_service_t:s0). # The test case above (vagrant-fedora-no-vdso) should run selinux tests in enforcing mode. setenforce 0 build_script: | make -C scripts/ci local SKIP_CI_PREP=1 CC=gcc CD_TO_TOP=1 ZDTM_OPTS="-x zdtm/static/socket-raw" task: name: Vagrant Fedora Rawhide based test environment: HOME: "/root" CIRRUS_WORKING_DIR: "/tmp/criu" compute_engine_instance: image_project: cirrus-images image: family/docker-kvm platform: linux cpu: 4 memory: 16G nested_virtualization: true setup_script: | scripts/ci/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker sudo kvm-ok ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto build_script: | make -C scripts/ci vagrant-fedora-rawhide task: name: Vagrant Fedora based test (non-root) environment: HOME: "/root" CIRRUS_WORKING_DIR: "/tmp/criu" compute_engine_instance: image_project: cirrus-images image: family/docker-kvm platform: linux cpu: 4 memory: 16G nested_virtualization: true setup_script: | scripts/ci/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker sudo kvm-ok ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto build_script: | make -C scripts/ci vagrant-fedora-non-root task: name: CentOS Stream 8 based test environment: HOME: "/root" CIRRUS_WORKING_DIR: "/tmp/criu" compute_engine_instance: image_project: centos-cloud image: family/centos-stream-8 platform: linux cpu: 4 memory: 8G setup_script: | ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto # Do not fail if latest epel repository definition is already installed yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm || : yum install -y dnf-plugins-core yum config-manager --set-enabled powertools yum install -y --allowerasing asciidoc gcc git gnutls-devel libaio-devel libasan libcap-devel libnet-devel libnl3-devel libbsd-devel libselinux-devel make protobuf-c-devel protobuf-devel python3-devel python3-flake8 python3-PyYAML python3-future python3-protobuf python3-junit_xml xmlto alternatives --set python /usr/bin/python3 systemctl stop sssd # Even with selinux in permissive mode the selinux tests will be executed # The Cirrus CI user runs as a service from selinux point of view and is # much more restricted than a normal shell (system_u:system_r:unconfined_service_t:s0) # The test case above (vagrant-fedora-no-vdso) should run selinux tests in enforcing mode setenforce 0 build_script: | make -C scripts/ci local SKIP_CI_PREP=1 CC=gcc CD_TO_TOP=1 ZDTM_OPTS="-x zdtm/static/socket-raw" task: name: CentOS 7 based test environment: HOME: "/root" CIRRUS_WORKING_DIR: "/tmp/criu" compute_engine_instance: image_project: centos-cloud image: family/centos-7 platform: linux cpu: 4 memory: 8G setup_script: | # EPEL is needed for python2-future, python2-junit_xml, python-flake8 and libbsd-devel. # Do not fail if latest epel repository definition is already installed yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm || : ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto yum install -y findutils gcc git gnutls-devel iproute iptables libaio-devel libasan libcap-devel libnet-devel libnl3-devel libbsd-devel make procps-ng protobuf-c-devel protobuf-devel protobuf-python python python-flake8 python-ipaddress python2-future python2-junit_xml python-yaml python-six sudo tar which e2fsprogs python2-pip rubygem-asciidoctor libselinux-devel # Even with selinux in permissive mode the selinux tests will be executed # The Cirrus CI user runs as a service from selinux point of view and is # much more restricted than a normal shell (system_u:system_r:unconfined_service_t:s0) # The test case above (vagrant-fedora-no-vdso) should run selinux tests in enforcing mode setenforce 0 # Enable user namespaces on CentOS 7 echo 10000 > /proc/sys/user/max_user_namespaces # Adapt sudoers to our needs echo 'root ALL=(ALL:ALL) ALL' | EDITOR='tee -a' visudo build_script: | make -C scripts/ci local SKIP_CI_PREP=1 CC=gcc CD_TO_TOP=1 ZDTM_IGNORE_TAINT=1 ZDTM_OPTS="-x zdtm/static/socket-raw -x zdtm/static/child_subreaper_existing_child -x zdtm/static/fifo_upon_unix_socket01 -x zdtm/static/overmount_sock -x zdtm/static/tempfs_overmounted" task: name: aarch64 build GCC (native) arm_container: image: docker.io/library/ubuntu:jammy cpu: 4 memory: 4G script: uname -a build_script: | scripts/ci/apt-install make ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto make -C scripts/ci local task: name: aarch64 build CLANG (native) arm_container: image: docker.io/library/ubuntu:jammy cpu: 4 memory: 4G script: uname -a build_script: | scripts/ci/apt-install make ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto make -C scripts/ci local CLANG=1 task: name: aarch64 Fedora Rawhide arm_container: image: registry.fedoraproject.org/fedora:rawhide cpu: 4 memory: 4G script: uname -a build_script: | scripts/ci/prepare-for-fedora-rawhide.sh ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto make -C scripts/ci/ local CC=gcc SKIP_CI_PREP=1 SKIP_CI_TEST=1 CD_TO_TOP=1 make -C test/zdtm -j 4