about summary refs log tree commit diff
path: root/tools/nixery/prepare-image/prepare-image.nix
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-06-02T16·59+0000
committertazjin <tazjin@tvl.su>2022-06-03T17·36+0000
commit56a97a0337a3f3eedc859b5f380a6f62adcb0368 (patch)
tree84dd40a45db0643d0f931f7115b6096930b969bb /tools/nixery/prepare-image/prepare-image.nix
parenta027ee9f03c33ecb859139d08823da9bdf438b64 (diff)
refactor(nix/buildkite): Explicit support for build phases r/4203
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
Diffstat (limited to 'tools/nixery/prepare-image/prepare-image.nix')
0 files changed, 0 insertions, 0 deletions