summaryrefslogtreecommitdiff
path: root/.cirrus.yml
diff options
context:
space:
mode:
Diffstat (limited to '.cirrus.yml')
-rw-r--r--.cirrus.yml114
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