-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | GitHub Actions workflow commands -- -- For printing workflow commands in GitHub Actions. -- -- See -- https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions @package github-workflow-commands @version 0.0.1.0 module GitHub.Workflow.Command.Syntax.ToByteString class ToByteString a toByteStringBuilder :: ToByteString a => a -> Builder toByteString :: ToByteString a => a -> ByteString printByteStringLn :: (ToByteString a, MonadIO m) => a -> m () module GitHub.Workflow.Command.Syntax.Name newtype Name Name :: Text -> Name [$sel:text:Name] :: Name -> Text class HasName a name :: HasName a => Lens' a Name instance Data.String.IsString GitHub.Workflow.Command.Syntax.Name.Name instance GHC.Show.Show GitHub.Workflow.Command.Syntax.Name.Name instance GHC.Classes.Ord GitHub.Workflow.Command.Syntax.Name.Name instance GHC.Classes.Eq GitHub.Workflow.Command.Syntax.Name.Name instance GitHub.Workflow.Command.Syntax.Name.HasName GitHub.Workflow.Command.Syntax.Name.Name instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Syntax.Name.Name module GitHub.Workflow.Command.Syntax.Message newtype Message Message :: Text -> Message [$sel:text:Message] :: Message -> Text class HasMessage a message :: HasMessage a => Lens' a Message class FromMessage a fromMessage :: FromMessage a => Message -> a instance Data.String.IsString GitHub.Workflow.Command.Syntax.Message.Message instance GHC.Show.Show GitHub.Workflow.Command.Syntax.Message.Message instance GHC.Classes.Ord GitHub.Workflow.Command.Syntax.Message.Message instance GHC.Classes.Eq GitHub.Workflow.Command.Syntax.Message.Message instance GitHub.Workflow.Command.Syntax.Message.FromMessage GitHub.Workflow.Command.Syntax.Message.Message instance GitHub.Workflow.Command.Syntax.Message.HasMessage GitHub.Workflow.Command.Syntax.Message.Message instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Syntax.Message.Message module GitHub.Workflow.Command.Syntax.Key newtype Key Key :: Text -> Key [$sel:text:Key] :: Key -> Text instance Data.String.IsString GitHub.Workflow.Command.Syntax.Key.Key instance GHC.Show.Show GitHub.Workflow.Command.Syntax.Key.Key instance GHC.Classes.Ord GitHub.Workflow.Command.Syntax.Key.Key instance GHC.Classes.Eq GitHub.Workflow.Command.Syntax.Key.Key instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Syntax.Key.Key module GitHub.Workflow.Command.Syntax.Value newtype Value Value :: Text -> Value [$sel:text:Value] :: Value -> Text instance Data.String.IsString GitHub.Workflow.Command.Syntax.Value.Value instance GHC.Show.Show GitHub.Workflow.Command.Syntax.Value.Value instance GHC.Classes.Ord GitHub.Workflow.Command.Syntax.Value.Value instance GHC.Classes.Eq GitHub.Workflow.Command.Syntax.Value.Value instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Syntax.Value.Value module GitHub.Workflow.Command.Syntax.Properties data Properties class HasProperties a properties :: HasProperties a => Lens' a Properties class AddToProperties a addToProperties :: AddToProperties a => a -> Properties -> Properties property :: HasProperties a => Key -> Lens' a (Maybe Value) empty :: Properties null :: Properties -> Bool instance GHC.Show.Show GitHub.Workflow.Command.Syntax.Properties.Properties instance GHC.Classes.Ord GitHub.Workflow.Command.Syntax.Properties.Properties instance GHC.Classes.Eq GitHub.Workflow.Command.Syntax.Properties.Properties instance GitHub.Workflow.Command.Syntax.Properties.HasProperties GitHub.Workflow.Command.Syntax.Properties.Properties instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Syntax.Properties.Properties module GitHub.Workflow.Command.Syntax.Command -- | A GitHub workflow command -- -- A Command consists of: -- -- -- -- Of these, only Name is always required. Some particular types -- of command require a message or have restrictions on what properties -- they support or require. data Command -- | Construct a minimal command with a command Name e.g. "warning" -- or "error" -- -- See the property and message lenses for other -- information include in a command. command :: Name -> Command class ToCommand a addToCommand :: ToCommand a => a -> Command -> Command toCommand :: ToCommand a => a -> Command newtype ByteStringViaCommand a ByteStringViaCommand :: a -> ByteStringViaCommand a instance GHC.Show.Show GitHub.Workflow.Command.Syntax.Command.Command instance GHC.Classes.Ord GitHub.Workflow.Command.Syntax.Command.Command instance GHC.Classes.Eq GitHub.Workflow.Command.Syntax.Command.Command instance GitHub.Workflow.Command.Syntax.Command.ToCommand a => GitHub.Workflow.Command.Syntax.ToByteString.ToByteString (GitHub.Workflow.Command.Syntax.Command.ByteStringViaCommand a) instance Data.String.IsString GitHub.Workflow.Command.Syntax.Command.Command instance GitHub.Workflow.Command.Syntax.Name.HasName GitHub.Workflow.Command.Syntax.Command.Command instance GitHub.Workflow.Command.Syntax.Message.HasMessage GitHub.Workflow.Command.Syntax.Command.Command instance GitHub.Workflow.Command.Syntax.Properties.HasProperties GitHub.Workflow.Command.Syntax.Command.Command instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Syntax.Command.Command module GitHub.Workflow.Command.Syntax -- | A GitHub workflow command -- -- A Command consists of: -- -- -- -- Of these, only Name is always required. Some particular types -- of command require a message or have restrictions on what properties -- they support or require. data Command -- | Construct a minimal command with a command Name e.g. "warning" -- or "error" -- -- See the property and message lenses for other -- information include in a command. command :: Name -> Command class ToCommand a addToCommand :: ToCommand a => a -> Command -> Command toCommand :: ToCommand a => a -> Command newtype Name Name :: Text -> Name [$sel:text:Name] :: Name -> Text class HasName a name :: HasName a => Lens' a Name newtype Message Message :: Text -> Message [$sel:text:Message] :: Message -> Text class HasMessage a message :: HasMessage a => Lens' a Message class FromMessage a fromMessage :: FromMessage a => Message -> a data Properties newtype Key Key :: Text -> Key [$sel:text:Key] :: Key -> Text newtype Value Value :: Text -> Value [$sel:text:Value] :: Value -> Text property :: HasProperties a => Key -> Lens' a (Maybe Value) class HasProperties a properties :: HasProperties a => Lens' a Properties class AddToProperties a addToProperties :: AddToProperties a => a -> Properties -> Properties class ToByteString a toByteStringBuilder :: ToByteString a => a -> Builder toByteString :: ToByteString a => a -> ByteString newtype ByteStringViaCommand a ByteStringViaCommand :: a -> ByteStringViaCommand a printByteStringLn :: (ToByteString a, MonadIO m) => a -> m () module GitHub.Workflow.Command.Masking -- | Prevents a string or variable from being printed in the log -- -- GitHub documentation: Masking a value in a log newtype AddMask AddMask :: Text -> AddMask -- | An environment variable or string [$sel:value:AddMask] :: AddMask -> Text instance GitHub.Workflow.Command.Syntax.Command.ToCommand GitHub.Workflow.Command.Masking.AddMask module GitHub.Workflow.Command.Execution -- | Monadic context in which GitHub workflow commands may be executed -- -- class Monad m => MonadCommand m executeCommand :: (MonadCommand m, ToCommand a) => a -> m () newtype PrintCommands m a PrintCommands :: m a -> PrintCommands m a instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (GitHub.Workflow.Command.Execution.PrintCommands m) instance GHC.Base.Monad m => GHC.Base.Monad (GitHub.Workflow.Command.Execution.PrintCommands m) instance GHC.Base.Applicative m => GHC.Base.Applicative (GitHub.Workflow.Command.Execution.PrintCommands m) instance GHC.Base.Functor m => GHC.Base.Functor (GitHub.Workflow.Command.Execution.PrintCommands m) instance Control.Monad.IO.Class.MonadIO m => GitHub.Workflow.Command.Execution.MonadCommand (GitHub.Workflow.Command.Execution.PrintCommands m) instance GitHub.Workflow.Command.Execution.MonadCommand GHC.Types.IO module GitHub.Workflow.Command.Stopping -- | Run an action with processing of workflow commands suspended -- -- GitHub documentation: Stopping and starting workflow commands suspendCommands :: (MonadCommand m, MonadRandom m) => m a -> m a -- | Stops processing any workflow commands -- -- This special command allows you to log anything without accidentally -- running a workflow command. stopCommands :: (MonadCommand m, MonadRandom m) => m SuspendToken -- | Resume processing workflow commands resumeCommands :: MonadCommand m => SuspendToken -> m () newtype SuspendToken SuspendToken :: Text -> SuspendToken randomSuspendToken :: MonadRandom m => m SuspendToken suspendCommandsWithToken :: MonadCommand m => SuspendToken -> m a -> m a stopCommandsWithToken :: MonadCommand m => SuspendToken -> m () newtype StopCommands StopCommands :: SuspendToken -> StopCommands [$sel:token:StopCommands] :: StopCommands -> SuspendToken newtype ResumeCommands ResumeCommands :: SuspendToken -> ResumeCommands [$sel:token:ResumeCommands] :: ResumeCommands -> SuspendToken instance GitHub.Workflow.Command.Syntax.Command.ToCommand GitHub.Workflow.Command.Stopping.ResumeCommands instance GitHub.Workflow.Command.Syntax.Command.ToCommand GitHub.Workflow.Command.Stopping.StopCommands module GitHub.Workflow.Command.Grouping -- | Creates an expandable group in the log -- -- GitHub documentation: Grouping log lines group :: MonadCommand m => Text -> m a -> m a -- | Starts a group newtype GroupStart GroupStart :: Text -> GroupStart [$sel:title:GroupStart] :: GroupStart -> Text -- | Ends a group data GroupEnd GroupEnd :: GroupEnd instance GitHub.Workflow.Command.Syntax.Command.ToCommand GitHub.Workflow.Command.Grouping.GroupEnd instance GitHub.Workflow.Command.Syntax.Command.ToCommand GitHub.Workflow.Command.Grouping.GroupStart module GitHub.Workflow.Command.Annotation.Position.Line newtype Line Line :: Natural -> Line [$sel:natural:Line] :: Line -> Natural lineText :: Line -> Text lineValue :: Line -> Value instance GHC.Num.Num GitHub.Workflow.Command.Annotation.Position.Line.Line instance GHC.Show.Show GitHub.Workflow.Command.Annotation.Position.Line.Line instance GHC.Classes.Ord GitHub.Workflow.Command.Annotation.Position.Line.Line instance GHC.Classes.Eq GitHub.Workflow.Command.Annotation.Position.Line.Line module GitHub.Workflow.Command.Annotation.Position.Column newtype Column Column :: Natural -> Column [$sel:natural:Column] :: Column -> Natural columnText :: Column -> Text columnValue :: Column -> Value instance GHC.Num.Num GitHub.Workflow.Command.Annotation.Position.Column.Column instance GHC.Show.Show GitHub.Workflow.Command.Annotation.Position.Column.Column instance GHC.Classes.Ord GitHub.Workflow.Command.Annotation.Position.Column.Column instance GHC.Classes.Eq GitHub.Workflow.Command.Annotation.Position.Column.Column module GitHub.Workflow.Command.Annotation.Position.Columns data Columns Columns :: Column -> Maybe Column -> Columns [$sel:start:Columns] :: Columns -> Column [$sel:end:Columns] :: Columns -> Maybe Column atColumn :: Column -> Columns startColumn :: Lens' Columns Column endColumn :: Lens' Columns (Maybe Column) instance GitHub.Workflow.Command.Syntax.Properties.AddToProperties GitHub.Workflow.Command.Annotation.Position.Columns.Columns module GitHub.Workflow.Command.Annotation.Position.Extent -- | Extra positional data, as a modification to the start Line data Extent WithinLine :: Columns -> Extent ToLine :: Line -> Extent instance GitHub.Workflow.Command.Syntax.Properties.AddToProperties GitHub.Workflow.Command.Annotation.Position.Extent.Extent module GitHub.Workflow.Command.Annotation.Position -- | Where an annotation is marked within a file data Position Position :: Line -> Maybe Extent -> Position [$sel:line:Position] :: Position -> Line [$sel:extent:Position] :: Position -> Maybe Extent line :: Lens' Position Line extent :: Lens' Position (Maybe Extent) atLine :: Line -> Position instance GitHub.Workflow.Command.Syntax.Properties.AddToProperties GitHub.Workflow.Command.Annotation.Position.Position module GitHub.Workflow.Command.Annotation.File newtype File File :: Text -> File [$sel:text:File] :: File -> Text fileValue :: File -> Value instance Data.String.IsString GitHub.Workflow.Command.Annotation.File.File instance GHC.Show.Show GitHub.Workflow.Command.Annotation.File.File instance GHC.Classes.Ord GitHub.Workflow.Command.Annotation.File.File instance GHC.Classes.Eq GitHub.Workflow.Command.Annotation.File.File module GitHub.Workflow.Command.Annotation.Location data Location Location :: File -> Maybe Position -> Location -- | The path of the file for which the annotation should be created [$sel:file:Location] :: Location -> File [$sel:position:Location] :: Location -> Maybe Position class HasLocationMaybe a location :: HasLocationMaybe a => Lens' a (Maybe Location) file :: Lens' Location File position :: Lens' Location (Maybe Position) inFile :: File -> Location instance GitHub.Workflow.Command.Annotation.Location.HasLocationMaybe (GHC.Maybe.Maybe GitHub.Workflow.Command.Annotation.Location.Location) instance Data.String.IsString GitHub.Workflow.Command.Annotation.Location.Location instance GitHub.Workflow.Command.Syntax.Properties.AddToProperties GitHub.Workflow.Command.Annotation.Location.Location module GitHub.Workflow.Command.Annotation.Properties data Properties Properties :: Maybe Text -> Maybe Location -> Properties -- | A title for the annotation [$sel:title:Properties] :: Properties -> Maybe Text [$sel:location:Properties] :: Properties -> Maybe Location class HasProperties a annotationProperties :: HasProperties a => Lens' a Properties class GetProperties a getProperties :: GetProperties a => a -> Properties empty :: Properties instance GitHub.Workflow.Command.Annotation.Properties.GetProperties GitHub.Workflow.Command.Annotation.Properties.Properties instance GitHub.Workflow.Command.Annotation.Properties.HasProperties GitHub.Workflow.Command.Annotation.Properties.Properties instance GitHub.Workflow.Command.Annotation.Location.HasLocationMaybe GitHub.Workflow.Command.Annotation.Properties.Properties instance GitHub.Workflow.Command.Syntax.Properties.AddToProperties GitHub.Workflow.Command.Annotation.Properties.Properties module GitHub.Workflow.Command.Annotation.Commands.Generic newtype GenericAnnotation a GenericAnnotation :: a -> GenericAnnotation a class IsAnnotationType a annotationTypeName :: IsAnnotationType a => Name instance GitHub.Workflow.Command.Syntax.Command.ToCommand a => GitHub.Workflow.Command.Syntax.ToByteString.ToByteString (GitHub.Workflow.Command.Annotation.Commands.Generic.GenericAnnotation a) instance (GitHub.Workflow.Command.Annotation.Commands.Generic.IsAnnotationType a, GitHub.Workflow.Command.Syntax.Message.HasMessage a, GitHub.Workflow.Command.Annotation.Properties.GetProperties a) => GitHub.Workflow.Command.Syntax.Command.ToCommand (GitHub.Workflow.Command.Annotation.Commands.Generic.GenericAnnotation a) instance GitHub.Workflow.Command.Annotation.Properties.HasProperties a => GitHub.Workflow.Command.Annotation.Location.HasLocationMaybe (GitHub.Workflow.Command.Annotation.Commands.Generic.GenericAnnotation a) module GitHub.Workflow.Command.Annotation.Commands.Warning warning :: Message -> Warning -- | Creates a warning message and prints the message to the log -- -- The message can be associated with a particular file in your -- repository, and optionally also a position within the file. See -- HasLocationMaybe. -- -- GitHub documentation: Setting a warning message data Warning Warning :: Message -> Properties -> Warning [$sel:message:Warning] :: Warning -> Message [$sel:properties:Warning] :: Warning -> Properties instance GitHub.Workflow.Command.Syntax.Command.ToCommand GitHub.Workflow.Command.Annotation.Commands.Warning.Warning instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Annotation.Commands.Warning.Warning instance GitHub.Workflow.Command.Annotation.Commands.Generic.IsAnnotationType GitHub.Workflow.Command.Annotation.Commands.Warning.Warning instance GitHub.Workflow.Command.Syntax.Message.HasMessage GitHub.Workflow.Command.Annotation.Commands.Warning.Warning instance GitHub.Workflow.Command.Annotation.Properties.HasProperties GitHub.Workflow.Command.Annotation.Commands.Warning.Warning instance GitHub.Workflow.Command.Annotation.Location.HasLocationMaybe GitHub.Workflow.Command.Annotation.Commands.Warning.Warning instance GitHub.Workflow.Command.Syntax.Message.FromMessage GitHub.Workflow.Command.Annotation.Commands.Warning.Warning instance GitHub.Workflow.Command.Annotation.Properties.GetProperties GitHub.Workflow.Command.Annotation.Commands.Warning.Warning module GitHub.Workflow.Command.Annotation.Commands.Notice notice :: Message -> Notice -- | Creates a notice message and prints the message to the log -- -- The message can be associated with a particular file in your -- repository, and optionally also a position within the file. See -- HasLocationMaybe. -- -- GitHub documentation: Setting a notice message data Notice Notice :: Message -> Properties -> Notice [$sel:message:Notice] :: Notice -> Message [$sel:properties:Notice] :: Notice -> Properties instance GitHub.Workflow.Command.Syntax.Command.ToCommand GitHub.Workflow.Command.Annotation.Commands.Notice.Notice instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Annotation.Commands.Notice.Notice instance GitHub.Workflow.Command.Annotation.Commands.Generic.IsAnnotationType GitHub.Workflow.Command.Annotation.Commands.Notice.Notice instance GitHub.Workflow.Command.Syntax.Message.HasMessage GitHub.Workflow.Command.Annotation.Commands.Notice.Notice instance GitHub.Workflow.Command.Annotation.Properties.HasProperties GitHub.Workflow.Command.Annotation.Commands.Notice.Notice instance GitHub.Workflow.Command.Annotation.Location.HasLocationMaybe GitHub.Workflow.Command.Annotation.Commands.Notice.Notice instance GitHub.Workflow.Command.Annotation.Properties.GetProperties GitHub.Workflow.Command.Annotation.Commands.Notice.Notice instance GitHub.Workflow.Command.Syntax.Message.FromMessage GitHub.Workflow.Command.Annotation.Commands.Notice.Notice module GitHub.Workflow.Command.Annotation.Commands.Error error :: Message -> Error -- | Creates an error message and prints the message to the log -- -- The message can be associated with a particular file in your -- repository, and optionally also a position within the file. See -- HasLocationMaybe. -- -- GitHub documentation: Setting an error message data Error Error :: Message -> Properties -> Error [$sel:message:Error] :: Error -> Message [$sel:properties:Error] :: Error -> Properties instance GitHub.Workflow.Command.Syntax.Command.ToCommand GitHub.Workflow.Command.Annotation.Commands.Error.Error instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Annotation.Commands.Error.Error instance GitHub.Workflow.Command.Annotation.Commands.Generic.IsAnnotationType GitHub.Workflow.Command.Annotation.Commands.Error.Error instance GitHub.Workflow.Command.Syntax.Message.HasMessage GitHub.Workflow.Command.Annotation.Commands.Error.Error instance GitHub.Workflow.Command.Annotation.Properties.HasProperties GitHub.Workflow.Command.Annotation.Commands.Error.Error instance GitHub.Workflow.Command.Annotation.Location.HasLocationMaybe GitHub.Workflow.Command.Annotation.Commands.Error.Error instance GitHub.Workflow.Command.Syntax.Message.FromMessage GitHub.Workflow.Command.Annotation.Commands.Error.Error instance GitHub.Workflow.Command.Annotation.Properties.GetProperties GitHub.Workflow.Command.Annotation.Commands.Error.Error module GitHub.Workflow.Command.Annotation.Commands.Debug debug :: Message -> Debug -- | Prints a debug message to the log -- -- GitHub documentation: Setting a debug message newtype Debug Debug :: Message -> Debug [$sel:message:Debug] :: Debug -> Message instance GitHub.Workflow.Command.Syntax.Command.ToCommand GitHub.Workflow.Command.Annotation.Commands.Debug.Debug instance GitHub.Workflow.Command.Syntax.ToByteString.ToByteString GitHub.Workflow.Command.Annotation.Commands.Debug.Debug instance GitHub.Workflow.Command.Annotation.Commands.Generic.IsAnnotationType GitHub.Workflow.Command.Annotation.Commands.Debug.Debug instance GitHub.Workflow.Command.Syntax.Message.HasMessage GitHub.Workflow.Command.Annotation.Commands.Debug.Debug instance GitHub.Workflow.Command.Syntax.Message.FromMessage GitHub.Workflow.Command.Annotation.Commands.Debug.Debug instance GitHub.Workflow.Command.Annotation.Properties.GetProperties GitHub.Workflow.Command.Annotation.Commands.Debug.Debug module GitHub.Workflow.Command.Annotation debug :: Message -> Debug -- | Prints a debug message to the log -- -- GitHub documentation: Setting a debug message newtype Debug Debug :: Message -> Debug [$sel:message:Debug] :: Debug -> Message error :: Message -> Error -- | Creates an error message and prints the message to the log -- -- The message can be associated with a particular file in your -- repository, and optionally also a position within the file. See -- HasLocationMaybe. -- -- GitHub documentation: Setting an error message data Error Error :: Message -> Properties -> Error [$sel:message:Error] :: Error -> Message [$sel:properties:Error] :: Error -> Properties warning :: Message -> Warning -- | Creates a warning message and prints the message to the log -- -- The message can be associated with a particular file in your -- repository, and optionally also a position within the file. See -- HasLocationMaybe. -- -- GitHub documentation: Setting a warning message data Warning Warning :: Message -> Properties -> Warning [$sel:message:Warning] :: Warning -> Message [$sel:properties:Warning] :: Warning -> Properties notice :: Message -> Notice -- | Creates a notice message and prints the message to the log -- -- The message can be associated with a particular file in your -- repository, and optionally also a position within the file. See -- HasLocationMaybe. -- -- GitHub documentation: Setting a notice message data Notice Notice :: Message -> Properties -> Notice [$sel:message:Notice] :: Notice -> Message [$sel:properties:Notice] :: Notice -> Properties newtype Message Message :: Text -> Message [$sel:text:Message] :: Message -> Text class FromMessage a fromMessage :: FromMessage a => Message -> a data Properties Properties :: Maybe Text -> Maybe Location -> Properties -- | A title for the annotation [$sel:title:Properties] :: Properties -> Maybe Text [$sel:location:Properties] :: Properties -> Maybe Location data Location Location :: File -> Maybe Position -> Location -- | The path of the file for which the annotation should be created [$sel:file:Location] :: Location -> File [$sel:position:Location] :: Location -> Maybe Position class HasLocationMaybe a location :: HasLocationMaybe a => Lens' a (Maybe Location) newtype File File :: Text -> File [$sel:text:File] :: File -> Text inFile :: File -> Location file :: Lens' Location File -- | Where an annotation is marked within a file data Position Position :: Line -> Maybe Extent -> Position [$sel:line:Position] :: Position -> Line [$sel:extent:Position] :: Position -> Maybe Extent position :: Lens' Location (Maybe Position) -- | Extra positional data, as a modification to the start Line data Extent WithinLine :: Columns -> Extent ToLine :: Line -> Extent extent :: Lens' Position (Maybe Extent) data Columns Columns :: Column -> Maybe Column -> Columns [$sel:start:Columns] :: Columns -> Column [$sel:end:Columns] :: Columns -> Maybe Column line :: Lens' Position Line startColumn :: Lens' Columns Column endColumn :: Lens' Columns (Maybe Column) newtype Line Line :: Natural -> Line [$sel:natural:Line] :: Line -> Natural atLine :: Line -> Position newtype Column Column :: Natural -> Column [$sel:natural:Column] :: Column -> Natural atColumn :: Column -> Columns -- | Monadic context in which GitHub workflow commands may be executed -- -- class Monad m => MonadCommand m executeCommand :: (MonadCommand m, ToCommand a) => a -> m () class ToCommand a addToCommand :: ToCommand a => a -> Command -> Command toCommand :: ToCommand a => a -> Command class ToByteString a toByteStringBuilder :: ToByteString a => a -> Builder toByteString :: ToByteString a => a -> ByteString printByteStringLn :: (ToByteString a, MonadIO m) => a -> m () -- | Programs run by GitHub Actions can use workflow commands to -- communicate with the runner. -- -- GitHub documentation: Workflow commands for GitHub Actions module GitHub.Workflow.Command -- | Monadic context in which GitHub workflow commands may be executed -- -- class Monad m => MonadCommand m executeCommand :: (MonadCommand m, ToCommand a) => a -> m () newtype PrintCommands m a PrintCommands :: m a -> PrintCommands m a class ToCommand a addToCommand :: ToCommand a => a -> Command -> Command -- | Prints a debug message to the log -- -- GitHub documentation: Setting a debug message newtype Debug Debug :: Message -> Debug [$sel:message:Debug] :: Debug -> Message debug :: Message -> Debug -- | Creates a notice message and prints the message to the log -- -- The message can be associated with a particular file in your -- repository, and optionally also a position within the file. See -- HasLocationMaybe. -- -- GitHub documentation: Setting a notice message data Notice Notice :: Message -> Properties -> Notice [$sel:message:Notice] :: Notice -> Message [$sel:properties:Notice] :: Notice -> Properties notice :: Message -> Notice -- | Creates a warning message and prints the message to the log -- -- The message can be associated with a particular file in your -- repository, and optionally also a position within the file. See -- HasLocationMaybe. -- -- GitHub documentation: Setting a warning message data Warning Warning :: Message -> Properties -> Warning [$sel:message:Warning] :: Warning -> Message [$sel:properties:Warning] :: Warning -> Properties warning :: Message -> Warning -- | Creates an error message and prints the message to the log -- -- The message can be associated with a particular file in your -- repository, and optionally also a position within the file. See -- HasLocationMaybe. -- -- GitHub documentation: Setting an error message data Error Error :: Message -> Properties -> Error [$sel:message:Error] :: Error -> Message [$sel:properties:Error] :: Error -> Properties error :: Message -> Error -- | Creates an expandable group in the log -- -- GitHub documentation: Grouping log lines group :: MonadCommand m => Text -> m a -> m a -- | Starts a group newtype GroupStart GroupStart :: Text -> GroupStart [$sel:title:GroupStart] :: GroupStart -> Text -- | Ends a group data GroupEnd GroupEnd :: GroupEnd -- | Prevents a string or variable from being printed in the log -- -- GitHub documentation: Masking a value in a log newtype AddMask AddMask :: Text -> AddMask -- | An environment variable or string [$sel:value:AddMask] :: AddMask -> Text -- | Run an action with processing of workflow commands suspended -- -- GitHub documentation: Stopping and starting workflow commands suspendCommands :: (MonadCommand m, MonadRandom m) => m a -> m a -- | Stops processing any workflow commands -- -- This special command allows you to log anything without accidentally -- running a workflow command. stopCommands :: (MonadCommand m, MonadRandom m) => m SuspendToken -- | Resume processing workflow commands resumeCommands :: MonadCommand m => SuspendToken -> m () data SuspendToken data Location Location :: File -> Maybe Position -> Location -- | The path of the file for which the annotation should be created [$sel:file:Location] :: Location -> File [$sel:position:Location] :: Location -> Maybe Position class HasLocationMaybe a location :: HasLocationMaybe a => Lens' a (Maybe Location) newtype File File :: Text -> File [$sel:text:File] :: File -> Text inFile :: File -> Location file :: Lens' Location File -- | Where an annotation is marked within a file data Position Position :: Line -> Maybe Extent -> Position [$sel:line:Position] :: Position -> Line [$sel:extent:Position] :: Position -> Maybe Extent position :: Lens' Location (Maybe Position) -- | Extra positional data, as a modification to the start Line data Extent WithinLine :: Columns -> Extent ToLine :: Line -> Extent extent :: Lens' Position (Maybe Extent) data Columns Columns :: Column -> Maybe Column -> Columns [$sel:start:Columns] :: Columns -> Column [$sel:end:Columns] :: Columns -> Maybe Column line :: Lens' Position Line startColumn :: Lens' Columns Column endColumn :: Lens' Columns (Maybe Column) newtype Line Line :: Natural -> Line [$sel:natural:Line] :: Line -> Natural atLine :: Line -> Position newtype Column Column :: Natural -> Column [$sel:natural:Column] :: Column -> Natural atColumn :: Column -> Columns -- | A GitHub workflow command -- -- A Command consists of: -- -- -- -- Of these, only Name is always required. Some particular types -- of command require a message or have restrictions on what properties -- they support or require. data Command newtype Name Name :: Text -> Name [$sel:text:Name] :: Name -> Text class HasName a name :: HasName a => Lens' a Name newtype Message Message :: Text -> Message [$sel:text:Message] :: Message -> Text class HasMessage a message :: HasMessage a => Lens' a Message data Properties class HasProperties a properties :: HasProperties a => Lens' a Properties newtype Key Key :: Text -> Key [$sel:text:Key] :: Key -> Text newtype Value Value :: Text -> Value [$sel:text:Value] :: Value -> Text