From 5650910803b9d342054e27da888f3343c1c56087 Mon Sep 17 00:00:00 2001 From: Rob Browning Date: Fri, 23 Aug 2019 14:54:54 -0500 Subject: [PATCH] Add cirrus.yml to enable testing on cirrus-ci.com Start with Debian, FreeBSD, and macOS. Signed-off-by: Rob Browning Tested-by: Rob Browning --- .cirrus.yml | 37 ++++++++++++++++++++++++++++++++++++ README.md | 7 +++++++ dev/prep-for-debianish-build | 12 ++++++++++++ dev/prep-for-freebsd-build | 11 +++++++++++ dev/prep-for-macos-build | 8 ++++++++ 5 files changed, 75 insertions(+) create mode 100644 .cirrus.yml create mode 100755 dev/prep-for-debianish-build create mode 100755 dev/prep-for-freebsd-build create mode 100755 dev/prep-for-macos-build diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 0000000..bca0a3d --- /dev/null +++ b/.cirrus.yml @@ -0,0 +1,37 @@ + +task: + name: debian + container: + image: debian:buster + cpu: 2 + memory: 8 + script: | + set -xe + dev/prep-for-debianish-build + adduser --disabled-password --gecos '' bup + chown -R bup:bup . + su -l bup -c "eatmydata make -j3 -C '$(pwd)' check" + +task: + name: freebsd + freebsd_instance: + image: freebsd-11-2-release-amd64 + cpu: 2 + memory: 8 + script: | + set -xe + dev/prep-for-freebsd-build + gmake check + # It looks like su might not work here... + #pw useradd -n bup -s /bin/sh -m -w no + #chown -R bup . + #su -l bup -c "gmake -j3 -C '$PWD' check" + +task: + name: macos + osx_instance: + image: mojave-xcode-10.2 + script: | + set -xe + dev/prep-for-macos-build + make -j2 check diff --git a/README.md b/README.md index aabd4b3..6ace0a4 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,13 @@ Notable changes introduced by a release - Changes in 0.27.1 as compared to 0.27 +Test status: [![Debian test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=tmp/test-cirrus&task=debian)](https://cirrus-ci.com/github/bup/bup) +[![FreeBSD test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=tmp/test-cirrus&task=freebsd)](https://cirrus-ci.com/github/bup/bup) +[![macOS test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=tmp/test-cirrus&task=macos)](https://cirrus-ci.com/github/bup/bup) +============================================================== + + + Getting started =============== diff --git a/dev/prep-for-debianish-build b/dev/prep-for-debianish-build new file mode 100755 index 0000000..2fe16ab --- /dev/null +++ b/dev/prep-for-debianish-build @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -exo pipefail + +export DEBIAN_FRONTEND=noninteractive +apt-get update +apt-get install -y \ + gcc make linux-libc-dev git rsync eatmydata \ + acl attr par2 \ + python2.7-dev python-fuse \ + python-pyxattr python-pylibacl python-tornado \ + duplicity rdiff-backup rsnapshot diff --git a/dev/prep-for-freebsd-build b/dev/prep-for-freebsd-build new file mode 100755 index 0000000..11866db --- /dev/null +++ b/dev/prep-for-freebsd-build @@ -0,0 +1,11 @@ +#!/bin/sh + +set -ex + +# Install build deps +export ASSUME_ALWAYS_YES=yes +pkg update +pkg install \ + gmake git bash rsync curl par2cmdline \ + python2 python py27-pylibacl py27-tornado \ + duplicity rdiff-backup rsnapshot diff --git a/dev/prep-for-macos-build b/dev/prep-for-macos-build new file mode 100755 index 0000000..ecee855 --- /dev/null +++ b/dev/prep-for-macos-build @@ -0,0 +1,8 @@ +#!/bin/sh + +set -ex + +ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" + +brew update +brew install par2 -- 2.39.2