[testsharder] Add the testsharder tool

This change does several things:
* Define a test specification schema to be produced by the build.
* Define a test shard schema which may be ingested by other tools.
* Define a "list of valid platforms" schema for policy validation.
* Create the testsharder tool which transforms test specifications into
  test shards via a naive algorithm.

IN-525

Test: Added validation tests, algorithm tests, and ran the tool locally.

Change-Id: I38b60853a8cf312bf9eb92947e9aca24b1d7a190
7 files changed
tree: c4e2042ecf864575f5c172ec3b0880057450957d
  1. cmd/
  2. fuchsia/
  3. gerrit-policy/
  4. netboot/
  5. ninjalog/
  6. pdu/
  7. retry/
  8. serial/
  9. telnet/
  10. tftp/
  11. .gitignore
  12. AUTHORS
  13. Gopkg.lock
  14. Gopkg.toml
  15. LICENSE
  16. MAINTAINERS
  17. manifest
  18. PATENTS
  19. README.md
README.md

infra

This repo contains tools and config files necessary to run infrastructure related to builds, code review, version control, and continuous integrations.

In order to build the Go code, you must clone this repo into an appropriately named directory. This should do the trick:

REPO=fuchsia.googlesource.com/infra/infra
git clone https://${REPO} $(go env GOPATH)/src/${REPO}