diff options
Diffstat (limited to '.cirrus.yml')
-rw-r--r-- | .cirrus.yml | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 00000000..28472f78 --- /dev/null +++ b/.cirrus.yml @@ -0,0 +1,114 @@ +gcp_credentials: ENCRYPTED[51b00226f2de108c3fa890e94efadc2d4efad2ca8d12d31794b8e8af33d1ece12c13d51dcf3cc0c0222cda3391a469b5] + +standard_build: &standard_build + configure_script: + - ${CHROOT} su build -c ./bootstrap + - ${CHROOT} su build -c ./configure + build_client_script: + - ${CHROOT} su build -c 'make build-backup-client' + build_server_script: + - ${CHROOT} su build -c 'make build-backup-server' + debug_tests_script: + - ${CHROOT} su build -c 'make debug_tests' + release_tests_script: + - ${CHROOT} su build -c 'make release_tests' + +standard_gce_instance: &standard_gce_instance + zone: europe-west2-c + type: n1-standard-1 # 1 vCPU, 3.75GB mem + disk: 10 + use_ssd: true + #preemptible: $CIRRUS_BRANCH != "master" + +task: + name: CentOS 7 amd64 + gce_instance: + <<: *standard_gce_instance + image_project: centos-cloud + image_name: centos-7-v20190619 + setup_script: + - yum install -y git autoconf automake gcc gcc-c++ zlib-devel openssl-devel libdb-devel readline-devel make libxslt perl-libwww-perl boost-devel + - useradd -m build + - chown -R build: . + <<: *standard_build + +task: + matrix: + - name: Debian 9 i386 + gce_instance: + <<: *standard_gce_instance + image_project: debian-cloud + image_name: debian-9-stretch-v20190618 + setup_chroot_script: + - ./infrastructure/setup-debian-chroot.sh + - schroot --begin-session --session-name stretch-build --chroot stretch + env: + CHROOT: schroot --run-session --chroot stretch-build --directory /tmp/cirrus-ci-build -- + - name: Debian 9 amd64 + gce_instance: + <<: *standard_gce_instance + image_project: debian-cloud + image_name: debian-9-stretch-v20190618 + + setup_script: + - ${CHROOT} apt-get update + - ${CHROOT} sh -c "DEBIAN_FRONTEND=noninteractive apt-get install -o Dpkg::Options::='--force-confold' -y git autoconf automake gcc g++ zlib1g-dev libssl-dev libdb-dev libreadline-dev libeditline-dev make xsltproc libwww-perl libboost-dev" + - ${CHROOT} useradd -m build + - ${CHROOT} chown -R build: . + <<: *standard_build + +task: + name: FreeBSD 12.0 amd64 + gce_instance: + <<: *standard_gce_instance + image_project: freebsd-org-cloud-dev + image_name: freebsd-12-0-release-amd64 + disk: 30 # Image is 29GB, VM can't be smaller + platform: FreeBSD + setup_script: + - pkg install -y git autoconf automake libxslt p5-libwww boost-libs + - pw useradd build -m -w none + - chown -R build: . + <<: *standard_build + +task: + name: MacOS Mojave + osx_instance: + image: mojave-xcode-10.2 + env: + CPPFLAGS: -I/usr/local/opt/openssl/include + LDFLAGS: -L/usr/local/opt/openssl/lib + setup_script: + - brew install autoconf automake openssl readline + # Don't use standard_build for now - not sure if the build user is required, or how to add users on macOS + configure_script: + - export CPPFLAGS LDFLAGS + - ./bootstrap + - ./configure + build_client_script: + - make build-backup-client + build_server_script: + - make build-backup-server + debug_tests_script: + - make debug_tests + release_tests_script: + - make release_tests + +task: + matrix: + - name: Ubuntu 16.04 amd64 + gce_instance: + <<: *standard_gce_instance + image_project: ubuntu-os-cloud + image_name: ubuntu-1604-xenial-v20190617 + - name: Ubuntu 18.04 amd64 + gce_instance: + <<: *standard_gce_instance + image_project: ubuntu-os-cloud + image_name: ubuntu-1804-bionic-v20190617 + setup_script: + - apt-get update + - apt-get install -y git autoconf automake gcc g++ zlib1g-dev libssl-dev libdb-dev libreadline-dev libeditline-dev make xsltproc libwww-perl libboost-dev + - useradd -m build + - chown -R build . + <<: *standard_build |