Commit Graph
43 Commits
Author SHA1 Message Date
Matthias Radestock cbe73e7645 switch dockerhub user from zettio to weaveworks 2015-04-21 15:37:41 +01:00
Bryan Boreham 8c6c14c6d3 Accumulate any errors from go test commands so we can report overall status 2015-04-14 18:03:10 +01:00
David Wragg 433d406d83 Use $(@D) rather than $(shell dirname $@) 2015-04-13 20:39:01 +01:00
David Wragg bc9bb9e4ae tempfile is a deprecated debianism
As noted in its man page.
2015-04-13 20:37:12 +01:00
Adam Harrison 338d577fb7 Implement weaveexec signal proxy 2015-04-11 11:50:42 +01:00
Tom Wilkie db9a0d7528 More feedback on test 'harness' 2015-04-01 12:32:35 +00:00
Tom Wilkie d28d52da15 Move away from recursive go test, as it cannot output a merged coverage profile. Update said profile to coveralls.io; add badge. 2015-04-01 12:00:06 +00:00
Tom Wilkie 7969566b27 Setup Travis CI for Weave. Add .travis.yml; add target to makefile which doesn't use docker; add image to readme. 2015-03-31 15:02:35 +00:00
Tom Wilkie 592be90904 Use recursive go test instead of naming directories individually 2015-03-31 13:33:36 +00:00
Michael Bridgen 520c54f8da Use a fixed (and old) version of the docker client
As noted in #388 comment 76958961, we need the docker client to be as
old as possible while supporting what weave needs to do. At the minute
that means version 1.3.1.

The `apk` package index does not have old versions of docker, so the
most direct way of getting a docker executable is to download the
specific version from https://get.docker.com.
2015-03-20 14:37:24 +00:00
Michael Bridgen 795d0edc73 weavetools -> weaveexec
This is to make a visible break with previous releases, such that a
newly downloaded weave script will definitely work.

Without this change in name, an existing weavetools image that doesn't
include the script might be invoked, resulting in a confusing message
for the user.
2015-03-18 12:29:20 +00:00
Michael Bridgen 8d12810446 Move weave script into tools image with its deps
This rearrangement means that the `weave` command can be used
remotely; and, as a side-effect, the script that does all the work is
using executables in its own filesystem, rather than invoking them via
docker.

The remote weavetools is given a terminal so it can be interrupted.

With the flag `--local`, the script will assume all its dependencies
are available and run then and there. Without the flag, it will run
via the weavetools image (adding the flag to the invocation).

A choice here is whether to base the tools image on scratch and add
all the deps, or base it on something else. I've used alpine linux,
which itself is based on busybox. This gives us the usual tools (sed
etc.) while keeping the image size small.

Adding the docker binary adds substantially to the image size, but it
cannot always be e.g., bind-mounted. To mitigate this image bloat, we
might build or otherwise get a client-only docker executable, or write
a special-purpose client, or indeed rewrite the driver script and use
a client library.

This also makes the dockerhub user part of the image names
parameterised, to make it easier to test the release process in full.
2015-03-18 12:29:19 +00:00
Matthias Radestock 5327c41c82 Allow build to be interrupted.
This was missed in #387.
2015-02-27 16:45:24 +00:00
rade d9cdfff35d Merge pull request #387 from dpw/build_in_container
Containerized weave build
2015-02-25 15:35:35 +00:00
David Wragg cf2b7bc673 Remove 'make prerequisites' and update docs accordingly 2015-02-25 14:15:07 +00:00
David Wragg 438e57853b Leave the docker image .tar files in the weave directory
Making things into /var/tmp is a bit odd, and this works better in
the context of the containerized build.
2015-02-24 14:38:59 +00:00
Abhishek Chanda ed2d0d56a5 Enable code coverage reports
This will make the test print code coverage report once done in each directory
2015-02-14 16:30:32 -08:00
David Wragg a31b115b06 Add 'build' makefile target 2015-02-10 16:27:06 +00:00
David Wragg 23233851db Support non-containerized WEAVETOOLS_EXES build 2015-02-10 16:05:54 +00:00
Matthias Radestock b42766fb81 'docker tag' with '-f' so we can easily re-do failed releases 2015-02-03 14:20:04 +00:00
Matthias Radestock 13fc0bf720 add some tests for Peers
extracted from #313
2015-01-24 10:56:44 +00:00
rade 73e1d0c12e Merge pull request #314 from squaremo/issue289_exclude_test
Move testing utils to its own package

Fixes #289.
2015-01-12 11:42:55 +00:00
Michael Bridgen 97bece2d7b Move testing utils to its own package
So as not to pollute command-line flags with test.* options.

It appears that importing "testing" (from stdlib) will add flags. To
avoid this, we need code to not depend on testing. But, since
testing_utils was previously in the same package as the rest of the
code, it dragged testing in.

Renaming testing_util.go to e.g., util_for_test.go might be enough to
avoid it being compiled with the regular code. We may want it to be
available to tests for other packages -- after all it is utilities for
testing -- so it goes in its own package.
2015-01-09 12:36:32 +00:00
Matthias Radestock b1ca832ed5 re-instate 'make publish'
and call it from the release script
2015-01-08 20:06:00 +00:00
Matthias Radestock 3090282a15 permit overriding of dockerhub user 2015-01-08 19:15:28 +00:00
rade ba27fd6523 Merge pull request #309 from rade/101_eliminate_dependencies
eliminate dependency on ethtool and conntrack on host

Closes #101.
2015-01-04 08:57:33 +00:00
Matthias Radestock cd985c1bed cosmetic: more idiomatic way of figuring out directory 2015-01-02 16:39:02 +00:00
Matthias Radestock b8e4ad1314 add 'make update' to update dependencies 2015-01-02 16:35:51 +00:00
Matthias Radestock da3d343f26 tidying: remove 'publish' targer from .PHONY
we forgot to do that when removing the target itsel
2015-01-02 16:27:37 +00:00
Matthias Radestock 7b6ea37fea wire in weavetools image build
We use a plain ubuntu container as a build environment for ethtool &
conntrack, so a) we don't require onerous tooling on the build host,
and b) don't pollute the build host with build artefacts. The latter
arise because I can only get conntrack to build by installing its
dependencies 'globally'.

Th dir containing the build script is volume-mounted into the
container, and that is where we also expect to see the result, namely
a 'bin' sub-dir containing two executables.

The weavetools image is then constructed from the 'scratch' image and
contains just that dir.
2015-01-01 00:57:02 +00:00
Matthias Radestock 2f053161d4 oops 2014-12-30 14:33:48 +00:00
Matthias Radestock d31a4ea331 more idiomatic go build time variable setting
avoiding the use of 'sed'
2014-12-29 13:27:35 +00:00
Michael Bridgen 314fff0cff No need for make publish 2014-12-29 12:05:38 +00:00
Matthias Radestock 15a5e38e8b cosmetic 2014-12-23 12:59:54 +00:00
Matthias Radestock 6692dc403e work with latest (1.4) golang 2014-12-18 17:00:08 +00:00
Bryan Boreham 9dc2a51c2d Add `-tags net 2014-12-09 15:55:25 +00:00
Bryan Boreham a5acb5cdd3 Added tests to .PHONY rule 2014-11-19 16:34:39 +00:00
Bryan Boreham c4980630a1 Added 'make tests' target to makefile and call it before 'make publish' 2014-11-18 12:37:28 +00:00
Michael Bridgen 01079737fa Publish the weaveDNS docker image too 2014-11-04 11:54:45 +00:00
Michael Bridgen 44cac7fb40 Build weavedns bin and container in the Makefile 2014-10-29 14:20:24 +00:00
Matthias Radestock 007f78e07c make 'docker load -i weave.tar' work again
for some reason it started complaining about an unknown ids for me
2014-10-23 12:09:41 +01:00
Matthias Radestock 8dd97a07de fix up Makefile to cope with its new location
also various other Makefile tidy-ups
- extract consts for various targets
- mark non-file targets as phony
- use $@ when possible
2014-10-22 14:06:16 +01:00
Matthias Radestock bc02066bdb move Makefile to top-level 2014-10-22 13:36:06 +01:00