Bryan Boreham a0d60e4de9 Squashed 'tools/' changes from ec369f58d..f041a74ff
f041a74ff Undo some quoting that broke the test script (#160)
b1c21a068 Merge pull request #158 from weaveworks/go-1-13
d5c7dd0cd Run shell-lint during CI, and fix warnings
6db1abd14 Update to Go 1.13.1
d6cc704a2 Fix comment
7139116ae Revert "Push comments to the left so they don't appear in scripts"
e47e58f7b Push comments to the left so they don't appear in scripts
3945fcec8 Remove nonexistent env var GIT_TAG
cd6299284 Merge pull request #156 from weaveworks/drop-quay
af0eb5119 Merge pull request #157 from weaveworks/fix-image-tag-prefix-length
0b9aee4f2 Fix image-tag object name prefix length to 8 chars.
813c28fe7 Move from CircleCI 1.0 to 2.0
425cf4ef1 Move from quay.io to Dockerhub
87ccf4fd1 Merge pull request #155 from weaveworks/go-1-12
c31bc2865 Update lint script to work with Go 1.12
ed8e380d7 Update to Go 1.12.1

git-subtree-dir: tools
git-subtree-split: f041a74ffbf273b627d6c960f17357108d0dbd1c
2019-10-02 14:34:20 +00:00

Weaveworks Build Tools

Included in this repo are tools shared by weave.git and scope.git. They include

  • bazel-rules: Bazel build rules used in our projects
  • build: a set of docker base-images for building weave projects. These should be used instead of giving each project its own build image.
  • provisioning: a set of Terraform scripts to provision virtual machines in GCP, AWS or Digital Ocean.
  • config_management: a set of Ansible playbooks to configure virtual machines for development, testing, etc.
  • cover: a tool which merges overlapping coverage reports generated by go test
  • files-with-type: a tool to search directories for files of a given MIME type
  • lint: a script to lint go, sh and hcl files; runs various tools like golint, go vet, errcheck, shellcheck etc
  • rebuild-image: a script to rebuild docker images when their input files change; useful when you using docker images to build your software, but you don't want to build the image every time.
  • shell-lint: a script to lint multiple shell files with shellcheck
  • socks: a simple, dockerised SOCKS proxy for getting your laptop onto the Weave network
  • test: a script to run all go unit tests in subdirectories, gather the coverage results, and merge them into a single report.
  • runner: a tool for running tests in parallel; given each test is suffixed with the number of hosts it requires, and the hosts available are contained in the environment variable HOSTS, the tool will run tests in parallel, on different hosts.
  • scheduler: an appengine application that can be used to distribute tests across different shards in CircleCI.

Requirements

  • lint requires shfmt to lint sh files; get shfmt with
curl -fsSLo shfmt https://github.com/mvdan/sh/releases/download/v1.3.0/shfmt_v1.3.0_linux_amd64
chmod +x shfmt

(we pin that version, and it doesn't build from the source repo any more)

Using build-tools.git

To allow you to tie your code to a specific version of build-tools.git, such that future changes don't break you, we recommendation that you git subtree this repository into your own repository:

git subtree add --prefix tools https://github.com/weaveworks/build-tools.git master --squash

To update the code in build-tools.git, the process is therefore:

  • PR into build-tools.git, go through normal review process etc.
  • Do git subtree pull --prefix tools https://github.com/weaveworks/build-tools.git master --squash in your repo, and PR that.

Getting Help

If you have any questions about, feedback for or problems with build-tools:

Your feedback is always welcome!

Description
Monitoring, visualisation & management for Docker & Kubernetes
Readme Pixar 103 MiB
Languages
Go 60.9%
JavaScript 28.3%
Shell 6.7%
Python 1.6%
HCL 1%
Other 1.5%