Skip to main content

utils/action-reference

Action Reference Utilities

Helper functions for generating action references in workflows based on the configured action source mode (embedded, marketplace, or repository).

Functions

getActionOutputDir()

function getActionOutputDir(config): string;

Defined in: utils/action-reference.ts:76

Get the output directory for action files during generation.

Parameters

config

Partial<PipecraftConfig>

PipeCraft configuration

Returns

string

Directory path where actions should be generated

Example

getActionOutputDir({ actionSourceMode: 'local' })
// Returns: '.github/actions'

getActionOutputDir({ actionSourceMode: 'source' })
// Returns: 'actions'

getActionReference()

function getActionReference(actionName, config): string;

Defined in: utils/action-reference.ts:37

Generate the action reference path based on configuration.

Parameters

actionName

string

Name of the action (e.g., 'detect-changes', 'create-tag')

config

Partial<PipecraftConfig>

PipeCraft configuration

Returns

string

The action reference string to use in workflows

Example

// Embedded mode (default)
getActionReference('detect-changes', { actionSourceMode: 'local' })
// Returns: './.github/actions/detect-changes'

// Marketplace mode
getActionReference('detect-changes', {
actionSourceMode: 'remote',
actionVersion: 'v1.2.3'
})
// Returns: 'pipecraft-lab/pipecraft/actions/detect-changes@v1.2.3'

// Repository mode (PipeCraft's own CI)
getActionReference('detect-changes', { actionSourceMode: 'source' })
// Returns: './actions/detect-changes'

getActionSourceDescription()

function getActionSourceDescription(config): string;

Defined in: utils/action-reference.ts:119

Get human-readable description of the action source mode.

Parameters

config

Partial<PipecraftConfig>

PipeCraft configuration

Returns

string

Description string for logging/display


shouldGenerateActions()

function shouldGenerateActions(config): boolean;

Defined in: utils/action-reference.ts:108

Check if actions should be generated locally.

Parameters

config

Partial<PipecraftConfig>

PipeCraft configuration

Returns

boolean

True if actions should be generated, false if using marketplace

Example

shouldGenerateActions({ actionSourceMode: 'local' })    // true
shouldGenerateActions({ actionSourceMode: 'remote' }) // false
shouldGenerateActions({ actionSourceMode: 'source' }) // true