tvl-depot/nix
Vincent Ambo 56a97a0337 refactor(nix/buildkite): Explicit support for build phases
Previously the extra steps were roughly divided into steps that run
"at build time" (i.e. before we publish results to Gerrit), and
"post-build" (i.e. later on).

In practice, these are something like a build/release pairing, where
steps running after the build results are returned are mostly run for
side-effects (e.g. publishing git subtrees to external repos).

This refactoring makes this distinction explicit in //nix/buildkite
and changes the extraSteps API with an explicit `phases` attribute
instead of the previous `postStep` attribute.

In practice the previous API is still supported, but will throw
evaluation warnings until an arbitrarily chosen cutoff date of
2022-10-01 at which point we will change using it into a hard error.

This uncovered a few strange behaviours which we only accidentally
avoided, most of which I have left TODOs about and will clean up in
subsequent commits.

The purpose of this commit is to allow for separate evaluations of
only build or only release steps, for example if release steps are
evaluated in a slightly different context (e.g. with overridden
versioning that is not relevant to standard CI functionality).

Change-Id: I0b0186e3824273c15a774260708702d4a5974dac
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5825
Reviewed-by: ezemtsov <eugene.zemtsov@gmail.com>
Tested-by: BuildkiteCI
2022-06-03 17:36:15 +00:00
..
binify style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
bufCheck refactor(bufCheck): Assume bufCheck is run in depot checkout 2021-08-29 12:41:07 +00:00
buildGo fix(nix/buildGo): Use overrideAttrs to add metadata 2022-02-02 13:36:58 +00:00
buildkite refactor(nix/buildkite): Explicit support for build phases 2022-06-03 17:36:15 +00:00
buildLisp fix(nix/buildLisp): resolve eval problem in ccl code 2022-06-01 10:46:03 +00:00
buildManPages style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
drvSeqL style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
emptyDerivation style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
escapeExecline style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
getBins style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
lazy-deps feat(nix/lazy-deps): Add function to generate lazy binary dispatcher 2022-05-02 23:34:55 +00:00
mergePatch style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
netstring style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
nint style(rust): Format all Rust code with rustfmt 2022-02-08 12:06:39 +00:00
nix-1p feat(nix-1p): Export subtree to GitHub 2022-05-29 12:30:49 +00:00
readTree refactor(readTree): deprecate meta.targets for meta.ci.targets 2022-02-07 15:13:52 +00:00
renderMarkdown style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
runExecline style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
runTestsuite style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
sparseTree style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
tag style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
tailscale style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
utils feat(nix/utils): add onlyDrvPath to get the drvPath w/o the outputs 2022-05-28 12:01:46 +00:00
writeElispBin chore(3p/sources): Bump channels and overlays 2022-04-21 16:54:07 +00:00
writeExecline style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
writers style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
writeScript style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
writeScriptBin refactor(nix): use our own writeScript(Bin) 2020-06-30 00:19:27 +00:00
yants docs(yants): Update josh cloning instructions 2022-02-19 11:37:00 +00:00
OWNERS chore(OWNERS): move Profpatsch up to nix/ 2021-01-01 19:03:15 +00:00