Skip to content

Notes on CI implementation

Bryan Boreham edited this page Nov 5, 2015 · 4 revisions

Some things I discovered while looking into why our CI tests take so long (currently around 14 minutes).

We run 2 shards on CircleCI.

Each line that is declared to run "parallel:true" runs on every shard, and waits for that line to complete until running the next line.

We set up 5 GCE hosts for each shard (so 10 total), then run tests using a test-runner which parallelises them.

To update dependencies (e.g. Docker), update the template name in test/gce.sh:

: ${TEMPLATE_NAME:=test-template-6}

e.g. change 6 to 7

The smoke tests use -add-host when run on GCE, in order to have the name resolve to the GCE private address inside the weave container.

There are instructions on running the tests at https://github.com/weaveworks/weave/tree/master/test