hercules-ci-api-agent 0.4.6.1 → 0.5.0.0
raw patch · 5 files changed
+146/−96 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:autoArguments:EvaluateTask] :: EvaluateTask -> Map Text (SubPathOf Identifier)
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:ciSystems:EvaluateTask] :: EvaluateTask -> Maybe (Map Text ())
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:extraGitCredentials:EvaluateTask] :: EvaluateTask -> Maybe [Credential]
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:id:EvaluateTask] :: EvaluateTask -> Id (Task EvaluateTask)
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:inputMetadata:EvaluateTask] :: EvaluateTask -> Map Identifier (Map Text Value)
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:inputs:EvaluateTask] :: EvaluateTask -> Map Identifier ImmutableInput
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:isFlakeJob:EvaluateTask] :: EvaluateTask -> Bool
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:logToken:EvaluateTask] :: EvaluateTask -> Text
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:nixPath:EvaluateTask] :: EvaluateTask -> [NixPathElement (SubPathOf Identifier)]
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:otherInputs:EvaluateTask] :: EvaluateTask -> Map Identifier Text
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:password:Credential] :: Credential -> Text
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:path:SubPathOf] :: SubPathOf a -> a
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:prefix:NixPathElement] :: NixPathElement a -> Maybe Text
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:primaryInput:EvaluateTask] :: EvaluateTask -> Text
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:selector:EvaluateTask] :: EvaluateTask -> Selector
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:subPath:SubPathOf] :: SubPathOf a -> Maybe Text
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:url:Credential] :: Credential -> Text
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:username:Credential] :: Credential -> Text
- Hercules.API.Agent.Evaluate.EvaluateTask: [$sel:value:NixPathElement] :: NixPathElement a -> a
+ Hercules.API.Agent.Evaluate.EvaluateTask: [autoArguments] :: EvaluateTask -> Map Text (SubPathOf Identifier)
+ Hercules.API.Agent.Evaluate.EvaluateTask: [ciSystems] :: EvaluateTask -> Maybe (Map Text ())
+ Hercules.API.Agent.Evaluate.EvaluateTask: [extraGitCredentials] :: EvaluateTask -> Maybe [Credential]
+ Hercules.API.Agent.Evaluate.EvaluateTask: [id] :: EvaluateTask -> Id (Task EvaluateTask)
+ Hercules.API.Agent.Evaluate.EvaluateTask: [inputMetadata] :: EvaluateTask -> Map Identifier (Map Text Value)
+ Hercules.API.Agent.Evaluate.EvaluateTask: [inputs] :: EvaluateTask -> Map Identifier ImmutableInput
+ Hercules.API.Agent.Evaluate.EvaluateTask: [isFlakeJob] :: EvaluateTask -> Bool
+ Hercules.API.Agent.Evaluate.EvaluateTask: [logToken] :: EvaluateTask -> Text
+ Hercules.API.Agent.Evaluate.EvaluateTask: [nixPath] :: EvaluateTask -> [NixPathElement (SubPathOf Identifier)]
+ Hercules.API.Agent.Evaluate.EvaluateTask: [otherInputs] :: EvaluateTask -> Map Identifier Text
+ Hercules.API.Agent.Evaluate.EvaluateTask: [password] :: Credential -> Text
+ Hercules.API.Agent.Evaluate.EvaluateTask: [path] :: SubPathOf a -> a
+ Hercules.API.Agent.Evaluate.EvaluateTask: [prefix] :: NixPathElement a -> Maybe Text
+ Hercules.API.Agent.Evaluate.EvaluateTask: [primaryInput] :: EvaluateTask -> Text
+ Hercules.API.Agent.Evaluate.EvaluateTask: [selector] :: EvaluateTask -> Selector
+ Hercules.API.Agent.Evaluate.EvaluateTask: [subPath] :: SubPathOf a -> Maybe Text
+ Hercules.API.Agent.Evaluate.EvaluateTask: [url] :: Credential -> Text
+ Hercules.API.Agent.Evaluate.EvaluateTask: [username] :: Credential -> Text
+ Hercules.API.Agent.Evaluate.EvaluateTask: [value] :: NixPathElement a -> a
Files
- CHANGELOG.md +13/−0
- hercules-ci-api-agent.cabal +127/−90
- src/Hercules/API/Agent/Evaluate/EvaluateEvent/AttributeEffectEvent.hs +1/−0
- src/Hercules/API/Agent/Evaluate/EvaluateEvent/OnPushHandlerEvent.hs +0/−1
- src/Hercules/API/Agent/Evaluate/EvaluateTask.hs +5/−5
CHANGELOG.md view
@@ -5,6 +5,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## 0.5.0.0 - 2023-03-06++### Changed++ - `SourceHostingSite` was renamed to `Forge`++### Added++ - GitLab endpoints+ - `onSchedule` information+ - Various small additions++ ## 0.4.6.1 - 2022-12-29 Maintenance and tooling update.
hercules-ci-api-agent.cabal view
@@ -1,83 +1,100 @@-cabal-version: 1.12+cabal-version: 1.12+name: hercules-ci-api-agent+version: 0.5.0.0+synopsis:+ API definition for Hercules CI Agent to talk to hercules-ci.com or Hercules CI Enterprise -name: hercules-ci-api-agent-version: 0.4.6.1-synopsis: API definition for Hercules CI Agent to talk to hercules-ci.com or Hercules CI Enterprise-category: API, CI, Testing, DevOps, Nix-homepage: https://github.com/hercules-ci/hercules-ci-agent#readme-bug-reports: https://github.com/hercules-ci/hercules-ci-agent/issues-author: Hercules CI contributors-maintainer: info@hercules-ci.com-copyright: 2018-2021 Hercules CI-license: Apache-2.0-build-type: Simple-extra-source-files:- CHANGELOG.md+category: API, CI, Testing, DevOps, Nix+homepage: https://github.com/hercules-ci/hercules-ci-agent#readme+bug-reports: https://github.com/hercules-ci/hercules-ci-agent/issues+author: Hercules CI contributors+maintainer: info@hercules-ci.com+copyright: 2018-2021 Hercules CI+license: Apache-2.0+build-type: Simple+extra-source-files: CHANGELOG.md source-repository head- type: git+ type: git location: https://github.com/hercules-ci/hercules-ci library exposed-modules:- Hercules.API.Agent.Build- Hercules.API.Agent.Build.BuildEvent- Hercules.API.Agent.Build.BuildEvent.Pushed- Hercules.API.Agent.Build.BuildEvent.OutputInfo- Hercules.API.Agent.Build.BuildTask- Hercules.API.Agent.Effect.EffectTask- Hercules.API.Agent.Evaluate- Hercules.API.Agent.Evaluate.DerivationStatus- Hercules.API.Agent.Evaluate.EvaluateEvent- Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeErrorEvent- Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeEvent- Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeEffectEvent- Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeIFDEvent- Hercules.API.Agent.Evaluate.EvaluateEvent.BuildRequest- Hercules.API.Agent.Evaluate.EvaluateEvent.BuildRequired- Hercules.API.Agent.Evaluate.EvaluateEvent.DerivationInfo- Hercules.API.Agent.Evaluate.EvaluateEvent.InputDeclaration- Hercules.API.Agent.Evaluate.EvaluateEvent.JobConfig- Hercules.API.Agent.Evaluate.EvaluateEvent.Message- Hercules.API.Agent.Evaluate.EvaluateEvent.OnPushHandlerEvent- Hercules.API.Agent.Evaluate.EvaluateEvent.OnScheduleHandlerEvent- Hercules.API.Agent.Evaluate.EvaluateEvent.PushedAll- Hercules.API.Agent.Evaluate.EvaluateTask- Hercules.API.Agent.Evaluate.EvaluateTask.OnPush- Hercules.API.Agent.Evaluate.EvaluateTask.OnSchedule- Hercules.API.Agent.Evaluate.ImmutableInput- Hercules.API.Agent.Evaluate.ImmutableGitInput- Hercules.API.Agent.LifeCycle- Hercules.API.Agent.LifeCycle.AgentInfo- Hercules.API.Agent.LifeCycle.CreateAgentSession- Hercules.API.Agent.LifeCycle.CreateAgentSession_V2- Hercules.API.Agent.LifeCycle.ServiceInfo- Hercules.API.Agent.LifeCycle.StartInfo- Hercules.API.Agent.Socket.Frame- Hercules.API.Agent.Socket.AgentPayload- Hercules.API.Agent.Socket.ServicePayload- Hercules.API.Agent.State- Hercules.API.Agent.Tasks- Hercules.API.Agent- Hercules.API.Logs- Hercules.API.Logs.LogEntry- Hercules.API.Logs.LogHello- Hercules.API.Logs.LogMessage- Hercules.API.TaskStatus- Hercules.API.Task- Hercules.Formats.CachixCache- Hercules.Formats.Common- Hercules.Formats.NixCache- Hercules.Formats.Secret- hs-source-dirs:- src- default-extensions: DeriveGeneric DeriveTraversable DisambiguateRecordFields FlexibleContexts InstanceSigs LambdaCase MultiParamTypeClasses NoImplicitPrelude OverloadedStrings RankNTypes TupleSections TypeApplications TypeOperators- ghc-options: -Wall -fwarn-tabs -fwarn-unused-imports -fwarn-missing-signatures -fwarn-name-shadowing -fwarn-incomplete-patterns+ Hercules.API.Agent+ Hercules.API.Agent.Build+ Hercules.API.Agent.Build.BuildEvent+ Hercules.API.Agent.Build.BuildEvent.OutputInfo+ Hercules.API.Agent.Build.BuildEvent.Pushed+ Hercules.API.Agent.Build.BuildTask+ Hercules.API.Agent.Effect.EffectTask+ Hercules.API.Agent.Evaluate+ Hercules.API.Agent.Evaluate.DerivationStatus+ Hercules.API.Agent.Evaluate.EvaluateEvent+ Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeEffectEvent+ Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeErrorEvent+ Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeEvent+ Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeIFDEvent+ Hercules.API.Agent.Evaluate.EvaluateEvent.BuildRequest+ Hercules.API.Agent.Evaluate.EvaluateEvent.BuildRequired+ Hercules.API.Agent.Evaluate.EvaluateEvent.DerivationInfo+ Hercules.API.Agent.Evaluate.EvaluateEvent.InputDeclaration+ Hercules.API.Agent.Evaluate.EvaluateEvent.JobConfig+ Hercules.API.Agent.Evaluate.EvaluateEvent.Message+ Hercules.API.Agent.Evaluate.EvaluateEvent.OnPushHandlerEvent+ Hercules.API.Agent.Evaluate.EvaluateEvent.OnScheduleHandlerEvent+ Hercules.API.Agent.Evaluate.EvaluateEvent.PushedAll+ Hercules.API.Agent.Evaluate.EvaluateTask+ Hercules.API.Agent.Evaluate.EvaluateTask.OnPush+ Hercules.API.Agent.Evaluate.EvaluateTask.OnSchedule+ Hercules.API.Agent.Evaluate.ImmutableGitInput+ Hercules.API.Agent.Evaluate.ImmutableInput+ Hercules.API.Agent.LifeCycle+ Hercules.API.Agent.LifeCycle.AgentInfo+ Hercules.API.Agent.LifeCycle.CreateAgentSession+ Hercules.API.Agent.LifeCycle.CreateAgentSession_V2+ Hercules.API.Agent.LifeCycle.ServiceInfo+ Hercules.API.Agent.LifeCycle.StartInfo+ Hercules.API.Agent.Socket.AgentPayload+ Hercules.API.Agent.Socket.Frame+ Hercules.API.Agent.Socket.ServicePayload+ Hercules.API.Agent.State+ Hercules.API.Agent.Tasks+ Hercules.API.Logs+ Hercules.API.Logs.LogEntry+ Hercules.API.Logs.LogHello+ Hercules.API.Logs.LogMessage+ Hercules.API.Task+ Hercules.API.TaskStatus+ Hercules.Formats.CachixCache+ Hercules.Formats.Common+ Hercules.Formats.NixCache+ Hercules.Formats.Secret++ hs-source-dirs: src+ default-extensions:+ NoImplicitPrelude+ DeriveGeneric+ DeriveTraversable+ DisambiguateRecordFields+ FlexibleContexts+ InstanceSigs+ LambdaCase+ MultiParamTypeClasses+ OverloadedStrings+ RankNTypes+ TupleSections+ TypeApplications+ TypeOperators++ ghc-options:+ -Wall -fwarn-tabs -fwarn-unused-imports -fwarn-missing-signatures+ -fwarn-name-shadowing -fwarn-incomplete-patterns+ build-depends:- aeson >= 2- , base >=4.7 && <5- , bytestring+ aeson >=2+ , base >=4.7 && <5 , base64-bytestring-type+ , bytestring , containers , cookie , deepseq@@ -89,7 +106,7 @@ , lens , lens-aeson , memory- , servant >=0.14.1+ , servant >=0.14.1 , servant-auth , string-conv , swagger2@@ -98,24 +115,43 @@ , unordered-containers , uuid , vector- default-language: Haskell2010 + default-language: Haskell2010+ test-suite hercules-api-agent-unit-tests- type: exitcode-stdio-1.0- main-is: Main.hs+ type: exitcode-stdio-1.0+ main-is: Main.hs other-modules:- Spec- AesonSupport- Hercules.API.Agent.Effect.EffectTaskSpec- Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeEffectEventSpec- Hercules.API.Agent.Evaluate.EvaluateEvent.DerivationInfoSpec- Hercules.API.Agent.LifeCycle.AgentInfoSpec- Hercules.Formats.CachixCacheSpec- Hercules.Formats.SecretSpec- hs-source-dirs:- test- default-extensions: DeriveGeneric DeriveTraversable DisambiguateRecordFields FlexibleContexts InstanceSigs LambdaCase MultiParamTypeClasses NoImplicitPrelude OverloadedStrings RankNTypes TupleSections TypeApplications TypeOperators- ghc-options: -Wall -fwarn-tabs -fwarn-unused-imports -fwarn-missing-signatures -fwarn-name-shadowing -fwarn-incomplete-patterns -threaded -rtsopts -with-rtsopts=-N+ AesonSupport+ Hercules.API.Agent.Effect.EffectTaskSpec+ Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeEffectEventSpec+ Hercules.API.Agent.Evaluate.EvaluateEvent.DerivationInfoSpec+ Hercules.API.Agent.LifeCycle.AgentInfoSpec+ Hercules.Formats.CachixCacheSpec+ Hercules.Formats.SecretSpec+ Spec++ hs-source-dirs: test+ default-extensions:+ NoImplicitPrelude+ DeriveGeneric+ DeriveTraversable+ DisambiguateRecordFields+ FlexibleContexts+ InstanceSigs+ LambdaCase+ MultiParamTypeClasses+ OverloadedStrings+ RankNTypes+ TupleSections+ TypeApplications+ TypeOperators++ ghc-options:+ -Wall -fwarn-tabs -fwarn-unused-imports -fwarn-missing-signatures+ -fwarn-name-shadowing -fwarn-incomplete-patterns -threaded -rtsopts+ -with-rtsopts=-N+ build-depends: aeson , base@@ -132,10 +168,10 @@ , lens , memory , network-uri+ , profunctors , QuickCheck , quickcheck-classes- , profunctors- , servant >=0.14.1+ , servant >=0.14.1 , servant-auth , string-conv , swagger2@@ -143,4 +179,5 @@ , time , uuid , vector- default-language: Haskell2010++ default-language: Haskell2010
src/Hercules/API/Agent/Evaluate/EvaluateEvent/AttributeEffectEvent.hs view
@@ -5,6 +5,7 @@ import Hercules.API.Prelude +-- | An effect was found in an attribute data AttributeEffectEvent = AttributeEffectEvent { expressionPath :: [Text], derivationPath :: Text,
src/Hercules/API/Agent/Evaluate/EvaluateEvent/OnPushHandlerEvent.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE DeriveAnyClass #-} module Hercules.API.Agent.Evaluate.EvaluateEvent.OnPushHandlerEvent where
src/Hercules/API/Agent/Evaluate/EvaluateTask.hs view
@@ -1,11 +1,11 @@ {-# LANGUAGE DeriveAnyClass #-}-{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE StandaloneDeriving #-} module Hercules.API.Agent.Evaluate.EvaluateTask where import Data.Aeson (Value)-import Hercules.API.Agent.Evaluate.EvaluateTask.OnPush (OnPush)-import Hercules.API.Agent.Evaluate.EvaluateTask.OnSchedule (OnSchedule)+import qualified Hercules.API.Agent.Evaluate.EvaluateTask.OnPush as OnPush+import qualified Hercules.API.Agent.Evaluate.EvaluateTask.OnSchedule as OnSchedule import Hercules.API.Agent.Evaluate.ImmutableInput (ImmutableInput) import Hercules.API.Prelude import Hercules.API.Task (Task)@@ -39,8 +39,8 @@ data Selector = ConfigOrLegacy- | OnPush OnPush- | OnSchedule OnSchedule+ | OnPush OnPush.OnPush+ | OnSchedule OnSchedule.OnSchedule deriving (Generic, Show, Eq, NFData, ToJSON, FromJSON) type Identifier = Text