tweag / funflow

Functional workflows

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nix releases are failing to build

rihardsk opened this issue · comments

Recently i wanted to try out funflow using nix, but it failed to build. The build jobs on nixpkgs's hydra build server are failing as well https://hydra.nixos.org/job/nixpkgs/trunk/haskellPackages.funflow.x86_64-linux

I can provide you with build error outputs that nix is producing if you wish (after a while when i have some time).

Or is this something i should report in the nixpkgs github?

I imagine this is because the testsuite fails because it relies on some external processes. There are no longer any logs on hydra though to verify this.

Building this and taking a look now...

Here's the output of building a simple project with funflow as the only dependency

funflow-nix-error.log

/home/nc/topos/pfizer/funflow/funflow/src/Control/Funflow/Exec/Simple.hs:152:11: error:                                                                                    
    * Could not deduce (Control.Monad.Fail.MonadFail m)           
        arising from a do statement
        with the failable pattern `KnownTask _'
      from the context: (Coordinator c, Exception ex,
                         MonadBaseControl IO m, MonadMask m, KatipContext m)
        bound by the type signature for:
                   runFlowEx :: forall (m :: * -> *) c (eff :: * -> * -> *) ex a b.
                                (Coordinator c, Exception ex, MonadIO m, MonadBaseControl IO m,                                                                            
                                 MonadCatch m, MonadMask m, KatipContext m) =>
                                c
                                -> Config c       
                                -> CS.ContentStore
                                -> (eff ~> AsyncA m)
                                -> Int
                                -> Flow eff ex a b
                                -> a 
                                -> m b
        at src/Control/Funflow/Exec/Simple.hs:(53,1)-(65,16)
      or from: b1 ~ CS.Item                      
        bound by a pattern with constructor:
                   External :: forall a (eff :: * -> * -> *).
                               ExternalProperties a -> (a -> ExternalTask) -> Flow' eff a CS.Item,                                                                         
                 in an equation for runFlow'   
        at src/Control/Funflow/Exec/Simple.hs:121:18-38                                                                                                                    
      Possible fix:                                                                                                                                                        
        add (Control.Monad.Fail.MonadFail m) to the context of
          the type signature for:
            runFlow' :: forall a1 b1.

So this is to do with newer versions of GHC requiring MonadFail. I'll push a fix for this.