github.com/nektos/act@v0.2.83/pkg/schema/action_schema.json (about)

     1  {
     2    "definitions": {
     3      "action-root": {
     4        "description": "Action file",
     5        "mapping": {
     6          "properties": {
     7            "name": "string",
     8            "description": "string",
     9            "inputs": "inputs",
    10            "runs": "runs",
    11            "outputs": "outputs"
    12          },
    13          "loose-key-type": "non-empty-string",
    14          "loose-value-type": "any"
    15        }
    16      },
    17      "inputs": {
    18        "mapping": {
    19          "loose-key-type": "non-empty-string",
    20          "loose-value-type": "input"
    21        }
    22      },
    23      "input": {
    24        "mapping": {
    25          "properties": {
    26            "default": "input-default-context"
    27          },
    28          "loose-key-type": "non-empty-string",
    29          "loose-value-type": "any"
    30        }
    31      },
    32      "outputs": {
    33        "mapping": {
    34          "loose-key-type": "non-empty-string",
    35          "loose-value-type": "output-definition"
    36        }
    37      },
    38      "output-definition": {
    39        "mapping": {
    40          "properties": {
    41            "description": "string",
    42            "value": "output-value"
    43          }
    44        }
    45      },
    46      "runs": {
    47        "one-of": ["container-runs", "node-runs", "plugin-runs", "composite-runs"]
    48      },
    49      "container-runs": {
    50        "mapping": {
    51          "properties": {
    52            "using": "non-empty-string",
    53            "image": "non-empty-string",
    54            "entrypoint": "non-empty-string",
    55            "args": "container-runs-args",
    56            "env": "container-runs-env",
    57            "pre-entrypoint": "non-empty-string",
    58            "pre-if": "non-empty-string",
    59            "post-entrypoint": "non-empty-string",
    60            "post-if": "non-empty-string"
    61          }
    62        }
    63      },
    64      "container-runs-args": {
    65        "sequence": {
    66          "item-type": "container-runs-context"
    67        }
    68      },
    69      "container-runs-env": {
    70        "context": ["inputs"],
    71        "mapping": {
    72          "loose-key-type": "non-empty-string",
    73          "loose-value-type": "string"
    74        }
    75      },
    76      "node-runs": {
    77        "mapping": {
    78          "properties": {
    79            "using": "non-empty-string",
    80            "main": "non-empty-string",
    81            "pre": "non-empty-string",
    82            "pre-if": "non-empty-string",
    83            "post": "non-empty-string",
    84            "post-if": "non-empty-string"
    85          }
    86        }
    87      },
    88      "plugin-runs": {
    89        "mapping": {
    90          "properties": {
    91            "plugin": "non-empty-string"
    92          }
    93        }
    94      },
    95      "composite-runs": {
    96        "mapping": {
    97          "properties": {
    98            "using": "non-empty-string",
    99            "steps": "composite-steps"
   100          }
   101        }
   102      },
   103      "composite-steps": {
   104        "sequence": {
   105          "item-type": "composite-step"
   106        }
   107      },
   108      "composite-step": {
   109        "one-of": ["run-step", "uses-step"]
   110      },
   111      "run-step": {
   112        "mapping": {
   113          "properties": {
   114            "name": "string-steps-context",
   115            "id": "non-empty-string",
   116            "if": "step-if",
   117            "run": {
   118              "type": "string-steps-context",
   119              "required": true
   120            },
   121            "env": "step-env",
   122            "continue-on-error": "boolean-steps-context",
   123            "working-directory": "string-steps-context",
   124            "shell": {
   125              "type": "string-steps-context",
   126              "required": true
   127            }
   128          }
   129        }
   130      },
   131      "uses-step": {
   132        "mapping": {
   133          "properties": {
   134            "name": "string-steps-context",
   135            "id": "non-empty-string",
   136            "if": "step-if",
   137            "uses": {
   138              "type": "non-empty-string",
   139              "required": true
   140            },
   141            "continue-on-error": "boolean-steps-context",
   142            "with": "step-with",
   143            "env": "step-env"
   144          }
   145        }
   146      },
   147      "container-runs-context": {
   148        "context": ["inputs"],
   149        "string": {}
   150      },
   151      "output-value": {
   152        "context": [
   153          "github",
   154          "strategy",
   155          "matrix",
   156          "steps",
   157          "inputs",
   158          "job",
   159          "runner",
   160          "env"
   161        ],
   162        "string": {}
   163      },
   164      "input-default-context": {
   165        "context": [
   166          "github",
   167          "strategy",
   168          "matrix",
   169          "job",
   170          "runner",
   171          "hashFiles(1,255)"
   172        ],
   173        "string": {}
   174      },
   175      "non-empty-string": {
   176        "string": {
   177          "require-non-empty": true
   178        }
   179      },
   180      "string-steps-context": {
   181        "context": [
   182          "github",
   183          "inputs",
   184          "strategy",
   185          "matrix",
   186          "steps",
   187          "job",
   188          "runner",
   189          "env",
   190          "hashFiles(1,255)"
   191        ],
   192        "string": {}
   193      },
   194      "boolean-steps-context": {
   195        "context": [
   196          "github",
   197          "inputs",
   198          "strategy",
   199          "matrix",
   200          "steps",
   201          "job",
   202          "runner",
   203          "env",
   204          "hashFiles(1,255)"
   205        ],
   206        "boolean": {}
   207      },
   208      "step-env": {
   209        "context": [
   210          "github",
   211          "inputs",
   212          "strategy",
   213          "matrix",
   214          "steps",
   215          "job",
   216          "runner",
   217          "env",
   218          "hashFiles(1,255)"
   219        ],
   220        "mapping": {
   221          "loose-key-type": "non-empty-string",
   222          "loose-value-type": "string"
   223        }
   224      },
   225      "step-if": {
   226        "context": [
   227          "github",
   228          "inputs",
   229          "strategy",
   230          "matrix",
   231          "steps",
   232          "job",
   233          "runner",
   234          "env",
   235          "always(0,0)",
   236          "failure(0,0)",
   237          "cancelled(0,0)",
   238          "success(0,0)",
   239          "hashFiles(1,255)"
   240        ],
   241        "string": {}
   242      },
   243      "step-with": {
   244        "context": [
   245          "github",
   246          "inputs",
   247          "strategy",
   248          "matrix",
   249          "steps",
   250          "job",
   251          "runner",
   252          "env",
   253          "hashFiles(1,255)"
   254        ],
   255        "mapping": {
   256          "loose-key-type": "non-empty-string",
   257          "loose-value-type": "string"
   258        }
   259      }
   260    }
   261  }