Skip to content

GitHub Actions workflows, actions and repository rulesets

A LinkML model of what GitHub Actions files and repository rulesets state: workflows and their jobs, reusable workflows with their inputs, outputs and secrets, actions with their runtimes, and the rulesets and required status checks that tie a workflow’s jobs to the refs a ruleset protects.

URI: https://w3id.org/lmodel/github-actions

Name: github_actions

Class Description
GhaAction An action: a directory whose `action
GhaBypassActor An actor who may bypass a ruleset, and when
GhaDocument A document that holds the workflows, actions, rulesets and required status ch…
GhaInput An input that a reusable workflow or an action declares, under the key a call…
        GhaActionInput An input under an action’s inputs key
        GhaWorkflowInput An input under a reusable workflow’s `on
GhaOutput An output that a reusable workflow or an action declares for the job or step …
        GhaActionOutput An output under an action’s outputs key
        GhaWorkflowOutput An output under a reusable workflow’s `on
GhaRepositoryRuleset A ruleset: named rules that GitHub enforces on the branches, tags or pushes o…
GhaRequiredMixin The field that says whether a caller must supply a value
GhaRequiredStatusCheck A status check that a ruleset requires to pass before a change reaches a ref …
GhaWorkflow A workflow file in a repository’s `
        GhaReusableWorkflow A workflow that other workflows call as a job, because its on key names `wo…
GhaWorkflowJob A job under a workflow’s jobs key: steps that run on a runner, or a call to…
GhaWorkflowSecret A secret under a reusable workflow’s `on
Slot Description
action_path The metadata file’s path from the repository root
action_uri The action’s address on its forge without a ref: `https://github
actions The actions
actor_id The actor’s numeric id; absent for an actor type GitHub takes no id for, such…
actor_type The kind of actor, the REST field actor_type, such as Team, `RepositoryRo…
bypass_actors The actors who may bypass the ruleset
bypass_mode When the actor may bypass, the REST field bypass_mode, such as always, `p…
calls The reusable workflow the job runs, its uses value: `
check_context The context a check run must report, the rule’s `required_status_checks[]
check_uri An identifier for the requirement
default The value used when a caller supplies none, written as a string even where th…
deprecation_message The message GitHub shows a workflow that still passes the input, the file’s `…
description What the input, output or secret is for, as the file describes it
do_not_enforce_on_create Whether a branch may be created although the check would otherwise stop it, t…
emitted_by The top-level workflow whose job reports the check
enforcement Whether GitHub enforces the ruleset, the REST field enforcement
input_id The key a caller writes in its with map
input_type The input’s type, which a reusable workflow’s input must state
inputs The inputs that the reusable workflow or the action declares
integration_id The GitHub App the check must come from, the rule’s integration_id; GitHub …
job_id The job’s key under jobs
job_name The job’s name, which GitHub shows and its check run takes; the check run t…
job_path The ids of the jobs from the top-level workflow’s job to the job that reports…
job_permissions The access the job’s own permissions key gives its GITHUB_TOKEN, in place o…
jobs The jobs under the file’s jobs key
output_expression The expression that sets the output, the file’s value key, such as one that…
output_id The key a caller reads the output by
outputs The outputs that the reusable workflow or the action declares
permissions The access the file’s top-level permissions key gives every job’s GITHUB_TO…
ref_name_exclude The refs the ruleset leaves out, from `conditions
ref_name_include The refs the ruleset applies to, from `conditions
required Whether a caller must supply a value
required_checks The status checks the rulesets require
requires_check The status checks the ruleset’s required_status_checks rule requires, each a …
reusable_workflows The reusable workflows
rule_types The type of each rule the ruleset holds, such as deletion, `non_fast_forw…
ruleset_id The ruleset’s numeric id in the REST API
ruleset_source The name of the repository, organization or enterprise that owns the ruleset,…
ruleset_source_type What owns the ruleset, the REST field source_type: a repository, an organiz…
ruleset_target What the ruleset applies to, the REST field target
ruleset_uri The ruleset’s page, the REST response’s `_links
rulesets The rulesets
runner_environment Whether the job’s runner is hosted by GitHub or by the repository’s owner, as…
runner_group The runner group the job’s `runs-on
runs_on The runner labels from the job’s runs-on: one label, a list, or the `labels…
secret_id The key a caller passes the secret under
secrets The secrets under the file’s `on
skip_conditions What in the workflow can skip the job that reports the check, each written as…
strict_policy Whether a pull request must be tested against the latest code of the branch i…
triggers The names of the events under the file’s on key, such as push, `pull_requ…
using The runtime that executes the action, its `runs
workflow_path The file’s path from the repository root, as GitHub’s build type writes workf…
workflow_repository The repository that holds the file, as GitHub’s build type writes workflow
workflow_uri The file’s address on its forge without a ref: `https://github
workflows The workflows other than the reusable ones
Enumeration Description
GhaActionRuntime The runtimes an action’s `runs
GhaRulesetEnforcement Whether GitHub enforces a ruleset, as the REST field enforcement names it
GhaRulesetSourceType What can own a ruleset, as the REST field source_type names it
GhaRulesetTarget What a ruleset applies to, as the REST field target names it
GhaRunnerEnvironment Who hosts the runner a job runs on, as GitHub’s build type records it
GhaWorkflowInputType The types a reusable workflow’s input may state
Type Description
Boolean A binary (true or false) value
Curie a compact URI
Date a date (year, month and day) in an idealized calendar
DateOrDatetime Either a date or a datetime
Datetime The combination of a date and time
Decimal A real number with arbitrary precision that conforms to the xsd:decimal speci…
Double A real number that conforms to the xsd:double specification
Float A real number that conforms to the xsd:float specification
GhaIdentifier A key GitHub accepts for a job, an input, an output or a secret: a letter or …
GhaPermission One grant of access to a workflow’s GITHUB_TOKEN, written as the scope, a col…
Integer An integer
Jsonpath A string encoding a JSON Path
Jsonpointer A string encoding a JSON Pointer
Ncname Prefix part of CURIE
Nodeidentifier A URI, CURIE or BNODE that represents a node in a model
Objectidentifier A URI or CURIE that represents an object in the model
Sparqlpath A string encoding a SPARQL Property Path
String A character string
Time A time object represents a (local) time of day, independent of any particular…
Uri a complete URI
Uriorcurie a URI or a CURIE
Subset Description