Skip to content

Commit

Permalink
Upgrade to effectful-zoo-0.0.4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
newhoggy committed Feb 4, 2025
1 parent 580ac53 commit dcfacee
Show file tree
Hide file tree
Showing 18 changed files with 51 additions and 58 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
id: setup-haskell
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: 3.12.1.0
cabal-version: 3.10.3.0

- name: Set some window specific things
if: matrix.os == 'windows-latest'
Expand Down
2 changes: 1 addition & 1 deletion app/App/Commands/Debug/S3/Cp.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import App.Commands.Options.Parser (text)
import App.Commands.Options.Types (CpOptions (CpOptions))
import App.Run
import Effectful.Zoo.Amazonka.Data.AwsError
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import Effectful.Zoo.Lazy.Dynamic
import HaskellWorks.CabalCache.AppError (AwsStatusError(..), displayAwsStatusError)
import HaskellWorks.CabalCache.Error (CopyFailed(..), ExitFailure(..), UnsupportedUri)
Expand Down
2 changes: 1 addition & 1 deletion app/App/Commands/Plan.hs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import Control.Lens (Each (each), (%~))
import Data.Aeson qualified as J
import Data.ByteString.Lazy qualified as LBS
import Data.Text qualified as T
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import HaskellWorks.CabalCache.Core qualified as Z
import HaskellWorks.CabalCache.Error (DecodeError, ExitFailure (..))
import HaskellWorks.CabalCache.Hash qualified as H
Expand Down
2 changes: 1 addition & 1 deletion app/App/Commands/SyncFromArchive.hs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import Data.List.NonEmpty (NonEmpty)
import Effectful
import Effectful.Zoo.Amazonka.Data.AwsError
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import Effectful.Zoo.Lazy.Dynamic
import HaskellWorks.CabalCache.AppError (AwsStatusError, HttpError (..), displayAwsStatusError, displayHttpError)
import HaskellWorks.CabalCache.Concurrent.Fork
Expand Down
2 changes: 1 addition & 1 deletion app/App/Commands/SyncToArchive.hs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import Effectful.Concurrent.Async
import Effectful.Concurrent.STM
import Effectful.Zoo.Amazonka.Data.AwsError
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import Effectful.Zoo.Lazy.Dynamic
import HaskellWorks.CabalCache.AppError (AwsStatusError, HttpError (..), displayAwsStatusError, displayHttpError)
import HaskellWorks.CabalCache.Error (DecodeError, ExitFailure(..), InvalidUrl(..), NotImplemented(..), UnsupportedUri(..))
Expand Down
25 changes: 14 additions & 11 deletions app/App/Run.hs
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,32 @@ import Effectful.Resource
import Effectful.Zoo.Amazonka.Api.Run
import Effectful.Zoo.Amazonka.Data.AwsLogEntry
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.DataLog.Data.LogEntry
import Effectful.Zoo.DataLog.Dynamic
import Effectful.Zoo.DataLog.Static
import Effectful.Zoo.Error.Static
import Effectful.Zoo.Log.Data.LogMessage
import Effectful.Zoo.Log.Data.Severity
import Effectful.Zoo.Log.Dynamic
import Effectful.Zoo.Log.Static
import HaskellWorks.Prelude
import HaskellWorks.ToText

import qualified Data.Text as T
import qualified System.IO as IO
import Data.Text.IO qualified as T
import System.IO qualified as IO

{- HLINT ignore "Monoid law, left identity" -}
{- HLINT ignore "Reduce duplication" -}
{- HLINT ignore "Redundant do" -}

writeLog :: ()
=> r <: IOE
=> CallStack
-> Severity
-> Text
=> Eff r Severity
-> CallStack
-> LogMessage Text
-> Eff r ()
writeLog _ _ t = do
liftIO $ IO.hPutStrLn IO.stderr $ T.unpack t -- TODO write severity
writeLog getLogSeverity _cs (LogMessage messageSeverity message) = do
logSeverity <- getLogSeverity
when (messageSeverity >= logSeverity) $
liftIO $ T.hPutStrLn IO.stderr $ "[" <> toText messageSeverity <> "] " <> message

runApp :: ()
=> Eff
Expand All @@ -55,7 +58,7 @@ runApp f =
& catchAndExitFailure @ExitFailure
& runDataLogAwsLogEntryToLog
& runDataLog @(LogEntry (LogMessage Text)) (\_ -> pure ()) -- TODO log these properly
& runLog (ConcUnlift Persistent Unlimited) writeLog
& runLog (ConcUnlift Persistent Unlimited) (writeLog (pure Info))
& runEnvironment
& runConcurrent
& runResource
Expand Down
25 changes: 7 additions & 18 deletions cabal-cache.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,10 @@ common directory { build-depends: directory
common effectful { build-depends: effectful >= 2.5 && < 3 }
common effectful-core { build-depends: effectful-core >= 2.5 && < 3 }
common effectful-plugin { build-depends: effectful-plugin >= 1.1.0.4 && < 2 }
common effectful-zoo-amazonka { build-depends: effectful-zoo:amazonka >= 0.0.1.0 && < 0.1 }
common effectful-zoo-console { build-depends: effectful-zoo:console >= 0.0.1.0 && < 0.1 }
common effectful-zoo-core { build-depends: effectful-zoo:core >= 0.0.1.0 && < 0.1 }
common effectful-zoo-datalog { build-depends: effectful-zoo:datalog >= 0.0.1.0 && < 0.1 }
common effectful-zoo-hedgehog { build-depends: effectful-zoo:hedgehog >= 0.0.1.0 && < 0.1 }
common effectful-zoo-hunit { build-depends: effectful-zoo:hunit >= 0.0.1.0 && < 0.1 }
common effectful-zoo-lazy { build-depends: effectful-zoo:lazy >= 0.0.1.0 && < 0.1 }
common effectful-zoo-log { build-depends: effectful-zoo:log >= 0.0.1.0 && < 0.1 }
common effectful-zoo-amazonka { build-depends: effectful-zoo:amazonka >= 0.0.4.1 && < 0.1 }
common effectful-zoo-core { build-depends: effectful-zoo:core >= 0.0.4.1 && < 0.1 }
common effectful-zoo-hedgehog { build-depends: effectful-zoo:hedgehog >= 0.0.4.1 && < 0.1 }
common effectful-zoo-hunit { build-depends: effectful-zoo:hunit >= 0.0.4.1 && < 0.1 }
common exceptions { build-depends: exceptions >= 0.10.1 && < 0.11 }
common filepath { build-depends: filepath >= 1.3 && < 1.6 }
common generic-lens { build-depends: generic-lens >= 1.1.0.0 && < 2.3 }
Expand Down Expand Up @@ -71,6 +67,7 @@ common selective { build-depends: selective
common stm { build-depends: stm >= 2.5.0.0 && < 3 }
common stringsearch { build-depends: stringsearch >= 0.3.6.6 && < 0.4 }
common tar { build-depends: tar >= 0.5.1.0 && < 0.7 }
common tasty { build-depends: tasty >= 1.5.1 && < 2 }
common temporary { build-depends: temporary >= 1.3 && < 1.4 }
common text { build-depends: text >= 1.2.3.1 && < 2.2 }
common time { build-depends: time >= 1.4 && < 1.13 }
Expand Down Expand Up @@ -154,11 +151,7 @@ library
effectful-core,
effectful-plugin,
effectful-zoo-amazonka,
effectful-zoo-console,
effectful-zoo-core,
effectful-zoo-datalog,
effectful-zoo-lazy,
effectful-zoo-log,
exceptions,
filepath,
generic-lens,
Expand Down Expand Up @@ -221,9 +214,6 @@ executable cabal-cache
effectful-plugin,
effectful-zoo-amazonka,
effectful-zoo-core,
effectful-zoo-datalog,
effectful-zoo-lazy,
effectful-zoo-log,
effectful,
exceptions,
filepath,
Expand Down Expand Up @@ -272,8 +262,6 @@ test-suite cabal-cache-test
effectful-zoo-amazonka,
effectful-zoo-core,
effectful-zoo-hedgehog,
effectful-zoo-hunit,
effectful-zoo-lazy,
effectful,
exceptions,
filepath,
Expand All @@ -288,14 +276,15 @@ test-suite cabal-cache-test
network-uri,
raw-strings-qq,
resourcet-effectful,
tasty,
text,
time
type: exitcode-stdio-1.0
main-is: Spec.hs
build-depends: cabal-cache
hs-source-dirs: test
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-tool-depends: hspec-discover:hspec-discover
build-tool-depends: tasty-discover:tasty-discover
other-modules: HaskellWorks.CabalCache.AwsSpec
HaskellWorks.CabalCache.IntegrationSpec
HaskellWorks.CabalCache.LocationSpec
Expand Down
5 changes: 4 additions & 1 deletion cabal.project
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
packages: .
packages: . ../hw-prelude ../effectful-zoo

constraints:
text < 2.1.2
2 changes: 1 addition & 1 deletion src/HaskellWorks/CabalCache/AWS/Error.hs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module HaskellWorks.CabalCache.AWS.Error
import Effectful
import Effectful.Zoo.Amazonka.Data.AwsError
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import HaskellWorks.CabalCache.AppError (AwsStatusError(..))
import HaskellWorks.Prelude

Expand Down
4 changes: 2 additions & 2 deletions src/HaskellWorks/CabalCache/AWS/S3.hs
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ import Effectful.Resource
import Effectful.Zoo.Amazonka.Api.Send
import Effectful.Zoo.Amazonka.Data
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import Effectful.Zoo.Lazy.Dynamic
import Effectful.Zoo.DataLog.Dynamic
import Effectful.Zoo.DataLog.Static
import HaskellWorks.CabalCache.AppError (AwsStatusError(..))
import HaskellWorks.CabalCache.Error (CopyFailed(..), UnsupportedUri(..))
import HaskellWorks.Prelude
Expand Down
2 changes: 1 addition & 1 deletion src/HaskellWorks/CabalCache/Concurrent/DownloadQueue.hs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import Control.Monad.Catch (MonadMask(..))
import Data.Set ((\\))
import Effectful
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import Prelude hiding (fail)
import HaskellWorks.Prelude

Expand Down
4 changes: 2 additions & 2 deletions src/HaskellWorks/CabalCache/Core.hs
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import Control.DeepSeq (NFData)
import Data.Aeson (eitherDecode)
import Effectful
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Core.Exception
import Effectful.Zoo.Error.Static
import Effectful.Zoo.Exception
import HaskellWorks.CabalCache.Error (DecodeError(..))
import HaskellWorks.Prelude
import System.FilePath ((<.>), (</>))
Expand Down
4 changes: 2 additions & 2 deletions src/HaskellWorks/CabalCache/Exit.hs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ module HaskellWorks.CabalCache.Exit

import Effectful
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import Effectful.Zoo.Log.Api
import Effectful.Zoo.Log.Dynamic
import HaskellWorks.Prelude

import qualified System.Exit as IO
import Effectful.Zoo.Log.Static

catchAndExitFailure :: forall e a r. ()
=> Show e
Expand Down
2 changes: 1 addition & 1 deletion src/HaskellWorks/CabalCache/IO/File.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import HaskellWorks.Prelude
import Effectful
import Effectful.Zoo.Console.Dynamic
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import Data.Text qualified as T
import System.Directory qualified as IO
import System.Exit qualified as IO
Expand Down
6 changes: 3 additions & 3 deletions src/HaskellWorks/CabalCache/IO/Lazy.hs
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ import Effectful.Zoo.Amazonka.Data.AwsEnv
import Effectful.Zoo.Amazonka.Data.AwsError
import Effectful.Zoo.Amazonka.Data.AwsLogEntry
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Core.Exception
import Effectful.Zoo.DataLog.Dynamic
import Effectful.Zoo.DataLog.Static
import Effectful.Zoo.Error.Static
import Effectful.Zoo.Exception
import Effectful.Zoo.Lazy.Dynamic
import HaskellWorks.CabalCache.AppError (AwsStatusError(..), HttpError(..), statusCodeOf)
import HaskellWorks.CabalCache.Error (CopyFailed(..), InvalidUrl(..), NotFound(..), NotImplemented(..), UnsupportedUri(..))
Expand Down
2 changes: 1 addition & 1 deletion src/HaskellWorks/CabalCache/IO/Tar.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ module HaskellWorks.CabalCache.IO.Tar

import Control.DeepSeq (NFData)
import Effectful
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Core
import Effectful.Zoo.Error.Static
import HaskellWorks.Prelude

import qualified System.Exit as IO
Expand Down
16 changes: 7 additions & 9 deletions test/HaskellWorks/CabalCache/AwsSpec.hs
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,23 @@ module HaskellWorks.CabalCache.AwsSpec
import Data.Generics.Product.Any
import Effectful
import Effectful.Concurrent
import Effectful.Resource
import Effectful.Environment
import Effectful.Error.Static (runError)
import Effectful.Resource
import Effectful.Zoo.Amazonka.Api.Discover
import Effectful.Zoo.Amazonka.Data.AwsEnv
import Effectful.Zoo.Amazonka.Data.AwsError
import Effectful.Zoo.Amazonka.Data.AwsLogEntry
import Effectful.Zoo.Core
import Effectful.Zoo.Core.Error.Static
import Effectful.Zoo.Error.Static
import Effectful.Zoo.Hedgehog.Api
import Effectful.Zoo.Hedgehog.Dynamic
import Effectful.Zoo.HUnit
import Effectful.Zoo.Hedgehog.Data
import Effectful.Zoo.Hedgehog.Effect.Hedgehog
import Effectful.Zoo.Hedgehog.Effect.Run
import Effectful.Zoo.Lazy.Dynamic
import HaskellWorks.CabalCache.AppError (AwsStatusError(..))
import HaskellWorks.CabalCache.Error (UnsupportedUri)
import HaskellWorks.Prelude
import Lens.Micro
import Test.Hspec

import qualified HaskellWorks.CabalCache.AWS.S3 as AWS
import qualified Network.URI as URI
Expand Down Expand Up @@ -61,9 +60,8 @@ runTestEnv f =
& runEnvironment
& runResource

spec :: Spec
spec = describe "HaskellWorks.CabalCache.QuerySpec" do
it "stub" $ requireTest $ hedgehog $ runTestEnv $ catchSuccess $ do
spec :: UnitTest
spec = unit $ runTestEnv $ catchSuccess $ do
uri <- URI.parseURI "s3://cache.haskellworks.io/test/cabal-cache/ci"
& onNothingFail

Expand Down
2 changes: 1 addition & 1 deletion test/Spec.hs
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
{-# OPTIONS_GHC -F -pgmF tasty-discover #-}

0 comments on commit dcfacee

Please sign in to comment.