70 Commits

Author SHA1 Message Date
Alban Crequy
d761f18e5b circle.yml: another fix for deploy master with non-upstream hub accounts
After https://github.com/weaveworks/scope/commit/e2441623 "wcloud
deploy" is run in the main deploy unit guarded by the environment
variable. But the test makes it fail when it is not run under
"weaveworks".
2016-07-21 15:25:34 +02:00
Tom Wilkie
e24416236f Circle will only run a single deploy step it seems 2016-07-21 13:47:15 +01:00
Alban Crequy
652913084a circle.yml: deploy master with non-upstream hub accounts (#1655)
* circle.yml: deploy master with non-upstream hub accounts

Since b4abe582f4, images are tagged on
Docker Hub. But this was not working for non-upstream Docker Hub
accounts. This patch should fix that.

Symptoms: https://circleci.com/gh/kinvolk/scope/23

> The push refers to a repository [docker.io/kinvolk/scope] (len: 1)
> error getting tags for kinvolk/scope: Tag does not exist for
> master-b89e9ec

Also, ensure that the Docker tag name does not include any '/'.

Symptoms: https://circleci.com/gh/kinvolk/scope/24

> docker tag weaveworks/scope weaveworks/scope:alban/hub1-ef739d9
> repository name component must match "[a-z0-9]+(?:[._-][a-z0-9]+)*"

* extras/in_parallel.sh: ensure unique schedule name

Use CircleCI environment variables as documented on:
https://circleci.com/docs/environment-variables/

Symptoms:
> $ cd $SRCDIR/extras; ./build_on_circle.sh
> Doing graphviz/graphviz
> make: *** No rule to make target `graphviz/graphviz'.  Stop.

See: https://github.com/weaveworks/scope/pull/1655#issuecomment-232696357

* circle.yml: separate wcloud deployment

Do not run wcloud for non-weaveworks builds, as suggested by
https://github.com/weaveworks/scope/pull/1655#discussion_r71179373
2016-07-21 10:26:23 +01:00
Tom Wilkie
cafaff8960 Wire up continuous delivery (#1654) 2016-07-12 13:05:21 +01:00
Jonathan Lange
1c440486f0 Delete experimental, replace with 'extras'
extras contains fixprobe and example, and ought to build properly
2016-07-07 14:30:08 +01:00
Tom Wilkie
b4abe582f4 Tag scope images on docker hub as we do in service (#1572) 2016-06-14 10:10:51 +01:00
Alban Crequy
b20e292390 circle.yml: deploy non-master branches (#1535)
By default, non-master branches are not deployed on the Docker Hub. With
this patch, you can enable this feature by setting the environment
variable DEPLOY_BRANCH in the circle configuration.

It will not be tagged with the "latest" tag but instead derive the tag
from the branch name. Since "/" are not allowed in Docker tag names, all
"/" are replaced by "-".

When testing code in Scope, I use circle to build the Docker image but I
don't want to always use my "master" branch for development.
2016-05-28 12:02:42 +01:00
Tom Wilkie
c8828826ae Allow user to specify table name and queue prefix. (#1538)
* Allow user to specify table name and queue prefix.

* Trim leading slash, catch missed queue prefix

* Comment out publish step until devwww is fixed.
2016-05-25 10:09:32 +01:00
Tom Wilkie
afd3cdeb22 Review feedback 2016-05-18 14:55:47 +01:00
Tom Wilkie
607b7fd187 Circle integration for auto docs publishing. 2016-05-18 14:00:50 +01:00
Alban Crequy
726fbad69d circle.yml: add variable $DOCKER_ORGANIZATION
With this patch, CircleCI will push by default to the Docker repository
$DOCKER_ORGANIZATION/scope. If $DOCKER_ORGANIZATION is not defined, it
will use $DOCKER_USER/scope.
2016-03-01 14:30:40 +01:00
Alban Crequy
c99400e6c0 circle.yml: deploy on a personal hub account
I would to do some changes in Scope and test my changes in Kubernetes,
following the guide on:
https://github.com/weaveworks/scope#using-weave-scope-with-kubernetes

For that, I need a Docker image of Scope hosted on a Docker hub and
reference that Docker image in my Kubernetes resource yaml file. Instead
of building Scope on my laptop and pushing it manually on my Docker Hub
account, I am using my CircleCI account to do this automatically.

This patch fixes the deployment target in circle.yml. It uses the
environment variable $DOCKER_USER from the CircleCI settings to guard
against unintended deployment. As before, only the "master" branch will
trigger the deployment.

This change should not impact the build of the official Scope Docker
image.
2016-02-29 16:59:29 +01:00
Alban Crequy
3b0fce1da3 circle.yml: disable GCE builds when credentials are missing
Another call to gce.sh was added in commit abebb0f197 ("Build new test VM
(to pickup latest Docker version)") but without the guard on
$SECRET_PASSWORD. Add the guard to be able to test on CircleCI without
Weaveworks' credentials.
2016-02-27 22:06:50 +01:00
Tom Wilkie
98d7887ba0 Condense some more steps in circle, this seems to speed things up. 2016-01-16 12:23:45 -08:00
Tom Wilkie
baec4688cb Various improvements to build & tests
- Fix broken wait in tests.
- Run lint in the build container.
- Merge two quick steps in the circle plan.
- Increase number of test VMs to 3 (again).
2016-01-15 10:00:41 -08:00
Tom Wilkie
8e4d3a4e8b Enable sharding for integration tests. 2016-01-12 21:54:49 +00:00
Tom Wilkie
bf91d5b8ba Use gce.sh, config.sh etc from tools. 2016-01-12 21:54:42 +00:00
Tom Wilkie
696a50fd27 Don't -i for different architectures. 2016-01-04 16:48:41 +00:00
Tom Wilkie
abebb0f197 Build new test VM (to pickup latest Docker version). 2016-01-04 16:10:27 +00:00
Tom Wilkie
9d91a06a75 Don't go get weave, git clone it. 2015-12-10 12:10:29 +00:00
Tom Wilkie
c749f5aa33 Merge probe and app binaries, run with ./scope probe or ./scope app. 2015-12-09 11:00:42 +00:00
Tom Wilkie
b3cc020d79 Fix up circle.yml for binary move. 2015-12-07 14:53:28 +00:00
David Kaltschmidt
c723978ec5 Upgraded react to 0.14.3
also add production globals to webpack config to reduce bundle size
2015-11-19 18:19:39 +01:00
Tom Wilkie
abc93e2d59 Merge some steps in vain attemp to speed up runs. 2015-11-11 18:47:05 +00:00
Tom Wilkie
5c717978d9 Run coverage reporting in post test stage, as teardown is run after the other shard has gone away. 2015-11-10 12:06:57 +00:00
Paul Bellamy
92ec7d9397 Move probe main.go to prog/probe/, break out a probe struct with appropriate responsibilities.
Also adds test for probe 'engine'
2015-11-09 16:25:28 +00:00
Tom Wilkie
9a9ef72ad6 Don't run integration test in parallel for now 2015-11-05 15:44:55 +00:00
Tom Wilkie
1ad7b4fce5 Speed up tests on circle.
- Ensure we use up to date build container when running tests.
- Parallelise host setup for integration tests.
- Pass some more circle env vars through to ./tools/tests so the scheduler works.
- Gather coverage from multiple shards.
- Create files as the right owner inside the container.
- Parallelise the circle.yaml
- Parallelise the intergration tests using existing machinery
- Build experimental in parallel.
- Use custom scheduler prefix for integration tests, so schedules don't clash with weave.
2015-11-04 15:35:21 +00:00
Tom Wilkie
8f2dc64762 Last try, then I give up 2015-11-03 17:01:03 +00:00
Tom Wilkie
6164d7dc94 Try again 2015-11-03 16:25:49 +00:00
Tom Wilkie
261ad4c6f3 Build the runner in the gopath. 2015-11-03 15:14:51 +00:00
Tom Wilkie
73c8d3ba56 Hack to make this work whilst we move the test runner. 2015-11-03 15:09:57 +00:00
Tom Wilkie
a0e2919726 Deal with move of runner. 2015-11-03 14:55:20 +00:00
Tom Wilkie
fb49e146ad Build experimental stuff in a container too 2015-10-26 16:11:16 +00:00
Tom Wilkie
62aed75550 Fix couple of minor typos. 2015-10-26 15:42:06 +00:00
Tom Wilkie
00ac914be9 Don't need to clone a sepatate tools repo, or install a bunch of packages now. 2015-10-26 15:28:55 +00:00
Tom Wilkie
18a1354075 Add make tests target, which runs tests inside build container. 2015-10-26 15:23:00 +00:00
Tom Wilkie
7fd5a315e3 Build inside the build container, using go1.5, by default
Also build for GOOS=darwin and GOARCH=arm
2015-10-23 16:35:11 +00:00
Tom Wilkie
7e1a653349 Add status bar to setup.sh, compress the ssh tunnel to make it quicker. 2015-10-20 15:48:46 +00:00
Tom Wilkie
fdf89a7fc7 Don't --rm containers on circle. 2015-09-14 04:16:52 +00:00
David Kaltschmidt
392f8ce69b fix file list for circle deployment, add JS lint
* lint will be done in build step and fail with error
2015-08-24 12:41:17 +02:00
Tom Wilkie
efeba4a2ed Use rebuild-image script from tools.git
- Add some extra files to build image
- Add make to UI build container
2015-08-17 16:26:06 +00:00
Tom Wilkie
3a1f376c29 Use tools.git 2015-08-17 16:26:04 +00:00
Tom Wilkie
a2ec507a14 Add apt-get update to circle 2015-08-17 12:58:03 +00:00
Paul Bellamy
ff86370df8 fixing and simplifying circle build
The integration tests were using two different versions of weave. One to
launch the weave container, and another used by scope.
2015-08-11 14:14:25 +01:00
Peter Bourgon
b9afa67ad6 gopacket-based traffic sniffing 2015-08-03 10:55:59 +02:00
Paul Bellamy
625a08bd21 forgot to remove reference to gce-parameterize branch of weave 2015-07-31 11:46:50 +01:00
Paul Bellamy
8aede5aaf9 Fixing the build
* override the weave template and hosts count for gce
* weave gce script wants jq as well now
* build the new weave go test runner
2015-07-31 10:31:07 +01:00
Tom Wilkie
ad1ffa87d3 Update circle.yml for changes in weave.git 2015-07-20 13:50:52 +00:00
Tom Wilkie
cf261282e2 Detect when to rebuild cached build image. 2015-07-08 15:43:48 +00:00