dnd-it/action-config

Github Action for reading configuration files and generating workflow matrices

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Apr 24, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: dnd-it/action-config@472bde8f0b4f34f801df661b626af8c6f575067f # v3.4.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
config_pathPath to the configuration file (JSON or YAML)yes.github/matrix-config.yaml
dimensionSet the primary dimension. Used for directory field, target filtering, and change detection. Defaults to the config settings.dimension value, or "service" if neither is set.no""
targetFilter by dimension value(s). Comma-separated for multiple (e.g. "api,frontend"). If a single value matches a dimension name (not a value of the current dimension), it switches the primary dimension instead.no""
environmentFilter environments. Comma-separated for multiple (e.g. "dev,prod")no""
excludeJSON array of patterns to exclude from the matrix (e.g. [{"service":"shared","environment":"dev"}])no""
includeJSON array of entries to append to the matrix (e.g. [{"service":"shared"}])no""
change_detectionWhen true, use git to detect changed files and filter the matrix to only entries with changes. Uses base_dir from settings to map file paths. Requires actions/checkout with fetch-depth: 0.nofalse
summaryWrite all output values to the GitHub Actions step summary for at-a-glance visibility.notrue
namedescription
matrixJSON string containing the matrix configuration
changes_detectedWhether any entries have changes (true/false). Only meaningful when change_detection is true.
configJSON object keyed by dimension values for direct field access via fromJson(). E.g. fromJson(steps.<id>.outputs.config).dev.api.directory
lengthNumber of entries in the matrix (e.g. "4"). Useful for conditional job execution: if: needs.setup.outputs.length > 0
config_filePath to the configuration file that was actually read for this run.