tvl-depot/views/kit
Vincent Ambo e1146601c1 feat(kit): Export TVL kit as a josh workspace
This creates a josh workspace called `views/kit` which exports all
dependencies needed by external users of the TVL kit.

The intention of this is to have a single clonable "virtual repo"
which provides everything needed to run a system like TVL, but without
the projects that we develop *in* TVL.

Right now this is limited to the basic Nix code (readTree, pipeline
generation) and things required for Gerrit integration.

The workspace maps depot paths into slightly different (simpler)
locations inside the exported view, to avoid a nested, mostly empty
structure.

Note: This is not an "external API" or some such of depot, it is
simply a convenience for exporting some of our tooling.

Change-Id: Ied24aaef117fc2e0c188ec742ae7cd993a5babd3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4991
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-19 10:24:55 +00:00
..
default.nix feat(kit): Export TVL kit as a josh workspace 2022-01-19 10:24:55 +00:00
README.md feat(kit): Export TVL kit as a josh workspace 2022-01-19 10:24:55 +00:00
workspace.josh feat(kit): Export TVL kit as a josh workspace 2022-01-19 10:24:55 +00:00

The TVL Kit

This folder contains a publicly available version of the core TVL tooling, currently comprising of:

  • buildkite: TVL tooling for dynamically generating Buildkite pipelines with Nix.
  • buildGo: Nix-based build system for Go.
  • readTree: Nix library to dynamically compute attribute trees corresponding to the physical layout of a repository.
  • besadii: Configurable Gerrit/Buildkite integration hook.

It can be accessed via git by cloning it as such:

git clone https://code.tvl.fyi/depot.git:workspace=views/kit.git tvl-kit

If you are looking at this within the TVL depot, you can see the josh configuration in workspace.josh. You will find the projects at slightly different paths within the depot.