github-actions-0.1.1.0: Github Actions
Copyright(c) 2025 Bellroy Pty Ltd
LicenseBSD-3-Clause
MaintainerBellroy Tech Team <haskell@bellroy.com>
Safe HaskellNone
LanguageHaskell2010

Language.Github.Actions.Shell

Description

This module provides the Shell type for specifying which shell to use when running commands in GitHub Actions steps.

Different shells provide different capabilities and are available on different operating systems. The shell can be specified at the workflow, job, or step level.

For more information about GitHub Actions shell configuration, see: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell

Synopsis

Documentation

data Platform Source #

Constructors

Windows 
MacOS 
Linux 

data Shell Source #

Shell types available for running commands in GitHub Actions steps.

Each shell has different capabilities and platform availability:

  • Bash - Available on all platforms, most commonly used
  • Sh - POSIX sh, available on Linux and macOS only
  • Python - Executes commands as Python code
  • Cmd - Windows Command Prompt, Windows only
  • Powershell - Windows PowerShell 5.1, Windows only
  • Pwsh - PowerShell Core, available on all platforms

Example usage:

import Language.Github.Actions.Shell

-- Use bash with default options
bashShell :: Shell
bashShell = Bash Nothing

-- Use bash with specific options
bashWithOptions :: Shell
bashWithOptions = Bash (Just "--noprofile --norc")

-- Use PowerShell Core
pwshShell :: Shell
pwshShell = Pwsh Nothing

For more details, see: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell

Constructors

Bash (Maybe Text)

Bash shell with optional arguments

Sh (Maybe Text)

POSIX sh shell (Linux/macOS only) with optional arguments

Python (Maybe Text)

Python interpreter with optional arguments

Cmd (Maybe Text)

Windows cmd.exe with optional arguments

Powershell (Maybe Text)

Windows PowerShell 5.1 with optional arguments

Pwsh (Maybe Text)

PowerShell Core with optional arguments

Instances

Instances details
FromJSON Shell Source # 
Instance details

Defined in Language.Github.Actions.Shell

ToJSON Shell Source # 
Instance details

Defined in Language.Github.Actions.Shell

Generic Shell Source # 
Instance details

Defined in Language.Github.Actions.Shell

Methods

from :: Shell -> Rep Shell x #

to :: Rep Shell x -> Shell #

Show Shell Source # 
Instance details

Defined in Language.Github.Actions.Shell

Methods

showsPrec :: Int -> Shell -> ShowS #

show :: Shell -> String #

showList :: [Shell] -> ShowS #

Eq Shell Source # 
Instance details

Defined in Language.Github.Actions.Shell

Methods

(==) :: Shell -> Shell -> Bool #

(/=) :: Shell -> Shell -> Bool #

Ord Shell Source # 
Instance details

Defined in Language.Github.Actions.Shell

Methods

compare :: Shell -> Shell -> Ordering #

(<) :: Shell -> Shell -> Bool #

(<=) :: Shell -> Shell -> Bool #

(>) :: Shell -> Shell -> Bool #

(>=) :: Shell -> Shell -> Bool #

max :: Shell -> Shell -> Shell #

min :: Shell -> Shell -> Shell #

type Rep Shell Source # 
Instance details

Defined in Language.Github.Actions.Shell

arguments :: Functor f => (Maybe Text -> f (Maybe Text)) -> Shell -> f Shell Source #

A lens into the arguments for a shell, compatible with the "lens" package

arguments :: Lens' Shell (Maybe Text)