From 545f9384b568ef41efa28779e4cf0222d2b0ee94 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Mon, 2 Jan 2023 01:27:27 +0100 Subject: fix(users/Profpatsch/lorri-wait-for-eval): actually search for shell MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The function & error message said it was searching upwards for shell.nix, but it didn’t actually search upwards. Change-Id: I7b81d20a1cc19fdccdc7828427cf17b42e57f414 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7718 Tested-by: BuildkiteCI Autosubmit: Profpatsch Reviewed-by: Profpatsch --- .../lorri-wait-for-eval/LorriWaitForEval.hs | 39 +++++++++++----------- 1 file changed, 19 insertions(+), 20 deletions(-) (limited to 'users/Profpatsch/lorri-wait-for-eval/LorriWaitForEval.hs') diff --git a/users/Profpatsch/lorri-wait-for-eval/LorriWaitForEval.hs b/users/Profpatsch/lorri-wait-for-eval/LorriWaitForEval.hs index 05c5eb9f2b..180def3425 100644 --- a/users/Profpatsch/lorri-wait-for-eval/LorriWaitForEval.hs +++ b/users/Profpatsch/lorri-wait-for-eval/LorriWaitForEval.hs @@ -11,33 +11,33 @@ module Main where import Conduit -import qualified Conduit as Cond +import Conduit qualified as Cond import Control.Concurrent -import qualified Control.Concurrent.Async as Async +import Control.Concurrent.Async qualified as Async import Control.Monad -import qualified Data.Aeson.BetterErrors as Json +import Data.Aeson.BetterErrors qualified as Json import Data.Bifunctor import Data.ByteString (ByteString) -import qualified Data.Conduit.Binary as Conduit.Binary -import qualified Data.Conduit.Combinators as Cond +import Data.Conduit.Binary qualified as Conduit.Binary +import Data.Conduit.Combinators qualified as Cond import Data.Conduit.Process import Data.Error import Data.Function import Data.Functor import Data.List.NonEmpty (NonEmpty ((:|)), nonEmpty) import Data.Text (Text) -import qualified Data.Text as Text -import qualified Data.Text.Encoding -import qualified Data.Text.Encoding.Error +import Data.Text qualified as Text +import Data.Text.Encoding qualified +import Data.Text.Encoding.Error qualified import Data.Text.IO (hPutStrLn) import PyF -import qualified System.Directory as Dir -import qualified System.Environment as Env -import qualified System.Exit as Exit +import System.Directory qualified as Dir +import System.Environment qualified as Env +import System.Exit qualified as Exit import System.FilePath (takeDirectory) -import qualified System.FilePath.Posix as FilePath +import System.FilePath.Posix qualified as FilePath import System.IO (stderr) -import qualified System.Posix as Posix +import System.Posix qualified as Posix import Prelude hiding (log) data LorriEvent = LorriEvent @@ -46,11 +46,6 @@ data LorriEvent = LorriEvent } deriving stock (Show) -data ChanToken a - = -- | so we can see that the lorri thread has been initialized - NoEventYet - | ChanEvent a - data LorriEventType = Completed | Started @@ -168,8 +163,12 @@ findShellNix curDir = do let file = dir FilePath. "shell.nix" Dir.doesFileExist file >>= \case True -> pure (Just file) - False -> pure Nothing - go curDir + False -> do + let parent = FilePath.takeDirectory dir + if parent == dir + then pure Nothing + else go parent + go (FilePath.normalise curDir) textToString :: Text -> String textToString = Text.unpack -- cgit 1.4.1