rlsbl v0.40.1 /rlsbl.action_versions
On this page

Pinned GitHub Actions version loader: single source of truth read from action_versions.toml so workflow upgrades happen in one place.

#rlsbl.action_versions

#rlsbl.action_versions

Centralized loader for pinned GitHub Actions versions, providing a single source of truth that every rlsbl-scaffolded workflow consumes so action upgrades happen in one place.

Reads the version table from rlsbl/data/action_versions.toml and exposes helpers for resolving an action to its pinned name@version string. The table is the single source of truth for every workflow rlsbl scaffolds or generates programmatically; bumping a version means editing the TOML and re-running scaffold.

No implicit defaults: requesting an action that is not in the table raises :class:UnknownActionError so missing entries fail loudly.

#UnknownActionError

Raised when an action is requested that is not in the version table.

Subclasses :class:KeyError so existing try/except KeyError blocks keep working while still allowing more specific handling.

#_load_table

python
def _load_table() -> dict[str, str]

Load and cache the TOML version table.

Cached for the lifetime of the process; the file is read at most once.

#get_action_version

python
def get_action_version(action_name: str) -> str

Return the pinned version string for action_name.

Example: get_action_version("actions/checkout") -> "v6".

Raises :class:UnknownActionError if the action is not in the table.

#format_action

python
def format_action(action_name: str) -> str

Return the full name@version reference for action_name.

Example: format_action("actions/checkout") -> "actions/checkout@v6".

Raises :class:UnknownActionError if the action is not in the table.

#get_all_versions

python
def get_all_versions() -> dict[str, str]

Return a copy of the full action-name -> version mapping.

Useful for template substitution passes and consistency checks. The returned dict is a shallow copy so callers can mutate it freely.