|
| 1 | +dist: bionic |
1 | 2 | sudo: required |
2 | 3 | language: c |
3 | 4 |
|
4 | 5 | os: |
5 | 6 | - linux |
6 | | - - linux-ppc64le |
| 7 | + |
| 8 | +arch: |
| 9 | + - amd64 |
| 10 | + - ppc64le |
| 11 | + - s390x |
| 12 | + - arm64 |
7 | 13 |
|
8 | 14 | env: |
9 | 15 | global: |
10 | 16 | - PACKAGE=sbd |
11 | | - - BUILD_OS_TYPE=fedora BUILD_OS_DIST= BUILD_OS_VERSION=29 |
| 17 | + # appealing idea to go with centos 8 as build-host but unfortunately that isn't available for all platforms |
| 18 | + # and the docker-image isn't there for anything else but x86_64 |
| 19 | + # - BUILD_OS_TYPE="centos:" BUILD_OS_DIST=centos BUILD_OS_VERSION=8 |
| 20 | + # - BUILD_OS_PREPARE="yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && yum install -y mock yum-utils &&" |
| 21 | + - BUILD_OS_TYPE="fedora:" BUILD_OS_DIST= BUILD_OS_VERSION=30 |
| 22 | + - BUILD_OS_PREPARE="dnf install -y mock dnf-utils findutils patch &&" |
12 | 23 |
|
13 | 24 | matrix: |
14 | 25 | exclude: |
15 | | - - os: linux |
16 | | - - os: linux-ppc64le |
| 26 | + - arch: amd64 |
| 27 | + - arch: ppc64le |
| 28 | + - arch: s390x |
| 29 | + - arch: arm64 |
17 | 30 |
|
18 | 31 | include: |
19 | | - - os: linux |
20 | | - env: OS_ARCH=x86_64 OS_TYPE=centos OS_MOCK=epel OS_DIST=centos OS_VERSION=7 |
21 | | - - os: linux |
22 | | - env: OS_ARCH=x86_64 OS_TYPE=centos OS_MOCK=epel OS_DIST=centos OS_VERSION=6 |
23 | | - - os: linux |
24 | | - env: OS_ARCH=x86_64 OS_TYPE=fedora OS_MOCK=fedora OS_DIST= OS_VERSION=29 |
25 | | - - os: linux |
26 | | - env: OS_ARCH=x86_64 OS_TYPE=fedora OS_MOCK=fedora OS_DIST= OS_VERSION=30 |
27 | | - - os: linux |
28 | | - env: OS_ARCH=x86_64 OS_TYPE=fedora OS_MOCK=fedora OS_DIST= OS_VERSION=rawhide |
29 | | - - os: linux-ppc64le |
30 | | - env: OS_ARCH=ppc64le OS_TYPE=fedora OS_MOCK=fedora OS_DIST= OS_VERSION=30 |
| 32 | + - arch: amd64 |
| 33 | + env: OS_ARCH=x86_64 OS_TYPE="centos:" OS_MOCK=epel OS_DIST=centos OS_VERSION=7 OS_INSTALL="yum install -y" DOCKER_OPTS="--privileged" TEST_ENV="SBD_USE_DM=yes" |
| 34 | + - arch: amd64 |
| 35 | + env: OS_ARCH=x86_64 OS_TYPE="centos:" OS_MOCK=epel OS_DIST=centos OS_VERSION=6 OS_INSTALL="yum install -y" DOCKER_OPTS="--privileged" TEST_ENV="SBD_USE_DM=yes" |
| 36 | + - arch: amd64 |
| 37 | + env: OS_ARCH=x86_64 OS_TYPE="fedora:" OS_MOCK=fedora OS_DIST= OS_VERSION=30 OS_INSTALL="dnf install -y" DOCKER_OPTS="--privileged" TEST_ENV="SBD_USE_DM=yes" |
| 38 | + - arch: amd64 |
| 39 | + env: OS_ARCH=x86_64 OS_TYPE="fedora:" OS_MOCK=fedora OS_DIST= OS_VERSION=rawhide OS_INSTALL="dnf install -y" DOCKER_OPTS="--privileged" TEST_ENV="SBD_USE_DM=yes" |
| 40 | + - arch: ppc64le |
| 41 | + env: OS_ARCH=ppc64le OS_TYPE="fedora:" OS_MOCK=fedora OS_DIST= OS_VERSION=30 OS_INSTALL="dnf install -y" DOCKER_OPTS="--cap-add=sys_admin" TEST_ENV="SBD_USE_DM=no" MOCK_OPTS="--config-opts=internal_dev_setup=False" |
| 42 | + - arch: s390x |
| 43 | + env: OS_ARCH=s390x OS_TYPE="fedora:" OS_MOCK=fedora OS_DIST= OS_VERSION=30 OS_INSTALL="dnf install -y" DOCKER_OPTS="--cap-add=sys_admin" TEST_ENV="SBD_USE_DM=no" MOCK_OPTS="--config-opts=internal_dev_setup=False" |
| 44 | + - arch: arm64 |
| 45 | + env: OS_ARCH=aarch64 OS_TYPE="fedora:" OS_MOCK=fedora OS_DIST= OS_VERSION=30 OS_INSTALL="dnf install -y" DOCKER_OPTS="--cap-add=sys_admin" TEST_ENV="SBD_USE_DM=no" MOCK_OPTS="--config-opts=internal_dev_setup=False" |
| 46 | + - arch: amd64 |
| 47 | + env: OS_ARCH=x86_64 OS_TYPE="opensuse/" OS_MOCK=opensuse-leap OS_DIST="leap:" OS_VERSION=15.1 OS_INSTALL="zypper --no-gpg-checks --non-interactive install" DOCKER_OPTS="--privileged" TEST_ENV="SBD_USE_DM=yes" |
| 48 | + - arch: amd64 |
| 49 | + env: OS_ARCH=x86_64 OS_TYPE="opensuse/" OS_MOCK=opensuse OS_DIST= OS_VERSION=tumbleweed OS_INSTALL="zypper --no-gpg-checks --non-interactive install" DOCKER_OPTS="--privileged" TEST_ENV="SBD_USE_DM=yes" |
31 | 50 |
|
32 | 51 | services: |
33 | 52 | - docker |
34 | 53 |
|
35 | 54 | install: true |
36 | 55 |
|
37 | 56 | script: |
| 57 | + - BUILD_SUCCESS=false |
38 | 58 | - make -f Makefile.am srpm PACKAGE=${PACKAGE} |
39 | | - - docker pull ${BUILD_OS_TYPE}:${BUILD_OS_DIST}${BUILD_OS_VERSION} |
40 | | - - docker run --privileged -v ${PWD}:/rpms ${BUILD_OS_TYPE}:${BUILD_OS_DIST}${BUILD_OS_VERSION} /bin/bash -c "dnf install -y mock dnf-utils && if test $OS_VERSION = rawhide; then sed -i /etc/mock/${OS_MOCK}-${OS_VERSION}-${OS_ARCH}.cfg -e s/gpgcheck.*/gpgcheck=0/g; fi && mock --no-clean -r ${OS_MOCK}-${OS_VERSION}-${OS_ARCH} --resultdir=/rpms --disable-plugin=yum_cache --disable-plugin=selinux --no-bootstrap-chroot --old-chroot /rpms/sbd*.src.rpm" |
41 | | - - ls ${PWD}/${PACKAGE}*.${OS_ARCH}.rpm |
42 | | - - docker pull ${OS_TYPE}:${OS_DIST}${OS_VERSION} |
43 | | - - docker run --privileged -v ${PWD}:/rpms ${OS_TYPE}:${OS_DIST}${OS_VERSION} /bin/bash -c "if test $OS_VERSION = rawhide; then yum update -y --nogpgcheck; fi && yum install -y device-mapper /rpms/${PACKAGE}*.${OS_ARCH}.rpm && /usr/share/sbd/regressions.sh && touch /rpms/regressions.sh.SUCCESS" |
| 59 | + - docker pull ${BUILD_OS_TYPE}${BUILD_OS_DIST}${BUILD_OS_VERSION} |
| 60 | + - docker run --cap-add=sys_admin -v ${PWD}:/rpms -v /proc:/var/lib/mock/${OS_MOCK}-${OS_VERSION}-${OS_ARCH}/root/proc -v ${PWD}:/rpms -v /sys:/var/lib/mock/${OS_MOCK}-${OS_VERSION}-${OS_ARCH}/root/sys ${BUILD_OS_TYPE}${BUILD_OS_DIST}${BUILD_OS_VERSION} /bin/bash -c "${BUILD_OS_PREPARE} if test $OS_VERSION = rawhide; then sed -i /etc/mock/${OS_MOCK}-${OS_VERSION}-${OS_ARCH}.cfg -e s/gpgcheck.*/gpgcheck=0/g; fi && rpm -ql mock|grep "/mounts.py\$"|xargs -n1 sed -e "/USE_NSPAWN/d" -e "/self.mountall_essential/d" -i && mock --no-clean -r ${OS_MOCK}-${OS_VERSION}-${OS_ARCH} --resultdir=/rpms ${MOCK_OPTS} --disable-plugin=root_cache --disable-plugin=tmpfs --disable-plugin=yum_cache --disable-plugin=selinux --no-bootstrap-chroot --old-chroot /rpms/sbd*.src.rpm" |
| 61 | + - ls ${PWD}/${PACKAGE}*.${OS_ARCH}.rpm && BUILD_SUCCESS=true |
| 62 | + - ${BUILD_SUCCESS} && docker pull ${OS_TYPE}${OS_DIST}${OS_VERSION} |
| 63 | + - ${BUILD_SUCCESS} && docker run ${DOCKER_OPTS} -v ${PWD}:/rpms ${OS_TYPE}${OS_DIST}${OS_VERSION} /bin/bash -c "if test $OS_VERSION = rawhide; then dnf update -y --nogpgcheck; fi && ${OS_INSTALL} device-mapper /rpms/${PACKAGE}*.${OS_ARCH}.rpm && ${TEST_ENV} /usr/share/sbd/regressions.sh && touch /rpms/regressions.sh.SUCCESS" |
44 | 64 | - ls ${PWD}/regressions.sh.SUCCESS |
45 | 65 |
|
46 | 66 | addons: |
47 | 67 | apt: |
48 | 68 | packages: |
49 | 69 | - rpm |
| 70 | + |
0 commit comments