{"id":13452412,"url":"https://github.com/weaveworks/build-tools","last_synced_at":"2026-01-11T22:58:48.099Z","repository":{"id":35675098,"uuid":"39950680","full_name":"weaveworks/build-tools","owner":"weaveworks","description":"Collection of build \u0026 test tools shared by various Weaveworks projects","archived":false,"fork":false,"pushed_at":"2023-05-01T20:14:33.000Z","size":422,"stargazers_count":43,"open_issues_count":20,"forks_count":20,"subscribers_count":49,"default_branch":"master","last_synced_at":"2025-04-01T08:51:16.808Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weaveworks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.LGPL-3","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-07-30T12:59:18.000Z","updated_at":"2024-11-28T16:31:27.000Z","dependencies_parsed_at":"2023-07-13T18:17:19.994Z","dependency_job_id":null,"html_url":"https://github.com/weaveworks/build-tools","commit_stats":null,"previous_names":["weaveworks/tools"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveworks%2Fbuild-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveworks%2Fbuild-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveworks%2Fbuild-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveworks%2Fbuild-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weaveworks","download_url":"https://codeload.github.com/weaveworks/build-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253787241,"owners_count":21964300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T07:01:23.465Z","updated_at":"2026-01-11T22:58:48.086Z","avatar_url":"https://github.com/weaveworks.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Weaveworks Build Tools\n\nIncluded in this repo are tools shared by weave.git and scope.git.  They include\n\n- ```bazel-rules```: Bazel build rules used in our projects\n- ```build```: a set of docker base-images for building weave\n  projects. These should be used instead of giving each project its\n  own build image.\n- ```provisioning```: a set of Terraform scripts to provision virtual machines in GCP, AWS or Digital Ocean.\n- ```config_management```: a set of Ansible playbooks to configure virtual machines for development, testing, etc.\n- ```cover```: a tool which merges overlapping coverage reports generated by go\n  test\n- ```files-with-type```: a tool to search directories for files of a given\n  MIME type\n- ```lint```: a script to lint go, sh and hcl files; runs various tools like\n  golint, go vet, errcheck, shellcheck etc\n- ```rebuild-image```: a script to rebuild docker images when their input files\n  change; useful when you using docker images to build your software, but you\n  don't want to build the image every time.\n- ```shell-lint```: a script to lint multiple shell files with \n  [shellcheck](http://www.shellcheck.net/)\n- ```socks```: a simple, dockerised SOCKS proxy for getting your laptop onto\n  the Weave network\n- ```test```: a script to run all go unit tests in subdirectories, gather the\n  coverage results, and merge them into a single report.\n- ```runner```: a tool for running tests in parallel; given each test is\n  suffixed with the number of hosts it requires, and the hosts available are\n  contained in the environment variable HOSTS, the tool will run tests in\n  parallel, on different hosts.\n- ```scheduler```: an appengine application that can be used to distribute\n  tests across different shards in CircleCI.\n\n## Requirements\n\n- ```lint``` requires shfmt to lint sh files; get shfmt with\n```\ncurl -fsSLo shfmt https://github.com/mvdan/sh/releases/download/v1.3.0/shfmt_v1.3.0_linux_amd64\nchmod +x shfmt\n```\n  (we pin that version, and it doesn't build from the source repo any more)\n\n## Using build-tools.git\n\nTo allow you to tie your code to a specific version of build-tools.git, such\nthat future changes don't break you, we recommendation that you [`git subtree`]()\nthis repository into your own repository:\n\n[`git subtree`]: http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/\n\n```\ngit subtree add --prefix tools https://github.com/weaveworks/build-tools.git master --squash\n````\n\nTo update the code in build-tools.git, the process is therefore:\n- PR into build-tools.git, go through normal review process etc.\n- Do `git subtree pull --prefix tools https://github.com/weaveworks/build-tools.git master --squash`\n  in your repo, and PR that.\n\n## \u003ca name=\"help\"\u003e\u003c/a\u003eGetting Help\n\nIf you have any questions about, feedback for or problems with `build-tools`:\n\n- Invite yourself to the \u003ca href=\"https://slack.weave.works/\" target=\"_blank\"\u003eWeave Users Slack\u003c/a\u003e.\n- Ask a question on the [#general](https://weave-community.slack.com/messages/general/) slack channel.\n- [File an issue](https://github.com/weaveworks/build-tools/issues/new).\n\nWeaveworks follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a Weaveworks project maintainer, or Alexis Richardson (alexis@weave.works).\n\nYour feedback is always welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaveworks%2Fbuild-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweaveworks%2Fbuild-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaveworks%2Fbuild-tools/lists"}