Source code for octomachinery.app.action.config

"""GitHub Action environment and metadata representation."""

from pathlib import Path

import environ

# pylint: disable=relative-beyond-top-level
from ...github.models.utils import SecretStr


[docs]@environ.config class GitHubActionConfig: # pylint: disable=too-few-public-methods """GitHub Action config.""" workflow = environ.var( None, name='GITHUB_WORKFLOW', ) action = environ.var( None, name='GITHUB_ACTION', ) actor = environ.var( None, name='GITHUB_ACTOR', ) repository = environ.var( None, name='GITHUB_REPOSITORY', ) event_name = environ.var( None, name='GITHUB_EVENT_NAME', ) event_path = environ.var( None, converter=lambda p: p if p is None else Path(p), name='GITHUB_EVENT_PATH', ) workspace = environ.var( None, name='GITHUB_WORKSPACE', ) sha = environ.var( None, name='GITHUB_SHA', ) ref = environ.var( None, name='GITHUB_REF', ) token = environ.var( None, name='GITHUB_TOKEN', converter=lambda t: t if t is None else SecretStr(t), )