[Box Backup-commit] [boxbackup/boxbackup] bc6907: Add Cirrus CI config

jamesog noreply at github.com
Sat Jul 13 20:15:12 BST 2019


  Branch: refs/heads/jamesog/cirrus-ci
  Home:   https://github.com/boxbackup/boxbackup
  Commit: bc6907255459d0eb9f216dd3b03bae67c5b80754
      https://github.com/boxbackup/boxbackup/commit/bc6907255459d0eb9f216dd3b03bae67c5b80754
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    A .cirrus.yml

  Log Message:
  -----------
  Add Cirrus CI config

Add a minimal Cirrus CI config to start testing this service.


  Commit: 7a672153a4631a07ab0a24a7cd23a218c9fc32b3
      https://github.com/boxbackup/boxbackup/commit/7a672153a4631a07ab0a24a7cd23a218c9fc32b3
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Split tasks


  Commit: d3af5d5052e9eef752b94490216d811e6da9b29f
      https://github.com/boxbackup/boxbackup/commit/d3af5d5052e9eef752b94490216d811e6da9b29f
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Remove jessie, increase resources

Jessie build doesn't work currently - need to split this out because of packages.

The Stretch debug tests take too long and some things time out, so try increasing resources.


  Commit: 5709355c59778711129863565ea55e104c0757d4
      https://github.com/boxbackup/boxbackup/commit/5709355c59778711129863565ea55e104c0757d4
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Add FreeBSD build

Refactor the build steps into a YAML anchor and add a FreeBSD builder.


  Commit: d71f2666b032c8b2b838af9f736c580476c33688
      https://github.com/boxbackup/boxbackup/commit/d71f2666b032c8b2b838af9f736c580476c33688
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Add build user

The build is running things as root! There doesn't seem to be a way to change the default user.

This adds a build user and some debug lines in the pre_script to show the current user (before switching). Each task has to be run under su. This can be fixed later by using a wrapper script.


  Commit: 890c1a1a6e50c04c3a62d29ba3e6e072318c5d04
      https://github.com/boxbackup/boxbackup/commit/890c1a1a6e50c04c3a62d29ba3e6e072318c5d04
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Switch Debian to a custom GCE instance

The Docker builds have odd behaviour. Fedor from Cirrus confirmed that
some processes were being OOM killed, possibly because Docker/cgroup
resource limits are hidden from containers, which can see all host
resources. The tests might be trying to use as much memory as the Docker
host has, and getting killed.

The GCE n1-standard-2 has plenty of memory so should be fine for the
tests.

Add a commented preemtible block as this could be useful later.


  Commit: 63c40430cb240cf60f64d45d935fc554d78f2658
      https://github.com/boxbackup/boxbackup/commit/63c40430cb240cf60f64d45d935fc554d78f2658
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Use GCE for both Debian and FreeBSD

Use my GCE account for both Debian and FreeBSD as the Cirrus shared
FreeBSD instance is pretty slow. The FreeBSD image has a disk size of
29GB so we need to specify something bigger than that in the instance,
so we use 30GB.

Try the g1-small instance as n1-standard-2 is way too big.


  Commit: 6db38fe1dd10068fa5add2cc2a282747683936d6
      https://github.com/boxbackup/boxbackup/commit/6db38fe1dd10068fa5add2cc2a282747683936d6
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Switch GCE instance type to n1-standard-1

The small (shared CPU) instance is pretty slow. Let's try on the smallest non-shared CPU.


  Commit: 8b051437641648f59103e76a8750ccdf6209361a
      https://github.com/boxbackup/boxbackup/commit/8b051437641648f59103e76a8750ccdf6209361a
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Add CentOS 7 and Ubuntu


  Commit: f3e26d0d0c748a3235e19c410049582e5431f87f
      https://github.com/boxbackup/boxbackup/commit/f3e26d0d0c748a3235e19c410049582e5431f87f
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Order build tasks

Place the builds in alphabetic order of OS name


  Commit: 665d0230cf8e0f1b408aeb5ff472ac1e4034b4f0
      https://github.com/boxbackup/boxbackup/commit/665d0230cf8e0f1b408aeb5ff472ac1e4034b4f0
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Add MacOS build

First attempt at trying a MacOS build. Not entirely sure if the brew
packages are enough, and I don't know what user the build runs as so for
now this doesn't use the standard build set.


  Commit: cc0fc39568d1c76bcb8302662c36d9761f18408b
      https://github.com/boxbackup/boxbackup/commit/cc0fc39568d1c76bcb8302662c36d9761f18408b
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Rework GCE so it doesn't apply to MacOS

Now that we have a MacOS build task, not every task uses the
gce_instance, but the defaults get applied to the MacOS task as the
top-level is applied. This errors because we didn't specify the project
or image.

Change GCE to use YAML anchors and apply these to all GCE tasks. The
anchor has to be included first in each task so it doesn't overwrite
task-specific settings; this currently only affects FreeBSD, which
changes the disk size.


  Commit: 1bcdeb42c15c0e601b40d748d60e02feef5145fd
      https://github.com/boxbackup/boxbackup/commit/1bcdeb42c15c0e601b40d748d60e02feef5145fd
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  MacOS: Set CPPFLAGS and LDFLAGS, use Xcode image

Homebrew doesn't link openssl by default so as not to interfere with the
system's libssl.

Set CPPFLAGS and LDFLAGS so autoconf can find libssl.

The infrastructure/BoxPlatform.pm script needs to run `xcodebuild` to
check which version of XCode is installed. This doesn't work with the
Command-Line Tools only installation.


  Commit: 8889475683dfc7210eb838cddf9f0124afdeaef6
      https://github.com/boxbackup/boxbackup/commit/8889475683dfc7210eb838cddf9f0124afdeaef6
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-06-21 (Fri, 21 Jun 2019)

  Changed paths:
    M .cirrus.yml
    A infrastructure/setup-debian-chroot.sh

  Log Message:
  -----------
  Add chroot support and Debian i386 build

The Debian project requires both amd64 and i386 builds to pass. In
Buildbot we accomplished this by creating an i386 chroot on an amd64 EC2
instance and running the buildbot daemon inside that.

This tries to accomplish similar, but as Cirrus doesn't run a daemon, we
need to run many chroot commands. Debian's schroot allows setting up a
persistent environment with things like /tmp bind mounted from the host.
This is useful as Cirrus uses a directory in /tmp as its working dir.


Compare: https://github.com/boxbackup/boxbackup/compare/bc6907255459%5E...8889475683df


More information about the Boxbackup-commit mailing list