mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-25 16:26:48 +00:00
a781575611cdda5952e15e9d708c7b5f1e57b331
This fixes the case where the provided paths do not contain any shell scripts, ie. xargs is passed no values. In this case by default, xargs invokes the command once with no args. This causes shellcheck to print usage and exit failure. The GNU-specific --no-run-if-empty changes the behaviour so that in this case, shellcheck is simply never run. This allows us to use this script as a general lint even in contexts where no shell scripts are present, or none of the files passed are shell scripts.
Weaveworks Build Tools
Included in this repo are tools shared by weave.git and scope.git. They include
cover: a tool which merges overlapping coverage reports generated by go testfiles-with-type: a tool to search directories for files of a given MIME typelint: a script to lint Go project; runs various tools like golint, go vet, errcheck etcrebuild-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 shellchecksocks: a simple, dockerised SOCKS proxy for getting your laptop onto the Weave networktest: 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.
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 --squashin your repo, and PR that.
Languages
Go
60.9%
JavaScript
28.3%
Shell
6.7%
Python
1.6%
HCL
1%
Other
1.5%