feat(users/Profpatsch): add lorri-wait-for-eval

A small exec wrapper which will query the lorri daemon for the last
few events, and if it sees a build running for the current
project (searching upwards for shell.nix), it will wait for the build
to finish before executing the command (in the new direnv
environment).

TODO: should patch lorri so that it can provide this information in a
better digestive format; right now it might have a later evaluation
running, so it’s hard to know which completion to wait for …

Change-Id: I8fa4a10484830a731fe3ec58f2694498f46a496c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5903
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
Profpatsch 2022-06-29 22:18:51 +02:00
parent 6d99b93f1a
commit 8f55567cf2
3 changed files with 217 additions and 0 deletions

View file

@ -0,0 +1,19 @@
{ depot, pkgs, lib, ... }:
let
lorri-wait-for-eval = pkgs.writers.writeHaskell "lorri-wait-for-eval"
{
libraries = [
pkgs.haskellPackages.async
pkgs.haskellPackages.aeson-better-errors
pkgs.haskellPackages.conduit-extra
pkgs.haskellPackages.error
pkgs.haskellPackages.PyF
pkgs.haskellPackages.unliftio
];
ghcArgs = [ "-threaded" ];
} ./LorriWaitForEval.hs;
in
lorri-wait-for-eval