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

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


  Branch: refs/heads/jamesog/cirrus-ci
  Home:   https://github.com/boxbackup/boxbackup
  Commit: 20f447080685d6c6f2e7731cc604873a538c6fb6
      https://github.com/boxbackup/boxbackup/commit/20f447080685d6c6f2e7731cc604873a538c6fb6
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    A .cirrus.yml

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

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


  Commit: 0c52a1a2829792c4f44de943ca9d49b08af15b5d
      https://github.com/boxbackup/boxbackup/commit/0c52a1a2829792c4f44de943ca9d49b08af15b5d
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

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

Split the build into multiple tasks to identify build step failures in
the UI.


  Commit: 25e2fb623fafe998293d8ccda5e2c35bb88d30be
      https://github.com/boxbackup/boxbackup/commit/25e2fb623fafe998293d8ccda5e2c35bb88d30be
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

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

Jessie builds don't work currently - need to split this out because of
package names/versions.

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


  Commit: 2d68df6555906e06602aafad7df89dc24abe5c13
      https://github.com/boxbackup/boxbackup/commit/2d68df6555906e06602aafad7df89dc24abe5c13
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

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

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


  Commit: 4e547799461cbb3076323a5fc422440a0b340ac3
      https://github.com/boxbackup/boxbackup/commit/4e547799461cbb3076323a5fc422440a0b340ac3
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Cirrus: 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 could be fixed later by using a wrapper script.


  Commit: 96e2d4603f683300acd9c1d863614f34d2d8218b
      https://github.com/boxbackup/boxbackup/commit/96e2d4603f683300acd9c1d863614f34d2d8218b
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

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

The Docker builds on shared infrastructure 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: e0eb261969aa5f18763f8436d1c984b20d32927e
      https://github.com/boxbackup/boxbackup/commit/e0eb261969aa5f18763f8436d1c984b20d32927e
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Cirrus: 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: 61b205cf34740d1cb5df39bccc512cc84910698f
      https://github.com/boxbackup/boxbackup/commit/61b205cf34740d1cb5df39bccc512cc84910698f
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Cirrus: 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: 873bd9ace3361414aa91d4b94fe7c89bd83a6f2f
      https://github.com/boxbackup/boxbackup/commit/873bd9ace3361414aa91d4b94fe7c89bd83a6f2f
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

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


  Commit: d5970258a7c24d382c2c88aef0a151517e4de5ea
      https://github.com/boxbackup/boxbackup/commit/d5970258a7c24d382c2c88aef0a151517e4de5ea
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

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

Place the builds in alphabetic order of OS name.


  Commit: a777c91621769d1991a94b29cc954b65f705de32
      https://github.com/boxbackup/boxbackup/commit/a777c91621769d1991a94b29cc954b65f705de32
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Cirrus: 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: 1f82edccb86cdc669b421dcda74e8899d55caf3c
      https://github.com/boxbackup/boxbackup/commit/1f82edccb86cdc669b421dcda74e8899d55caf3c
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Cirrus: 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: d07a7eff1a48c05cec26ee5771082e07199261fd
      https://github.com/boxbackup/boxbackup/commit/d07a7eff1a48c05cec26ee5771082e07199261fd
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Cirrus: 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: 476ec63fd65a2e884c8c524f267d98fca84fb253
      https://github.com/boxbackup/boxbackup/commit/476ec63fd65a2e884c8c524f267d98fca84fb253
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

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

  Log Message:
  -----------
  Cirrus: 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.


  Commit: 4c59323adf4195bdfad509679597dbe1df5463da
      https://github.com/boxbackup/boxbackup/commit/4c59323adf4195bdfad509679597dbe1df5463da
  Author: James O'Gorman <james at netinertia.co.uk>
  Date:   2019-07-13 (Sat, 13 Jul 2019)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  Cirrus: Re-encrypt GCP creds to boxbackup org

Encrypted variables are encrypted to the GitHub organisation. The GCP
credentials were encrypted to my account previously. This re-encrypts to
the boxbackup organisation.


Compare: https://github.com/boxbackup/boxbackup/compare/65e225c51efa...4c59323adf41


More information about the Boxbackup-commit mailing list