Skip to main content Link Search Menu Expand Document (external link)

ActionRunner overview

ActionRunner service for interacting with GitHub Actions runner.

Provides Effect-wrapped access to @actions/core functionality:

  • Input/output handling
  • Logging (debug, info, warning, error, notice)
  • Groups for collapsible log sections
  • Environment variable management
  • State persistence between steps
  • OIDC token retrieval

Added in v1.0.0


Table of contents


accessors

addPath

Signature

export declare const addPath: (path: string) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

debug

Signature

export declare const debug: (message: string) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

endGroup

Signature

export declare const endGroup: Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

error

Signature

export declare const error: (
  message: string | Error,
  properties?: AnnotationProperties
) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

exportVariable

Signature

export declare const exportVariable: (name: string, value: string) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

getBooleanInput

Signature

export declare const getBooleanInput: (
  name: string,
  options?: { required?: boolean }
) => Effect.Effect<boolean, ActionInputError, ActionRunner>

Added in v1.0.0

getIDToken

Signature

export declare const getIDToken: (audience?: string) => Effect.Effect<string, ActionOIDCError, ActionRunner>

Added in v1.0.0

getInput

Signature

export declare const getInput: (
  name: string,
  options?: { required?: boolean; trimWhitespace?: boolean }
) => Effect.Effect<string, never, ActionRunner>

Added in v1.0.0

getMultilineInput

Signature

export declare const getMultilineInput: (
  name: string,
  options?: { required?: boolean; trimWhitespace?: boolean }
) => Effect.Effect<ReadonlyArray<string>, never, ActionRunner>

Added in v1.0.0

getState

Signature

export declare const getState: (name: string) => Effect.Effect<string, never, ActionRunner>

Added in v1.0.0

group

Signature

export declare const group: <A, E, R>(
  name: string,
  fn: () => Effect.Effect<A, E, R>
) => Effect.Effect<A, E, R | ActionRunner>

Added in v1.0.0

info

Signature

export declare const info: (message: string) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

notice

Signature

export declare const notice: (
  message: string | Error,
  properties?: AnnotationProperties
) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

saveState

Signature

export declare const saveState: (name: string, value: unknown) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

setFailed

Signature

export declare const setFailed: (message: string | Error) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

setOutput

Signature

export declare const setOutput: (name: string, value: unknown) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

setSecret

Signature

export declare const setSecret: (secret: string) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

startGroup

Signature

export declare const startGroup: (name: string) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

warning

Signature

export declare const warning: (
  message: string | Error,
  properties?: AnnotationProperties
) => Effect.Effect<void, never, ActionRunner>

Added in v1.0.0

context

ActionRunner

Signature

export declare const ActionRunner: Tag<ActionRunner, ActionRunner>

Added in v1.0.0

layers

layer

Signature

export declare const layer: Layer.Layer<ActionRunner, never, never>

Added in v1.0.0

models

ActionRunner (interface)

Signature

export interface ActionRunner {
  readonly [TypeId]: typeof TypeId

  // Input methods
  readonly getInput: (name: string, options?: { required?: boolean; trimWhitespace?: boolean }) => Effect.Effect<string>
  readonly getMultilineInput: (
    name: string,
    options?: { required?: boolean; trimWhitespace?: boolean }
  ) => Effect.Effect<ReadonlyArray<string>>
  readonly getBooleanInput: (name: string, options?: { required?: boolean }) => Effect.Effect<boolean, ActionInputError>

  // Output methods
  readonly setOutput: (name: string, value: unknown) => Effect.Effect<void>

  // Logging methods
  readonly debug: (message: string) => Effect.Effect<void>
  readonly info: (message: string) => Effect.Effect<void>
  readonly warning: (message: string | Error, properties?: AnnotationProperties) => Effect.Effect<void>
  readonly error: (message: string | Error, properties?: AnnotationProperties) => Effect.Effect<void>
  readonly notice: (message: string | Error, properties?: AnnotationProperties) => Effect.Effect<void>

  // Group methods
  readonly startGroup: (name: string) => Effect.Effect<void>
  readonly endGroup: () => Effect.Effect<void>
  readonly group: <A, E, R>(name: string, fn: () => Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>

  // Environment methods
  readonly exportVariable: (name: string, value: string) => Effect.Effect<void>
  readonly addPath: (path: string) => Effect.Effect<void>
  readonly setSecret: (secret: string) => Effect.Effect<void>

  // State methods
  readonly saveState: (name: string, value: unknown) => Effect.Effect<void>
  readonly getState: (name: string) => Effect.Effect<string>

  // Result methods
  readonly setFailed: (message: string | Error) => Effect.Effect<void>

  // OIDC methods
  readonly getIDToken: (audience?: string) => Effect.Effect<string, ActionOIDCError>
}

Added in v1.0.0

AnnotationProperties (interface)

Signature

export interface AnnotationProperties {
  readonly title?: string
  readonly file?: string
  readonly startLine?: number
  readonly endLine?: number
  readonly startColumn?: number
  readonly endColumn?: number
}

Added in v1.0.0

type id

TypeId

Signature

export declare const TypeId: typeof TypeId

Added in v1.0.0

TypeId (type alias)

Signature

export type TypeId = typeof TypeId

Added in v1.0.0