Skip to content

Class: GhaAction

An action: a directory whose action.yml or action.yaml file names its inputs, its outputs and the runtime that executes it. A workflow step runs it with uses.

URI: gha:Action

 classDiagram
    class GhaAction
    click GhaAction href "../GhaAction/"
      GhaAction : action_path
        
      GhaAction : action_uri
        
      GhaAction : inputs
        
          
    
        
        
        GhaAction --> "*" GhaActionInput : inputs
        click GhaActionInput href "../GhaActionInput/"
    

        
      GhaAction : outputs
        
          
    
        
        
        GhaAction --> "*" GhaActionOutput : outputs
        click GhaActionOutput href "../GhaActionOutput/"
    

        
      GhaAction : using
        
          
    
        
        
        GhaAction --> "1" GhaActionRuntime : using
        click GhaActionRuntime href "../GhaActionRuntime/"
    

        
      
Property Value
Class URI gha:Action
Name Cardinality and Range Description Inheritance
inputs *
GhaActionInput
The inputs under the metadata file’s inputs key direct
outputs *
GhaActionOutput
The outputs under the metadata file’s outputs key direct
action_uri 1
Uri
The action’s address on its forge without a ref: `https://github direct
action_path 1
String
The metadata file’s path from the repository root direct
using 1
GhaActionRuntime
The runtime that executes the action, its `runs direct
used by used in type used
GhaDocument actions range GhaAction
  • SLSA counts the actions a build runs among its steps, which the tenant defines; an action is never a build’s trust boundary, as a reusable workflow that signs provenance is.
  • The metadata file’s name and description are the concept’s title and description in a knowledge bundle, so the class adds neither.
Mapping Type Mapped Value
self gha:Action
native gha:GhaAction
close cdx:task
name: GhaAction
description: 'An action: a directory whose `action.yml` or `action.yaml` file names
its inputs, its outputs and the runtime that executes it. A workflow step runs it
with `uses`.'
comments:
- SLSA counts the actions a build runs among its steps, which the tenant defines;
an action is never a build's trust boundary, as a reusable workflow that signs provenance
is.
- The metadata file's name and description are the concept's title and description
in a knowledge bundle, so the class adds neither.
from_schema: https://w3id.org/lmodel/github-actions
see_also:
- https://docs.github.com/en/actions/reference/workflows-and-actions/metadata-syntax
close_mappings:
- cdx:task
slots:
- inputs
- outputs
slot_usage:
inputs:
name: inputs
description: The inputs under the metadata file's `inputs` key.
range: GhaActionInput
outputs:
name: outputs
description: The outputs under the metadata file's `outputs` key.
range: GhaActionOutput
attributes:
action_uri:
name: action_uri
description: 'The action''s address on its forge without a ref: `https://github.com/<owner>/<repo>`,
followed by the directory''s path when the action is not at the repository root.
A step''s `uses` names it as `<owner>/<repo>/<path>@<ref>`.'
from_schema: https://w3id.org/lmodel/github-actions/github_actions_action
rank: 1000
identifier: true
domain_of:
- GhaAction
range: uri
action_path:
name: action_path
description: The metadata file's path from the repository root.
from_schema: https://w3id.org/lmodel/github-actions/github_actions_action
rank: 1000
domain_of:
- GhaAction
required: true
pattern: ^(.+/)?action\.ya?ml$
using:
name: using
description: The runtime that executes the action, its `runs.using` value.
from_schema: https://w3id.org/lmodel/github-actions/github_actions_action
rank: 1000
domain_of:
- GhaAction
range: GhaActionRuntime
required: true
class_uri: gha:Action
name: GhaAction
description: 'An action: a directory whose `action.yml` or `action.yaml` file names
its inputs, its outputs and the runtime that executes it. A workflow step runs it
with `uses`.'
comments:
- SLSA counts the actions a build runs among its steps, which the tenant defines;
an action is never a build's trust boundary, as a reusable workflow that signs provenance
is.
- The metadata file's name and description are the concept's title and description
in a knowledge bundle, so the class adds neither.
from_schema: https://w3id.org/lmodel/github-actions
see_also:
- https://docs.github.com/en/actions/reference/workflows-and-actions/metadata-syntax
close_mappings:
- cdx:task
slot_usage:
inputs:
name: inputs
description: The inputs under the metadata file's `inputs` key.
range: GhaActionInput
outputs:
name: outputs
description: The outputs under the metadata file's `outputs` key.
range: GhaActionOutput
attributes:
action_uri:
name: action_uri
description: 'The action''s address on its forge without a ref: `https://github.com/<owner>/<repo>`,
followed by the directory''s path when the action is not at the repository root.
A step''s `uses` names it as `<owner>/<repo>/<path>@<ref>`.'
from_schema: https://w3id.org/lmodel/github-actions/github_actions_action
rank: 1000
identifier: true
owner: GhaAction
domain_of:
- GhaAction
range: uri
required: true
action_path:
name: action_path
description: The metadata file's path from the repository root.
from_schema: https://w3id.org/lmodel/github-actions/github_actions_action
rank: 1000
owner: GhaAction
domain_of:
- GhaAction
range: string
required: true
pattern: ^(.+/)?action\.ya?ml$
using:
name: using
description: The runtime that executes the action, its `runs.using` value.
from_schema: https://w3id.org/lmodel/github-actions/github_actions_action
rank: 1000
owner: GhaAction
domain_of:
- GhaAction
range: GhaActionRuntime
required: true
inputs:
name: inputs
description: The inputs under the metadata file's `inputs` key.
from_schema: https://w3id.org/lmodel/github-actions
rank: 1000
owner: GhaAction
domain_of:
- GhaReusableWorkflow
- GhaAction
range: GhaActionInput
multivalued: true
inlined: true
inlined_as_list: true
outputs:
name: outputs
description: The outputs under the metadata file's `outputs` key.
from_schema: https://w3id.org/lmodel/github-actions
rank: 1000
owner: GhaAction
domain_of:
- GhaReusableWorkflow
- GhaAction
range: GhaActionOutput
multivalued: true
inlined: true
inlined_as_list: true
class_uri: gha:Action