diff options
Diffstat (limited to 'views/kit')
-rw-r--r-- | views/kit/README.md | 24 | ||||
-rw-r--r-- | views/kit/buildkite.yml | 10 | ||||
-rw-r--r-- | views/kit/default.nix | 30 | ||||
-rw-r--r-- | views/kit/workspace.josh | 12 |
4 files changed, 76 insertions, 0 deletions
diff --git a/views/kit/README.md b/views/kit/README.md new file mode 100644 index 000000000000..491a97c0c4ca --- /dev/null +++ b/views/kit/README.md @@ -0,0 +1,24 @@ +The TVL Kit +=========== + +[![Build status](https://badge.buildkite.com/cd7240a881c7e77c3ed8cc040f81734623f57038563b37213d.svg?branch=canon)](https://buildkite.com/tvl/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. + +[josh]: https://github.com/josh-project/josh/ diff --git a/views/kit/buildkite.yml b/views/kit/buildkite.yml new file mode 100644 index 000000000000..406e81aad076 --- /dev/null +++ b/views/kit/buildkite.yml @@ -0,0 +1,10 @@ +# Build pipeline for the filtered //views/kit workspace of depot. This +# pipeline is triggered by each build of canon. +# +# Pipeline status is visible on https://buildkite.com/tvl/tvl-kit + +steps: + - command: "nix-build --no-out-link -A besadii" + label: ":nix: besadii" + - command: "nix-build --no-out-link -A magrathea" + label: ":nix: magrathea" diff --git a/views/kit/default.nix b/views/kit/default.nix new file mode 100644 index 000000000000..056683380bd7 --- /dev/null +++ b/views/kit/default.nix @@ -0,0 +1,30 @@ +# Externally importable TVL depot stack. This is intended to be called +# with a supplied package set, otherwise the package set currently in +# use by the TVL depot will be used. +# +# For now, readTree is not used inside of this configuration to keep +# it simple. Adding it may be useful if we set up test scaffolding +# around the exported workspace. + +{ pkgs ? (import ./nixpkgs { + depotOverlays = false; + depot.third_party.sources = import ./sources { }; + }) +, ... +}: + +pkgs.lib.fix (self: { + buildGo = import ./buildGo { inherit pkgs; }; + readTree = import ./readTree { }; + + buildkite = import ./buildkite { + inherit pkgs; + depot.nix.readTree = self.readTree; + }; + + besadii = import ./besadii { + depot.nix.buildGo = self.buildGo; + }; + + magrathea = import ./magrathea { inherit pkgs; }; +}) diff --git a/views/kit/workspace.josh b/views/kit/workspace.josh new file mode 100644 index 000000000000..d2d7ec49af2b --- /dev/null +++ b/views/kit/workspace.josh @@ -0,0 +1,12 @@ +::LICENSE +besadii = :/ops/besadii +:/nix:[ + ::buildGo/ + ::buildkite/ + ::readTree/ +] +:/third_party:[ + ::nixpkgs/ + ::sources/ +] +magrathea = :/tools/magrathea |