github.com/solo-io/cue@v0.4.7/encoding/jsonschema/testdata/github.txtar (about) 1 # A txtar test version of import phase of the process behind our 2 # CI workflow generation. 3 # 4 # Note: all the non-golden files below are updated automatically by 5 # the internal/ci updateTxtarTests CUE command (with the exception 6 # of the cue.mod/module.cue file). 7 8 -- workflow.json -- 9 { 10 "$schema": "http://json-schema.org/draft-07/schema", 11 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions", 12 "definitions": { 13 "architecture": { 14 "type": "string", 15 "enum": [ 16 "ARM32", 17 "x64", 18 "x86" 19 ] 20 }, 21 "branch": { 22 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestbranchestags", 23 "$ref": "#/definitions/globs", 24 "description": "When using the push and pull_request events, you can configure a workflow to run on specific branches or tags. If you only define only tags or only branches, the workflow won't run for events affecting the undefined Git ref.\nThe branches, branches-ignore, tags, and tags-ignore keywords accept glob patterns that use the * and ** wildcard characters to match more than one branch or tag name. For more information, see https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet.\nThe patterns defined in branches and tags are evaluated against the Git ref's name. For example, defining the pattern mona/octocat in branches will match the refs/heads/mona/octocat Git ref. The pattern releases/** will match the refs/heads/releases/10 Git ref.\nYou can use two types of filters to prevent a workflow from running on pushes and pull requests to tags and branches:\n- branches or branches-ignore - You cannot use both the branches and branches-ignore filters for the same event in a workflow. Use the branches filter when you need to filter branches for positive matches and exclude branches. Use the branches-ignore filter when you only need to exclude branch names.\n- tags or tags-ignore - You cannot use both the tags and tags-ignore filters for the same event in a workflow. Use the tags filter when you need to filter tags for positive matches and exclude tags. Use the tags-ignore filter when you only need to exclude tag names.\nYou can exclude tags and branches using the ! character. The order that you define patterns matters.\n- A matching negative pattern (prefixed with !) after a positive match will exclude the Git ref.\n- A matching positive pattern after a negative match will include the Git ref again." 25 }, 26 "configuration": { 27 "oneOf": [ 28 { 29 "type": "string" 30 }, 31 { 32 "type": "number" 33 }, 34 { 35 "type": "boolean" 36 }, 37 { 38 "type": "object", 39 "additionalProperties": { 40 "$ref": "#/definitions/configuration" 41 } 42 }, 43 { 44 "type": "array", 45 "items": { 46 "$ref": "#/definitions/configuration" 47 }, 48 "additionalItems": false 49 } 50 ] 51 }, 52 "container": { 53 "type": "object", 54 "properties": { 55 "image": { 56 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idcontainerimage", 57 "description": "The Docker image to use as the container to run the action. The value can be the Docker Hub image name or a registry name.", 58 "type": "string" 59 }, 60 "credentials": { 61 "$comment": "https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idcontainercredentials", 62 "description": "If the image's container registry requires authentication to pull the image, you can use credentials to set a map of the username and password. The credentials are the same values that you would provide to the `docker login` command.", 63 "type": "object", 64 "properties": { 65 "username": { 66 "type": "string" 67 }, 68 "password": { 69 "type": "string" 70 } 71 } 72 }, 73 "env": { 74 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idcontainerenv", 75 "$ref": "#/definitions/env", 76 "description": "Sets an array of environment variables in the container." 77 }, 78 "ports": { 79 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idcontainerports", 80 "description": "Sets an array of ports to expose on the container.", 81 "type": "array", 82 "items": { 83 "oneOf": [ 84 { 85 "type": "number" 86 }, 87 { 88 "type": "string" 89 } 90 ] 91 }, 92 "minItems": 1, 93 "additionalItems": false 94 }, 95 "volumes": { 96 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idcontainervolumes", 97 "description": "Sets an array of volumes for the container to use. You can use volumes to share data between services or other steps in a job. You can specify named Docker volumes, anonymous Docker volumes, or bind mounts on the host.\nTo specify a volume, you specify the source and destination path: <source>:<destinationPath>\nThe <source> is a volume name or an absolute path on the host machine, and <destinationPath> is an absolute path in the container.", 98 "type": "array", 99 "items": { 100 "type": "string", 101 "pattern": "^[^:]+:[^:]+$" 102 }, 103 "minItems": 1, 104 "additionalItems": false 105 }, 106 "options": { 107 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idcontaineroptions", 108 "description": "Additional Docker container resource options. For a list of options, see https://docs.docker.com/engine/reference/commandline/create/#options.", 109 "type": "string" 110 } 111 }, 112 "required": [ 113 "image" 114 ], 115 "additionalProperties": false 116 }, 117 "defaults": { 118 "type": "object", 119 "properties": { 120 "run": { 121 "type": "object", 122 "properties": { 123 "shell": { 124 "$ref": "#/definitions/shell" 125 }, 126 "working-directory": { 127 "$ref": "#/definitions/working-directory" 128 } 129 }, 130 "minProperties": 1, 131 "additionalProperties": false 132 } 133 }, 134 "minProperties": 1, 135 "additionalProperties": false 136 }, 137 "env": { 138 "type": "object", 139 "additionalProperties": { 140 "oneOf": [ 141 { 142 "type": "string" 143 }, 144 { 145 "type": "number" 146 }, 147 { 148 "type": "boolean" 149 } 150 ] 151 }, 152 "minProperties": 1 153 }, 154 "environment": { 155 "$comment": "https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idenvironment", 156 "description": "The environment that the job references", 157 "type": "object", 158 "properties": { 159 "name": { 160 "$comment": "https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#example-using-a-single-environment-name", 161 "description": "The name of the environment configured in the repo.", 162 "type": "string" 163 }, 164 "url": { 165 "$comment": "https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#example-using-environment-name-and-url", 166 "description": "A deployment URL", 167 "type": "string" 168 } 169 }, 170 "required": [ 171 "name" 172 ], 173 "additionalProperties": false 174 }, 175 "event": { 176 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows", 177 "type": "string", 178 "enum": [ 179 "check_run", 180 "check_suite", 181 "create", 182 "delete", 183 "deployment", 184 "deployment_status", 185 "fork", 186 "gollum", 187 "issue_comment", 188 "issues", 189 "label", 190 "member", 191 "milestone", 192 "page_build", 193 "project", 194 "project_card", 195 "project_column", 196 "public", 197 "pull_request", 198 "pull_request_review", 199 "pull_request_review_comment", 200 "pull_request_target", 201 "push", 202 "registry_package", 203 "release", 204 "status", 205 "watch", 206 "workflow_dispatch", 207 "workflow_run", 208 "repository_dispatch" 209 ] 210 }, 211 "eventObject": { 212 "oneOf": [ 213 { 214 "type": "object" 215 }, 216 { 217 "type": "null" 218 } 219 ], 220 "additionalProperties": true 221 }, 222 "expressionSyntax": { 223 "type": "string", 224 "pattern": "^\\$\\{\\{.*\\}\\}$" 225 }, 226 "globs": { 227 "type": "array", 228 "items": { 229 "type": "string", 230 "minLength": 1 231 }, 232 "minItems": 1, 233 "additionalItems": false 234 }, 235 "machine": { 236 "type": "string", 237 "enum": [ 238 "linux", 239 "macos", 240 "windows" 241 ] 242 }, 243 "name": { 244 "type": "string", 245 "pattern": "^[_a-zA-Z][a-zA-Z0-9_-]*$" 246 }, 247 "path": { 248 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths", 249 "$ref": "#/definitions/globs", 250 "description": "When using the push and pull_request events, you can configure a workflow to run when at least one file does not match paths-ignore or at least one modified file matches the configured paths. Path filters are not evaluated for pushes to tags.\nThe paths-ignore and paths keywords accept glob patterns that use the * and ** wildcard characters to match more than one path name. For more information, see https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet.\nYou can exclude paths using two types of filters. You cannot use both of these filters for the same event in a workflow.\n- paths-ignore - Use the paths-ignore filter when you only need to exclude path names.\n- paths - Use the paths filter when you need to filter paths for positive matches and exclude paths." 251 }, 252 "ref": { 253 "properties": { 254 "branches": { 255 "$ref": "#/definitions/branch" 256 }, 257 "branches-ignore": { 258 "$ref": "#/definitions/branch" 259 }, 260 "tags": { 261 "$ref": "#/definitions/branch" 262 }, 263 "tags-ignore": { 264 "$ref": "#/definitions/branch" 265 }, 266 "paths": { 267 "$ref": "#/definitions/path" 268 }, 269 "paths-ignore": { 270 "$ref": "#/definitions/path" 271 } 272 }, 273 "oneOf": [ 274 { 275 "type": "object", 276 "allOf": [ 277 { 278 "not": { 279 "required": [ 280 "branches", 281 "branches-ignore" 282 ] 283 } 284 }, 285 { 286 "not": { 287 "required": [ 288 "tags", 289 "tags-ignore" 290 ] 291 } 292 }, 293 { 294 "not": { 295 "required": [ 296 "paths", 297 "paths-ignore" 298 ] 299 } 300 } 301 ] 302 }, 303 { 304 "type": "null" 305 } 306 ] 307 }, 308 "shell": { 309 "$comment": "https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell", 310 "description": "You can override the default shell settings in the runner's operating system using the shell keyword. You can use built-in shell keywords, or you can define a custom set of shell options.", 311 "type": "string", 312 "anyOf": [ 313 { 314 "$comment": "https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#custom-shell" 315 }, 316 { 317 "enum": [ 318 "bash", 319 "pwsh", 320 "python", 321 "sh", 322 "cmd", 323 "powershell" 324 ] 325 } 326 ] 327 }, 328 "types": { 329 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onevent_nametypes", 330 "description": "Selects the types of activity that will trigger a workflow run. Most GitHub events are triggered by more than one type of activity. For example, the event for the release resource is triggered when a release is published, unpublished, created, edited, deleted, or prereleased. The types keyword enables you to narrow down activity that causes the workflow to run. When only one activity type triggers a webhook event, the types keyword is unnecessary.\nYou can use an array of event types. For more information about each event and their activity types, see https://help.github.com/en/articles/events-that-trigger-workflows#webhook-events.", 331 "type": "array", 332 "minItems": 1, 333 "additionalItems": false 334 }, 335 "working-directory": { 336 "$comment": "https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun", 337 "description": "Using the working-directory keyword, you can specify the working directory of where to run the command.", 338 "type": "string" 339 } 340 }, 341 "properties": { 342 "name": { 343 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#name", 344 "description": "The name of your workflow. GitHub displays the names of your workflows on your repository's actions page. If you omit this field, GitHub sets the name to the workflow's filename.", 345 "type": "string" 346 }, 347 "on": { 348 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#on", 349 "description": "The name of the GitHub event that triggers the workflow. You can provide a single event string, array of events, array of event types, or an event configuration map that schedules a workflow or restricts the execution of a workflow to specific files, tags, or branch changes. For a list of available events, see https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows.", 350 "oneOf": [ 351 { 352 "$ref": "#/definitions/event" 353 }, 354 { 355 "type": "array", 356 "items": { 357 "$ref": "#/definitions/event" 358 }, 359 "minItems": 1, 360 "additionalItems": false 361 }, 362 { 363 "type": "object", 364 "properties": { 365 "check_run": { 366 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#check-run-event-check_run", 367 "$ref": "#/definitions/eventObject", 368 "description": "Runs your workflow anytime the check_run event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/checks/runs.", 369 "properties": { 370 "types": { 371 "$ref": "#/definitions/types", 372 "items": { 373 "type": "string", 374 "enum": [ 375 "created", 376 "rerequested", 377 "completed", 378 "requested_action" 379 ] 380 }, 381 "default": [ 382 "created", 383 "rerequested", 384 "completed", 385 "requested_action" 386 ] 387 } 388 } 389 }, 390 "check_suite": { 391 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#check-suite-event-check_suite", 392 "$ref": "#/definitions/eventObject", 393 "description": "Runs your workflow anytime the check_suite event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/checks/suites/.", 394 "properties": { 395 "types": { 396 "$ref": "#/definitions/types", 397 "items": { 398 "type": "string", 399 "enum": [ 400 "completed", 401 "requested", 402 "rerequested" 403 ] 404 }, 405 "default": [ 406 "completed", 407 "requested", 408 "rerequested" 409 ] 410 } 411 } 412 }, 413 "create": { 414 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#create-event-create", 415 "$ref": "#/definitions/eventObject", 416 "description": "Runs your workflow anytime someone creates a branch or tag, which triggers the create event. For information about the REST API, see https://developer.github.com/v3/git/refs/#create-a-reference." 417 }, 418 "delete": { 419 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#delete-event-delete", 420 "$ref": "#/definitions/eventObject", 421 "description": "Runs your workflow anytime someone deletes a branch or tag, which triggers the delete event. For information about the REST API, see https://developer.github.com/v3/git/refs/#delete-a-reference." 422 }, 423 "deployment": { 424 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#deployment-event-deployment", 425 "$ref": "#/definitions/eventObject", 426 "description": "Runs your workflow anytime someone creates a deployment, which triggers the deployment event. Deployments created with a commit SHA may not have a Git ref. For information about the REST API, see https://developer.github.com/v3/repos/deployments/." 427 }, 428 "deployment_status": { 429 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#deployment-status-event-deployment_status", 430 "$ref": "#/definitions/eventObject", 431 "description": "Runs your workflow anytime a third party provides a deployment status, which triggers the deployment_status event. Deployments created with a commit SHA may not have a Git ref. For information about the REST API, see https://developer.github.com/v3/repos/deployments/#create-a-deployment-status." 432 }, 433 "fork": { 434 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#fork-event-fork", 435 "$ref": "#/definitions/eventObject", 436 "description": "Runs your workflow anytime when someone forks a repository, which triggers the fork event. For information about the REST API, see https://developer.github.com/v3/repos/forks/#create-a-fork." 437 }, 438 "gollum": { 439 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#gollum-event-gollum", 440 "$ref": "#/definitions/eventObject", 441 "description": "Runs your workflow when someone creates or updates a Wiki page, which triggers the gollum event." 442 }, 443 "issue_comment": { 444 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#issue-comment-event-issue_comment", 445 "$ref": "#/definitions/eventObject", 446 "description": "Runs your workflow anytime the issue_comment event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/issues/comments/.", 447 "properties": { 448 "types": { 449 "$ref": "#/definitions/types", 450 "items": { 451 "type": "string", 452 "enum": [ 453 "created", 454 "edited", 455 "deleted" 456 ] 457 }, 458 "default": [ 459 "created", 460 "edited", 461 "deleted" 462 ] 463 } 464 } 465 }, 466 "issues": { 467 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#issues-event-issues", 468 "$ref": "#/definitions/eventObject", 469 "description": "Runs your workflow anytime the issues event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/issues.", 470 "properties": { 471 "types": { 472 "$ref": "#/definitions/types", 473 "items": { 474 "type": "string", 475 "enum": [ 476 "opened", 477 "edited", 478 "deleted", 479 "transferred", 480 "pinned", 481 "unpinned", 482 "closed", 483 "reopened", 484 "assigned", 485 "unassigned", 486 "labeled", 487 "unlabeled", 488 "locked", 489 "unlocked", 490 "milestoned", 491 "demilestoned" 492 ] 493 }, 494 "default": [ 495 "opened", 496 "edited", 497 "deleted", 498 "transferred", 499 "pinned", 500 "unpinned", 501 "closed", 502 "reopened", 503 "assigned", 504 "unassigned", 505 "labeled", 506 "unlabeled", 507 "locked", 508 "unlocked", 509 "milestoned", 510 "demilestoned" 511 ] 512 } 513 } 514 }, 515 "label": { 516 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#label-event-label", 517 "$ref": "#/definitions/eventObject", 518 "description": "Runs your workflow anytime the label event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/issues/labels/.", 519 "properties": { 520 "types": { 521 "$ref": "#/definitions/types", 522 "items": { 523 "type": "string", 524 "enum": [ 525 "created", 526 "edited", 527 "deleted" 528 ] 529 }, 530 "default": [ 531 "created", 532 "edited", 533 "deleted" 534 ] 535 } 536 } 537 }, 538 "member": { 539 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#member-event-member", 540 "$ref": "#/definitions/eventObject", 541 "description": "Runs your workflow anytime the member event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/repos/collaborators/.", 542 "properties": { 543 "types": { 544 "$ref": "#/definitions/types", 545 "items": { 546 "type": "string", 547 "enum": [ 548 "added", 549 "edited", 550 "deleted" 551 ] 552 }, 553 "default": [ 554 "added", 555 "edited", 556 "deleted" 557 ] 558 } 559 } 560 }, 561 "milestone": { 562 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#milestone-event-milestone", 563 "$ref": "#/definitions/eventObject", 564 "description": "Runs your workflow anytime the milestone event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/issues/milestones/.", 565 "properties": { 566 "types": { 567 "$ref": "#/definitions/types", 568 "items": { 569 "type": "string", 570 "enum": [ 571 "created", 572 "closed", 573 "opened", 574 "edited", 575 "deleted" 576 ] 577 }, 578 "default": [ 579 "created", 580 "closed", 581 "opened", 582 "edited", 583 "deleted" 584 ] 585 } 586 } 587 }, 588 "page_build": { 589 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#page-build-event-page_build", 590 "$ref": "#/definitions/eventObject", 591 "description": "Runs your workflow anytime someone pushes to a GitHub Pages-enabled branch, which triggers the page_build event. For information about the REST API, see https://developer.github.com/v3/repos/pages/." 592 }, 593 "project": { 594 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-event-project", 595 "$ref": "#/definitions/eventObject", 596 "description": "Runs your workflow anytime the project event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/projects/.", 597 "properties": { 598 "types": { 599 "$ref": "#/definitions/types", 600 "items": { 601 "type": "string", 602 "enum": [ 603 "created", 604 "updated", 605 "closed", 606 "reopened", 607 "edited", 608 "deleted" 609 ] 610 }, 611 "default": [ 612 "created", 613 "updated", 614 "closed", 615 "reopened", 616 "edited", 617 "deleted" 618 ] 619 } 620 } 621 }, 622 "project_card": { 623 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-card-event-project_card", 624 "$ref": "#/definitions/eventObject", 625 "description": "Runs your workflow anytime the project_card event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/projects/cards.", 626 "properties": { 627 "types": { 628 "$ref": "#/definitions/types", 629 "items": { 630 "type": "string", 631 "enum": [ 632 "created", 633 "moved", 634 "converted", 635 "edited", 636 "deleted" 637 ] 638 }, 639 "default": [ 640 "created", 641 "moved", 642 "converted", 643 "edited", 644 "deleted" 645 ] 646 } 647 } 648 }, 649 "project_column": { 650 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-column-event-project_column", 651 "$ref": "#/definitions/eventObject", 652 "description": "Runs your workflow anytime the project_column event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/projects/columns.", 653 "properties": { 654 "types": { 655 "$ref": "#/definitions/types", 656 "items": { 657 "type": "string", 658 "enum": [ 659 "created", 660 "updated", 661 "moved", 662 "deleted" 663 ] 664 }, 665 "default": [ 666 "created", 667 "updated", 668 "moved", 669 "deleted" 670 ] 671 } 672 } 673 }, 674 "public": { 675 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#public-event-public", 676 "$ref": "#/definitions/eventObject", 677 "description": "Runs your workflow anytime someone makes a private repository public, which triggers the public event. For information about the REST API, see https://developer.github.com/v3/repos/#edit." 678 }, 679 "pull_request": { 680 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#pull-request-event-pull_request", 681 "$ref": "#/definitions/ref", 682 "description": "Runs your workflow anytime the pull_request event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/pulls.\nNote: Workflows do not run on private base repositories when you open a pull request from a forked repository.\nWhen you create a pull request from a forked repository to the base repository, GitHub sends the pull_request event to the base repository and no pull request events occur on the forked repository.\nWorkflows don't run on forked repositories by default. You must enable GitHub Actions in the Actions tab of the forked repository.\nThe permissions for the GITHUB_TOKEN in forked repositories is read-only. For more information about the GITHUB_TOKEN, see https://help.github.com/en/articles/virtual-environments-for-github-actions.", 683 "properties": { 684 "types": { 685 "$ref": "#/definitions/types", 686 "items": { 687 "type": "string", 688 "enum": [ 689 "assigned", 690 "unassigned", 691 "labeled", 692 "unlabeled", 693 "opened", 694 "edited", 695 "closed", 696 "reopened", 697 "synchronize", 698 "ready_for_review", 699 "locked", 700 "unlocked", 701 "review_requested", 702 "review_request_removed" 703 ] 704 }, 705 "default": [ 706 "opened", 707 "synchronize", 708 "reopened" 709 ] 710 } 711 }, 712 "patternProperties": { 713 "^(branche|tag|path)s(-ignore)?$": {} 714 }, 715 "additionalProperties": false 716 }, 717 "pull_request_review": { 718 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#pull-request-review-event-pull_request_review", 719 "$ref": "#/definitions/eventObject", 720 "description": "Runs your workflow anytime the pull_request_review event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/pulls/reviews.\nNote: Workflows do not run on private base repositories when you open a pull request from a forked repository.\nWhen you create a pull request from a forked repository to the base repository, GitHub sends the pull_request event to the base repository and no pull request events occur on the forked repository.\nWorkflows don't run on forked repositories by default. You must enable GitHub Actions in the Actions tab of the forked repository.\nThe permissions for the GITHUB_TOKEN in forked repositories is read-only. For more information about the GITHUB_TOKEN, see https://help.github.com/en/articles/virtual-environments-for-github-actions.", 721 "properties": { 722 "types": { 723 "$ref": "#/definitions/types", 724 "items": { 725 "type": "string", 726 "enum": [ 727 "submitted", 728 "edited", 729 "dismissed" 730 ] 731 }, 732 "default": [ 733 "submitted", 734 "edited", 735 "dismissed" 736 ] 737 } 738 } 739 }, 740 "pull_request_review_comment": { 741 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#pull-request-review-comment-event-pull_request_review_comment", 742 "$ref": "#/definitions/eventObject", 743 "description": "Runs your workflow anytime a comment on a pull request's unified diff is modified, which triggers the pull_request_review_comment event. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/pulls/comments.\nNote: Workflows do not run on private base repositories when you open a pull request from a forked repository.\nWhen you create a pull request from a forked repository to the base repository, GitHub sends the pull_request event to the base repository and no pull request events occur on the forked repository.\nWorkflows don't run on forked repositories by default. You must enable GitHub Actions in the Actions tab of the forked repository.\nThe permissions for the GITHUB_TOKEN in forked repositories is read-only. For more information about the GITHUB_TOKEN, see https://help.github.com/en/articles/virtual-environments-for-github-actions.", 744 "properties": { 745 "types": { 746 "$ref": "#/definitions/types", 747 "items": { 748 "type": "string", 749 "enum": [ 750 "created", 751 "edited", 752 "deleted" 753 ] 754 }, 755 "default": [ 756 "created", 757 "edited", 758 "deleted" 759 ] 760 } 761 } 762 }, 763 "pull_request_target": { 764 "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target", 765 "$ref": "#/definitions/ref", 766 "description": "This event is similar to pull_request, except that it runs in the context of the base repository of the pull request, rather than in the merge commit. This means that you can more safely make your secrets available to the workflows triggered by the pull request, because only workflows defined in the commit on the base repository are run. For example, this event allows you to create workflows that label and comment on pull requests, based on the contents of the event payload.", 767 "properties": { 768 "types": { 769 "$ref": "#/definitions/types", 770 "items": { 771 "type": "string", 772 "enum": [ 773 "assigned", 774 "unassigned", 775 "labeled", 776 "unlabeled", 777 "opened", 778 "edited", 779 "closed", 780 "reopened", 781 "synchronize", 782 "ready_for_review", 783 "locked", 784 "unlocked", 785 "review_requested", 786 "review_request_removed" 787 ] 788 }, 789 "default": [ 790 "opened", 791 "synchronize", 792 "reopened" 793 ] 794 } 795 }, 796 "patternProperties": { 797 "^(branche|tag|path)s(-ignore)?$": {} 798 }, 799 "additionalProperties": false 800 }, 801 "push": { 802 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#push-event-push", 803 "$ref": "#/definitions/ref", 804 "description": "Runs your workflow when someone pushes to a repository branch, which triggers the push event.\nNote: The webhook payload available to GitHub Actions does not include the added, removed, and modified attributes in the commit object. You can retrieve the full commit object using the REST API. For more information, see https://developer.github.com/v3/repos/commits/#get-a-single-commit.", 805 "patternProperties": { 806 "^(branche|tag|path)s(-ignore)?$": {} 807 }, 808 "additionalProperties": false 809 }, 810 "registry_package": { 811 "$comment": "https://help.github.com/en/actions/reference/events-that-trigger-workflows#registry-package-event-registry_package", 812 "$ref": "#/definitions/eventObject", 813 "description": "Runs your workflow anytime a package is published or updated. For more information, see https://help.github.com/en/github/managing-packages-with-github-packages.", 814 "properties": { 815 "types": { 816 "$ref": "#/definitions/types", 817 "items": { 818 "type": "string", 819 "enum": [ 820 "published", 821 "updated" 822 ] 823 }, 824 "default": [ 825 "published", 826 "updated" 827 ] 828 } 829 } 830 }, 831 "release": { 832 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#release-event-release", 833 "$ref": "#/definitions/eventObject", 834 "description": "Runs your workflow anytime the release event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/repos/releases/ in the GitHub Developer documentation.", 835 "properties": { 836 "types": { 837 "$ref": "#/definitions/types", 838 "items": { 839 "type": "string", 840 "enum": [ 841 "published", 842 "unpublished", 843 "created", 844 "edited", 845 "deleted", 846 "prereleased", 847 "released" 848 ] 849 }, 850 "default": [ 851 "published", 852 "unpublished", 853 "created", 854 "edited", 855 "deleted", 856 "prereleased", 857 "released" 858 ] 859 } 860 } 861 }, 862 "status": { 863 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#status-event-status", 864 "$ref": "#/definitions/eventObject", 865 "description": "Runs your workflow anytime the status of a Git commit changes, which triggers the status event. For information about the REST API, see https://developer.github.com/v3/repos/statuses/." 866 }, 867 "watch": { 868 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#watch-event-watch", 869 "$ref": "#/definitions/eventObject", 870 "description": "Runs your workflow anytime the watch event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/activity/starring/." 871 }, 872 "workflow_dispatch": { 873 "$comment": "https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/", 874 "description": "You can now create workflows that are manually triggered with the new workflow_dispatch event. You will then see a 'Run workflow' button on the Actions tab, enabling you to easily trigger a run.", 875 "properties": { 876 "inputs": { 877 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs", 878 "description": "Input parameters allow you to specify data that the action expects to use during runtime. GitHub stores input parameters as environment variables. Input ids with uppercase letters are converted to lowercase during runtime. We recommended using lowercase input ids.", 879 "type": "object", 880 "patternProperties": { 881 "^[_a-zA-Z][a-zA-Z0-9_-]*$": { 882 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_id", 883 "description": "A string identifier to associate with the input. The value of <input_id> is a map of the input's metadata. The <input_id> must be a unique identifier within the inputs object. The <input_id> must start with a letter or _ and contain only alphanumeric characters, -, or _.", 884 "type": "object", 885 "properties": { 886 "description": { 887 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_iddescription", 888 "description": "A string description of the input parameter.", 889 "type": "string" 890 }, 891 "deprecationMessage": { 892 "description": "A string shown to users using the deprecated input.", 893 "type": "string" 894 }, 895 "required": { 896 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_idrequired", 897 "description": "A boolean to indicate whether the action requires the input parameter. Set to true when the parameter is required.", 898 "type": "boolean" 899 }, 900 "default": { 901 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_iddefault", 902 "description": "A string representing the default value. The default value is used when an input parameter isn't specified in a workflow file.", 903 "type": "string" 904 } 905 }, 906 "required": [ 907 "description", 908 "required" 909 ], 910 "additionalProperties": false 911 } 912 }, 913 "additionalProperties": false 914 } 915 } 916 }, 917 "workflow_run": { 918 "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_run", 919 "$ref": "#/definitions/eventObject", 920 "description": "This event occurs when a workflow run is requested or completed, and allows you to execute a workflow based on the finished result of another workflow. For example, if your pull_request workflow generates build artifacts, you can create a new workflow that uses workflow_run to analyze the results and add a comment to the original pull request.", 921 "properties": { 922 "types": { 923 "$ref": "#/definitions/types", 924 "items": { 925 "type": "string", 926 "enum": [ 927 "requested", 928 "completed" 929 ] 930 }, 931 "default": [ 932 "requested", 933 "completed" 934 ] 935 }, 936 "workflows": { 937 "type": "array", 938 "items": { 939 "type": "string" 940 }, 941 "minItems": 1, 942 "additionalItems": false 943 } 944 }, 945 "patternProperties": { 946 "^branches(-ignore)?$": {} 947 } 948 }, 949 "repository_dispatch": { 950 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#external-events-repository_dispatch", 951 "$ref": "#/definitions/eventObject", 952 "description": "You can use the GitHub API to trigger a webhook event called repository_dispatch when you want to trigger a workflow for activity that happens outside of GitHub. For more information, see https://developer.github.com/v3/repos/#create-a-repository-dispatch-event.\nTo trigger the custom repository_dispatch webhook event, you must send a POST request to a GitHub API endpoint and provide an event_type name to describe the activity type. To trigger a workflow run, you must also configure your workflow to use the repository_dispatch event." 953 }, 954 "schedule": { 955 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#scheduled-events-schedule", 956 "description": "You can schedule a workflow to run at specific UTC times using POSIX cron syntax (https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07). Scheduled workflows run on the latest commit on the default or base branch. The shortest interval you can run scheduled workflows is once every 5 minutes.\nNote: GitHub Actions does not support the non-standard syntax @yearly, @monthly, @weekly, @daily, @hourly, and @reboot.\nYou can use crontab guru (https://crontab.guru/). to help generate your cron syntax and confirm what time it will run. To help you get started, there is also a list of crontab guru examples (https://crontab.guru/examples.html).", 957 "type": "array", 958 "items": { 959 "properties": { 960 "cron": { 961 "$comment": "https://stackoverflow.com/a/57639657/4044345", 962 "type": "string", 963 "pattern": "^(((\\d+,)+\\d+|((\\d+|\\*)\\/\\d+|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)|(\\d+-\\d+)|\\d+|\\*|MON|TUE|WED|THU|FRI|SAT|SUN) ?){5,7}$" 964 } 965 }, 966 "additionalProperties": false 967 }, 968 "minItems": 1, 969 "additionalItems": false 970 } 971 }, 972 "additionalProperties": false 973 } 974 ] 975 }, 976 "env": { 977 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env", 978 "$ref": "#/definitions/env", 979 "description": "A map of environment variables that are available to all jobs and steps in the workflow." 980 }, 981 "defaults": { 982 "$comment": "https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#defaults", 983 "$ref": "#/definitions/defaults", 984 "description": "A map of default settings that will apply to all jobs in the workflow." 985 }, 986 "jobs": { 987 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobs", 988 "description": "A workflow run is made up of one or more jobs. Jobs run in parallel by default. To run jobs sequentially, you can define dependencies on other jobs using the jobs.<job_id>.needs keyword.\nEach job runs in a fresh instance of the virtual environment specified by runs-on.\nYou can run an unlimited number of jobs as long as you are within the workflow usage limits. For more information, see https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#usage-limits.", 989 "type": "object", 990 "patternProperties": { 991 "^[_a-zA-Z][a-zA-Z0-9_-]*$": { 992 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_id", 993 "description": "Each job must have an id to associate with the job. The key job_id is a string and its value is a map of the job's configuration data. You must replace <job_id> with a string that is unique to the jobs object. The <job_id> must start with a letter or _ and contain only alphanumeric characters, -, or _.", 994 "type": "object", 995 "properties": { 996 "name": { 997 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idname", 998 "description": "The name of the job displayed on GitHub.", 999 "type": "string" 1000 }, 1001 "needs": { 1002 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idneeds", 1003 "description": "Identifies any jobs that must complete successfully before this job will run. It can be a string or array of strings. If a job fails, all jobs that need it are skipped unless the jobs use a conditional statement that causes the job to continue.", 1004 "oneOf": [ 1005 { 1006 "type": "array", 1007 "items": { 1008 "$ref": "#/definitions/name" 1009 }, 1010 "minItems": 1, 1011 "additionalItems": false 1012 }, 1013 { 1014 "$ref": "#/definitions/name" 1015 } 1016 ] 1017 }, 1018 "runs-on": { 1019 "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idruns-on", 1020 "description": "The type of machine to run the job on. The machine can be either a GitHub-hosted runner, or a self-hosted runner.", 1021 "oneOf": [ 1022 { 1023 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#github-hosted-runners", 1024 "type": "string", 1025 "enum": [ 1026 "macos-10.15", 1027 "macos-11.0", 1028 "macos-latest", 1029 "self-hosted", 1030 "ubuntu-16.04", 1031 "ubuntu-18.04", 1032 "ubuntu-20.04", 1033 "ubuntu-latest", 1034 "windows-2016", 1035 "windows-2019", 1036 "windows-latest" 1037 ] 1038 }, 1039 { 1040 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#self-hosted-runners", 1041 "type": "array", 1042 "anyOf": [ 1043 { 1044 "items": [ 1045 { 1046 "const": "self-hosted" 1047 } 1048 ] 1049 }, 1050 { 1051 "items": [ 1052 { 1053 "const": "self-hosted" 1054 }, 1055 { 1056 "$ref": "#/definitions/machine" 1057 } 1058 ] 1059 }, 1060 { 1061 "items": [ 1062 { 1063 "const": "self-hosted" 1064 }, 1065 { 1066 "$ref": "#/definitions/architecture" 1067 } 1068 ] 1069 }, 1070 { 1071 "items": [ 1072 { 1073 "const": "self-hosted" 1074 }, 1075 { 1076 "$ref": "#/definitions/machine" 1077 }, 1078 { 1079 "$ref": "#/definitions/architecture" 1080 } 1081 ] 1082 }, 1083 { 1084 "items": [ 1085 { 1086 "const": "self-hosted" 1087 }, 1088 { 1089 "$ref": "#/definitions/architecture" 1090 }, 1091 { 1092 "$ref": "#/definitions/machine" 1093 } 1094 ] 1095 } 1096 ], 1097 "additionalItems": { 1098 "type": "string" 1099 } 1100 }, 1101 { 1102 "$ref": "#/definitions/expressionSyntax" 1103 } 1104 ] 1105 }, 1106 "environment": { 1107 "$comment": "https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idenvironment", 1108 "description": "The environment that the job references.", 1109 "oneOf": [ 1110 { 1111 "type": "string" 1112 }, 1113 { 1114 "$ref": "#/definitions/environment" 1115 } 1116 ] 1117 }, 1118 "outputs": { 1119 "$comment": "https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjobs_idoutputs", 1120 "description": "A map of outputs for a job. Job outputs are available to all downstream jobs that depend on this job.", 1121 "type": "object", 1122 "additionalProperties": { 1123 "type": "string" 1124 }, 1125 "minProperties": 1 1126 }, 1127 "env": { 1128 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idenv", 1129 "$ref": "#/definitions/env", 1130 "description": "A map of environment variables that are available to all steps in the job." 1131 }, 1132 "defaults": { 1133 "$comment": "https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_iddefaults", 1134 "$ref": "#/definitions/defaults", 1135 "description": "A map of default settings that will apply to all steps in the job." 1136 }, 1137 "if": { 1138 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif", 1139 "description": "You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.\nExpressions in an if conditional do not require the ${{ }} syntax. For more information, see https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions.", 1140 "type": "string" 1141 }, 1142 "steps": { 1143 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps", 1144 "description": "A job contains a sequence of tasks called steps. Steps can run commands, run setup tasks, or run an action in your repository, a public repository, or an action published in a Docker registry. Not all steps run actions, but all actions run as a step. Each step runs in its own process in the virtual environment and has access to the workspace and filesystem. Because steps run in their own process, changes to environment variables are not preserved between steps. GitHub provides built-in steps to set up and complete a job.\n", 1145 "type": "array", 1146 "items": { 1147 "type": "object", 1148 "properties": { 1149 "id": { 1150 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid", 1151 "description": "A unique identifier for the step. You can use the id to reference the step in contexts. For more information, see https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions.", 1152 "type": "string" 1153 }, 1154 "if": { 1155 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsif", 1156 "description": "You can use the if conditional to prevent a step from running unless a condition is met. You can use any supported context and expression to create a conditional.\nExpressions in an if conditional do not require the ${{ }} syntax. For more information, see https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions.", 1157 "type": "string" 1158 }, 1159 "name": { 1160 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsname", 1161 "description": "A name for your step to display on GitHub.", 1162 "type": "string" 1163 }, 1164 "uses": { 1165 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsuses", 1166 "description": "Selects an action to run as part of a step in your job. An action is a reusable unit of code. You can use an action defined in the same repository as the workflow, a public repository, or in a published Docker container image (https://hub.docker.com/).\nWe strongly recommend that you include the version of the action you are using by specifying a Git ref, SHA, or Docker tag number. If you don't specify a version, it could break your workflows or cause unexpected behavior when the action owner publishes an update.\n- Using the commit SHA of a released action version is the safest for stability and security.\n- Using the specific major action version allows you to receive critical fixes and security patches while still maintaining compatibility. It also assures that your workflow should still work.\n- Using the master branch of an action may be convenient, but if someone releases a new major version with a breaking change, your workflow could break.\nSome actions require inputs that you must set using the with keyword. Review the action's README file to determine the inputs required.\nActions are either JavaScript files or Docker containers. If the action you're using is a Docker container you must run the job in a Linux virtual environment. For more details, see https://help.github.com/en/articles/virtual-environments-for-github-actions.", 1167 "type": "string" 1168 }, 1169 "run": { 1170 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsrun", 1171 "description": "Runs command-line programs using the operating system's shell. If you do not provide a name, the step name will default to the text specified in the run command.\nCommands run using non-login shells by default. You can choose a different shell and customize the shell used to run commands. For more information, see https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#using-a-specific-shell.\nEach run keyword represents a new process and shell in the virtual environment. When you provide multi-line commands, each line runs in the same shell.", 1172 "type": "string" 1173 }, 1174 "working-directory": { 1175 "$ref": "#/definitions/working-directory" 1176 }, 1177 "shell": { 1178 "$ref": "#/definitions/shell" 1179 }, 1180 "with": { 1181 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswith", 1182 "$ref": "#/definitions/env", 1183 "description": "A map of the input parameters defined by the action. Each input parameter is a key/value pair. Input parameters are set as environment variables. The variable is prefixed with INPUT_ and converted to upper case.", 1184 "properties": { 1185 "args": { 1186 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithargs", 1187 "type": "string" 1188 }, 1189 "entrypoint": { 1190 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithentrypoint", 1191 "type": "string" 1192 } 1193 } 1194 }, 1195 "env": { 1196 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsenv", 1197 "$ref": "#/definitions/env", 1198 "description": "Sets environment variables for steps to use in the virtual environment. You can also set environment variables for the entire workflow or a job." 1199 }, 1200 "continue-on-error": { 1201 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error", 1202 "description": "Prevents a job from failing when a step fails. Set to true to allow a job to pass when this step fails.", 1203 "oneOf": [ 1204 { 1205 "type": "boolean" 1206 }, 1207 { 1208 "$ref": "#/definitions/expressionSyntax" 1209 } 1210 ], 1211 "default": false 1212 }, 1213 "timeout-minutes": { 1214 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepstimeout-minutes", 1215 "description": "The maximum number of minutes to run the step before killing the process.", 1216 "type": "number" 1217 } 1218 }, 1219 "dependencies": { 1220 "working-directory": [ 1221 "run" 1222 ], 1223 "shell": [ 1224 "run" 1225 ] 1226 }, 1227 "additionalProperties": false 1228 }, 1229 "minItems": 1, 1230 "additionalItems": false 1231 }, 1232 "timeout-minutes": { 1233 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes", 1234 "description": "The maximum number of minutes to let a workflow run before GitHub automatically cancels it. Default: 360", 1235 "type": "number", 1236 "default": 360 1237 }, 1238 "strategy": { 1239 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategy", 1240 "description": "A strategy creates a build matrix for your jobs. You can define different variations of an environment to run each job in.", 1241 "type": "object", 1242 "properties": { 1243 "matrix": { 1244 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix", 1245 "description": "A build matrix is a set of different configurations of the virtual environment. For example you might run a job against more than one supported version of a language, operating system, or tool. Each configuration is a copy of the job that runs and reports a status.\nYou can specify a matrix by supplying an array for the configuration options. For example, if the GitHub virtual environment supports Node.js versions 6, 8, and 10 you could specify an array of those versions in the matrix.\nWhen you define a matrix of operating systems, you must set the required runs-on keyword to the operating system of the current job, rather than hard-coding the operating system name. To access the operating system name, you can use the matrix.os context parameter to set runs-on. For more information, see https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions.", 1246 "oneOf": [ 1247 { 1248 "type": "object" 1249 }, 1250 { 1251 "$ref": "#/definitions/expressionSyntax" 1252 } 1253 ], 1254 "patternProperties": { 1255 "^(in|ex)clude$": { 1256 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#example-including-configurations-in-a-matrix-build", 1257 "type": "array", 1258 "items": { 1259 "type": "object", 1260 "additionalProperties": { 1261 "$ref": "#/definitions/configuration" 1262 } 1263 }, 1264 "minItems": 1, 1265 "additionalItems": false 1266 } 1267 }, 1268 "additionalProperties": { 1269 "type": "array", 1270 "items": { 1271 "$ref": "#/definitions/configuration" 1272 }, 1273 "minItems": 1, 1274 "additionalItems": false 1275 }, 1276 "minProperties": 1 1277 }, 1278 "fail-fast": { 1279 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast", 1280 "description": "When set to true, GitHub cancels all in-progress jobs if any matrix job fails. Default: true", 1281 "type": "boolean", 1282 "default": true 1283 }, 1284 "max-parallel": { 1285 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymax-parallel", 1286 "description": "The maximum number of jobs that can run simultaneously when using a matrix job strategy. By default, GitHub will maximize the number of jobs run in parallel depending on the available runners on GitHub-hosted virtual machines.", 1287 "type": "number" 1288 } 1289 }, 1290 "required": [ 1291 "matrix" 1292 ], 1293 "additionalProperties": false 1294 }, 1295 "continue-on-error": { 1296 "$comment": "https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idcontinue-on-error", 1297 "description": "Prevents a workflow run from failing when a job fails. Set to true to allow a workflow run to pass when this job fails.", 1298 "oneOf": [ 1299 { 1300 "type": "boolean" 1301 }, 1302 { 1303 "$ref": "#/definitions/expressionSyntax" 1304 } 1305 ] 1306 }, 1307 "container": { 1308 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idcontainer", 1309 "description": "A container to run any steps in a job that don't already specify a container. If you have steps that use both script and container actions, the container actions will run as sibling containers on the same network with the same volume mounts.\nIf you do not set a container, all steps will run directly on the host specified by runs-on unless a step refers to an action configured to run in a container.", 1310 "oneOf": [ 1311 { 1312 "type": "string" 1313 }, 1314 { 1315 "$ref": "#/definitions/container" 1316 } 1317 ] 1318 }, 1319 "services": { 1320 "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idservices", 1321 "description": "Additional containers to host services for a job in a workflow. These are useful for creating databases or cache services like redis. The runner on the virtual machine will automatically create a network and manage the life cycle of the service containers.\nWhen you use a service container for a job or your step uses container actions, you don't need to set port information to access the service. Docker automatically exposes all ports between containers on the same network.\nWhen both the job and the action run in a container, you can directly reference the container by its hostname. The hostname is automatically mapped to the service name.\nWhen a step does not use a container action, you must access the service using localhost and bind the ports.", 1322 "type": "object", 1323 "additionalProperties": { 1324 "$ref": "#/definitions/container" 1325 } 1326 } 1327 }, 1328 "required": [ 1329 "runs-on" 1330 ], 1331 "additionalProperties": false 1332 } 1333 }, 1334 "minProperties": 1, 1335 "additionalProperties": false 1336 } 1337 }, 1338 "required": [ 1339 "on", 1340 "jobs" 1341 ], 1342 "additionalProperties": false 1343 } 1344 -- out.cue -- 1345 import "strings" 1346 1347 @jsonschema(schema="http://json-schema.org/draft-07/schema") 1348 null | bool | number | string | [...] | { 1349 // The name of your workflow. GitHub displays the names of your 1350 // workflows on your repository's actions page. If you omit this 1351 // field, GitHub sets the name to the workflow's filename. 1352 name?: string 1353 1354 // The name of the GitHub event that triggers the workflow. You 1355 // can provide a single event string, array of events, array of 1356 // event types, or an event configuration map that schedules a 1357 // workflow or restricts the execution of a workflow to specific 1358 // files, tags, or branch changes. For a list of available 1359 // events, see 1360 // https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows. 1361 on: #event | [...#event] & [_, ...] | { 1362 // Runs your workflow anytime the check_run event occurs. More 1363 // than one activity type triggers this event. For information 1364 // about the REST API, see 1365 // https://developer.github.com/v3/checks/runs. 1366 check_run?: #eventObject & { 1367 types?: #types & [..."created" | "rerequested" | "completed" | "requested_action"] | *["created", "rerequested", "completed", "requested_action"] 1368 ... 1369 } 1370 1371 // Runs your workflow anytime the check_suite event occurs. More 1372 // than one activity type triggers this event. For information 1373 // about the REST API, see 1374 // https://developer.github.com/v3/checks/suites/. 1375 check_suite?: #eventObject & { 1376 types?: #types & [..."completed" | "requested" | "rerequested"] | *["completed", "requested", "rerequested"] 1377 ... 1378 } 1379 1380 // Runs your workflow anytime someone creates a branch or tag, 1381 // which triggers the create event. For information about the 1382 // REST API, see 1383 // https://developer.github.com/v3/git/refs/#create-a-reference. 1384 create?: #eventObject 1385 1386 // Runs your workflow anytime someone deletes a branch or tag, 1387 // which triggers the delete event. For information about the 1388 // REST API, see 1389 // https://developer.github.com/v3/git/refs/#delete-a-reference. 1390 delete?: #eventObject 1391 1392 // Runs your workflow anytime someone creates a deployment, which 1393 // triggers the deployment event. Deployments created with a 1394 // commit SHA may not have a Git ref. For information about the 1395 // REST API, see 1396 // https://developer.github.com/v3/repos/deployments/. 1397 deployment?: #eventObject 1398 1399 // Runs your workflow anytime a third party provides a deployment 1400 // status, which triggers the deployment_status event. 1401 // Deployments created with a commit SHA may not have a Git ref. 1402 // For information about the REST API, see 1403 // https://developer.github.com/v3/repos/deployments/#create-a-deployment-status. 1404 deployment_status?: #eventObject 1405 1406 // Runs your workflow anytime when someone forks a repository, 1407 // which triggers the fork event. For information about the REST 1408 // API, see 1409 // https://developer.github.com/v3/repos/forks/#create-a-fork. 1410 fork?: #eventObject 1411 1412 // Runs your workflow when someone creates or updates a Wiki page, 1413 // which triggers the gollum event. 1414 gollum?: #eventObject 1415 1416 // Runs your workflow anytime the issue_comment event occurs. More 1417 // than one activity type triggers this event. For information 1418 // about the REST API, see 1419 // https://developer.github.com/v3/issues/comments/. 1420 issue_comment?: #eventObject & { 1421 types?: #types & [..."created" | "edited" | "deleted"] | *["created", "edited", "deleted"] 1422 ... 1423 } 1424 1425 // Runs your workflow anytime the issues event occurs. More than 1426 // one activity type triggers this event. For information about 1427 // the REST API, see https://developer.github.com/v3/issues. 1428 issues?: #eventObject & { 1429 types?: #types & [..."opened" | "edited" | "deleted" | "transferred" | "pinned" | "unpinned" | "closed" | "reopened" | "assigned" | "unassigned" | "labeled" | "unlabeled" | "locked" | "unlocked" | "milestoned" | "demilestoned"] | *["opened", "edited", "deleted", "transferred", "pinned", "unpinned", "closed", "reopened", "assigned", "unassigned", "labeled", "unlabeled", "locked", "unlocked", "milestoned", "demilestoned"] 1430 ... 1431 } 1432 1433 // Runs your workflow anytime the label event occurs. More than 1434 // one activity type triggers this event. For information about 1435 // the REST API, see 1436 // https://developer.github.com/v3/issues/labels/. 1437 label?: #eventObject & { 1438 types?: #types & [..."created" | "edited" | "deleted"] | *["created", "edited", "deleted"] 1439 ... 1440 } 1441 1442 // Runs your workflow anytime the member event occurs. More than 1443 // one activity type triggers this event. For information about 1444 // the REST API, see 1445 // https://developer.github.com/v3/repos/collaborators/. 1446 member?: #eventObject & { 1447 types?: #types & [..."added" | "edited" | "deleted"] | *["added", "edited", "deleted"] 1448 ... 1449 } 1450 1451 // Runs your workflow anytime the milestone event occurs. More 1452 // than one activity type triggers this event. For information 1453 // about the REST API, see 1454 // https://developer.github.com/v3/issues/milestones/. 1455 milestone?: #eventObject & { 1456 types?: #types & [..."created" | "closed" | "opened" | "edited" | "deleted"] | *["created", "closed", "opened", "edited", "deleted"] 1457 ... 1458 } 1459 1460 // Runs your workflow anytime someone pushes to a GitHub 1461 // Pages-enabled branch, which triggers the page_build event. For 1462 // information about the REST API, see 1463 // https://developer.github.com/v3/repos/pages/. 1464 page_build?: #eventObject 1465 1466 // Runs your workflow anytime the project event occurs. More than 1467 // one activity type triggers this event. For information about 1468 // the REST API, see https://developer.github.com/v3/projects/. 1469 project?: #eventObject & { 1470 types?: #types & [..."created" | "updated" | "closed" | "reopened" | "edited" | "deleted"] | *["created", "updated", "closed", "reopened", "edited", "deleted"] 1471 ... 1472 } 1473 1474 // Runs your workflow anytime the project_card event occurs. More 1475 // than one activity type triggers this event. For information 1476 // about the REST API, see 1477 // https://developer.github.com/v3/projects/cards. 1478 project_card?: #eventObject & { 1479 types?: #types & [..."created" | "moved" | "converted" | "edited" | "deleted"] | *["created", "moved", "converted", "edited", "deleted"] 1480 ... 1481 } 1482 1483 // Runs your workflow anytime the project_column event occurs. 1484 // More than one activity type triggers this event. For 1485 // information about the REST API, see 1486 // https://developer.github.com/v3/projects/columns. 1487 project_column?: #eventObject & { 1488 types?: #types & [..."created" | "updated" | "moved" | "deleted"] | *["created", "updated", "moved", "deleted"] 1489 ... 1490 } 1491 1492 // Runs your workflow anytime someone makes a private repository 1493 // public, which triggers the public event. For information about 1494 // the REST API, see https://developer.github.com/v3/repos/#edit. 1495 public?: #eventObject 1496 1497 // Runs your workflow anytime the pull_request event occurs. More 1498 // than one activity type triggers this event. For information 1499 // about the REST API, see https://developer.github.com/v3/pulls. 1500 // Note: Workflows do not run on private base repositories when 1501 // you open a pull request from a forked repository. 1502 // When you create a pull request from a forked repository to the 1503 // base repository, GitHub sends the pull_request event to the 1504 // base repository and no pull request events occur on the forked 1505 // repository. 1506 // Workflows don't run on forked repositories by default. You must 1507 // enable GitHub Actions in the Actions tab of the forked 1508 // repository. 1509 // The permissions for the GITHUB_TOKEN in forked repositories is 1510 // read-only. For more information about the GITHUB_TOKEN, see 1511 // https://help.github.com/en/articles/virtual-environments-for-github-actions. 1512 pull_request?: #ref & { 1513 types?: #types & [..."assigned" | "unassigned" | "labeled" | "unlabeled" | "opened" | "edited" | "closed" | "reopened" | "synchronize" | "ready_for_review" | "locked" | "unlocked" | "review_requested" | "review_request_removed"] | *["opened", "synchronize", "reopened"] 1514 1515 {[=~"^(branche|tag|path)s(-ignore)?$" & !~"^(types)$"]: _} 1516 } 1517 1518 // Runs your workflow anytime the pull_request_review event 1519 // occurs. More than one activity type triggers this event. For 1520 // information about the REST API, see 1521 // https://developer.github.com/v3/pulls/reviews. 1522 // Note: Workflows do not run on private base repositories when 1523 // you open a pull request from a forked repository. 1524 // When you create a pull request from a forked repository to the 1525 // base repository, GitHub sends the pull_request event to the 1526 // base repository and no pull request events occur on the forked 1527 // repository. 1528 // Workflows don't run on forked repositories by default. You must 1529 // enable GitHub Actions in the Actions tab of the forked 1530 // repository. 1531 // The permissions for the GITHUB_TOKEN in forked repositories is 1532 // read-only. For more information about the GITHUB_TOKEN, see 1533 // https://help.github.com/en/articles/virtual-environments-for-github-actions. 1534 pull_request_review?: #eventObject & { 1535 types?: #types & [..."submitted" | "edited" | "dismissed"] | *["submitted", "edited", "dismissed"] 1536 ... 1537 } 1538 1539 // Runs your workflow anytime a comment on a pull request's 1540 // unified diff is modified, which triggers the 1541 // pull_request_review_comment event. More than one activity type 1542 // triggers this event. For information about the REST API, see 1543 // https://developer.github.com/v3/pulls/comments. 1544 // Note: Workflows do not run on private base repositories when 1545 // you open a pull request from a forked repository. 1546 // When you create a pull request from a forked repository to the 1547 // base repository, GitHub sends the pull_request event to the 1548 // base repository and no pull request events occur on the forked 1549 // repository. 1550 // Workflows don't run on forked repositories by default. You must 1551 // enable GitHub Actions in the Actions tab of the forked 1552 // repository. 1553 // The permissions for the GITHUB_TOKEN in forked repositories is 1554 // read-only. For more information about the GITHUB_TOKEN, see 1555 // https://help.github.com/en/articles/virtual-environments-for-github-actions. 1556 pull_request_review_comment?: #eventObject & { 1557 types?: #types & [..."created" | "edited" | "deleted"] | *["created", "edited", "deleted"] 1558 ... 1559 } 1560 1561 // This event is similar to pull_request, except that it runs in 1562 // the context of the base repository of the pull request, rather 1563 // than in the merge commit. This means that you can more safely 1564 // make your secrets available to the workflows triggered by the 1565 // pull request, because only workflows defined in the commit on 1566 // the base repository are run. For example, this event allows 1567 // you to create workflows that label and comment on pull 1568 // requests, based on the contents of the event payload. 1569 pull_request_target?: #ref & { 1570 types?: #types & [..."assigned" | "unassigned" | "labeled" | "unlabeled" | "opened" | "edited" | "closed" | "reopened" | "synchronize" | "ready_for_review" | "locked" | "unlocked" | "review_requested" | "review_request_removed"] | *["opened", "synchronize", "reopened"] 1571 1572 {[=~"^(branche|tag|path)s(-ignore)?$" & !~"^(types)$"]: _} 1573 } 1574 1575 // Runs your workflow when someone pushes to a repository branch, 1576 // which triggers the push event. 1577 // Note: The webhook payload available to GitHub Actions does not 1578 // include the added, removed, and modified attributes in the 1579 // commit object. You can retrieve the full commit object using 1580 // the REST API. For more information, see 1581 // https://developer.github.com/v3/repos/commits/#get-a-single-commit. 1582 push?: #ref & { 1583 {[=~"^(branche|tag|path)s(-ignore)?$" & !~"^()$"]: _} 1584 } 1585 1586 // Runs your workflow anytime a package is published or updated. 1587 // For more information, see 1588 // https://help.github.com/en/github/managing-packages-with-github-packages. 1589 registry_package?: #eventObject & { 1590 types?: #types & [..."published" | "updated"] | *["published", "updated"] 1591 ... 1592 } 1593 1594 // Runs your workflow anytime the release event occurs. More than 1595 // one activity type triggers this event. For information about 1596 // the REST API, see 1597 // https://developer.github.com/v3/repos/releases/ in the GitHub 1598 // Developer documentation. 1599 release?: #eventObject & { 1600 types?: #types & [..."published" | "unpublished" | "created" | "edited" | "deleted" | "prereleased" | "released"] | *["published", "unpublished", "created", "edited", "deleted", "prereleased", "released"] 1601 ... 1602 } 1603 1604 // Runs your workflow anytime the status of a Git commit changes, 1605 // which triggers the status event. For information about the 1606 // REST API, see https://developer.github.com/v3/repos/statuses/. 1607 status?: #eventObject 1608 1609 // Runs your workflow anytime the watch event occurs. More than 1610 // one activity type triggers this event. For information about 1611 // the REST API, see 1612 // https://developer.github.com/v3/activity/starring/. 1613 watch?: #eventObject 1614 1615 // You can now create workflows that are manually triggered with 1616 // the new workflow_dispatch event. You will then see a 'Run 1617 // workflow' button on the Actions tab, enabling you to easily 1618 // trigger a run. 1619 workflow_dispatch?: null | bool | number | string | [...] | { 1620 // Input parameters allow you to specify data that the action 1621 // expects to use during runtime. GitHub stores input parameters 1622 // as environment variables. Input ids with uppercase letters are 1623 // converted to lowercase during runtime. We recommended using 1624 // lowercase input ids. 1625 inputs?: { 1626 {[=~"^[_a-zA-Z][a-zA-Z0-9_-]*$" & !~"^()$"]: { 1627 // A string description of the input parameter. 1628 description: string 1629 1630 // A string shown to users using the deprecated input. 1631 deprecationMessage?: string 1632 1633 // A boolean to indicate whether the action requires the input 1634 // parameter. Set to true when the parameter is required. 1635 required: bool 1636 1637 // A string representing the default value. The default value is 1638 // used when an input parameter isn't specified in a workflow 1639 // file. 1640 default?: string 1641 }} 1642 } 1643 ... 1644 } 1645 1646 // This event occurs when a workflow run is requested or 1647 // completed, and allows you to execute a workflow based on the 1648 // finished result of another workflow. For example, if your 1649 // pull_request workflow generates build artifacts, you can 1650 // create a new workflow that uses workflow_run to analyze the 1651 // results and add a comment to the original pull request. 1652 workflow_run?: #eventObject & { 1653 types?: #types & [..."requested" | "completed"] | *["requested", "completed"] 1654 workflows?: [...string] & [_, ...] 1655 1656 {[=~"^branches(-ignore)?$" & !~"^(types|workflows)$"]: _} 1657 ... 1658 } 1659 1660 // You can use the GitHub API to trigger a webhook event called 1661 // repository_dispatch when you want to trigger a workflow for 1662 // activity that happens outside of GitHub. For more information, 1663 // see 1664 // https://developer.github.com/v3/repos/#create-a-repository-dispatch-event. 1665 // To trigger the custom repository_dispatch webhook event, you 1666 // must send a POST request to a GitHub API endpoint and provide 1667 // an event_type name to describe the activity type. To trigger a 1668 // workflow run, you must also configure your workflow to use the 1669 // repository_dispatch event. 1670 repository_dispatch?: #eventObject 1671 1672 // You can schedule a workflow to run at specific UTC times using 1673 // POSIX cron syntax 1674 // (https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07). 1675 // Scheduled workflows run on the latest commit on the default or 1676 // base branch. The shortest interval you can run scheduled 1677 // workflows is once every 5 minutes. 1678 // Note: GitHub Actions does not support the non-standard syntax 1679 // @yearly, @monthly, @weekly, @daily, @hourly, and @reboot. 1680 // You can use crontab guru (https://crontab.guru/). to help 1681 // generate your cron syntax and confirm what time it will run. 1682 // To help you get started, there is also a list of crontab guru 1683 // examples (https://crontab.guru/examples.html). 1684 schedule?: [...null | bool | number | string | [...] | { 1685 cron?: =~"^(((\\d+,)+\\d+|((\\d+|\\*)\\/\\d+|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)|(\\d+-\\d+)|\\d+|\\*|MON|TUE|WED|THU|FRI|SAT|SUN) ?){5,7}$" 1686 }] & [_, ...] 1687 } 1688 1689 // A map of environment variables that are available to all jobs 1690 // and steps in the workflow. 1691 env?: #env 1692 1693 // A map of default settings that will apply to all jobs in the 1694 // workflow. 1695 defaults?: #defaults 1696 1697 // A workflow run is made up of one or more jobs. Jobs run in 1698 // parallel by default. To run jobs sequentially, you can define 1699 // dependencies on other jobs using the jobs.<job_id>.needs 1700 // keyword. 1701 // Each job runs in a fresh instance of the virtual environment 1702 // specified by runs-on. 1703 // You can run an unlimited number of jobs as long as you are 1704 // within the workflow usage limits. For more information, see 1705 // https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#usage-limits. 1706 jobs: { 1707 {[=~"^[_a-zA-Z][a-zA-Z0-9_-]*$" & !~"^()$"]: { 1708 // The name of the job displayed on GitHub. 1709 name?: string 1710 1711 // Identifies any jobs that must complete successfully before this 1712 // job will run. It can be a string or array of strings. If a job 1713 // fails, all jobs that need it are skipped unless the jobs use a 1714 // conditional statement that causes the job to continue. 1715 needs?: [...#name] & [_, ...] | #name 1716 1717 // The type of machine to run the job on. The machine can be 1718 // either a GitHub-hosted runner, or a self-hosted runner. 1719 "runs-on": "macos-10.15" | "macos-11.0" | "macos-latest" | "self-hosted" | "ubuntu-16.04" | "ubuntu-18.04" | "ubuntu-20.04" | "ubuntu-latest" | "windows-2016" | "windows-2019" | "windows-latest" | (["self-hosted"] | ["self-hosted", #machine] | ["self-hosted", #architecture] | ["self-hosted", #machine, #architecture] | ["self-hosted", #architecture, #machine]) & [...] | #expressionSyntax 1720 1721 // The environment that the job references. 1722 environment?: string | #environment 1723 1724 // A map of outputs for a job. Job outputs are available to all 1725 // downstream jobs that depend on this job. 1726 outputs?: { 1727 [string]: string 1728 } 1729 1730 // A map of environment variables that are available to all steps 1731 // in the job. 1732 env?: #env 1733 1734 // A map of default settings that will apply to all steps in the 1735 // job. 1736 defaults?: #defaults 1737 1738 // You can use the if conditional to prevent a job from running 1739 // unless a condition is met. You can use any supported context 1740 // and expression to create a conditional. 1741 // Expressions in an if conditional do not require the ${{ }} 1742 // syntax. For more information, see 1743 // https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions. 1744 if?: string 1745 1746 // A job contains a sequence of tasks called steps. Steps can run 1747 // commands, run setup tasks, or run an action in your 1748 // repository, a public repository, or an action published in a 1749 // Docker registry. Not all steps run actions, but all actions 1750 // run as a step. Each step runs in its own process in the 1751 // virtual environment and has access to the workspace and 1752 // filesystem. Because steps run in their own process, changes to 1753 // environment variables are not preserved between steps. GitHub 1754 // provides built-in steps to set up and complete a job. 1755 steps?: [...{ 1756 // A unique identifier for the step. You can use the id to 1757 // reference the step in contexts. For more information, see 1758 // https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions. 1759 id?: string 1760 1761 // You can use the if conditional to prevent a step from running 1762 // unless a condition is met. You can use any supported context 1763 // and expression to create a conditional. 1764 // Expressions in an if conditional do not require the ${{ }} 1765 // syntax. For more information, see 1766 // https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions. 1767 if?: string 1768 1769 // A name for your step to display on GitHub. 1770 name?: string 1771 1772 // Selects an action to run as part of a step in your job. An 1773 // action is a reusable unit of code. You can use an action 1774 // defined in the same repository as the workflow, a public 1775 // repository, or in a published Docker container image 1776 // (https://hub.docker.com/). 1777 // We strongly recommend that you include the version of the 1778 // action you are using by specifying a Git ref, SHA, or Docker 1779 // tag number. If you don't specify a version, it could break 1780 // your workflows or cause unexpected behavior when the action 1781 // owner publishes an update. 1782 // - Using the commit SHA of a released action version is the 1783 // safest for stability and security. 1784 // - Using the specific major action version allows you to receive 1785 // critical fixes and security patches while still maintaining 1786 // compatibility. It also assures that your workflow should still 1787 // work. 1788 // - Using the master branch of an action may be convenient, but 1789 // if someone releases a new major version with a breaking 1790 // change, your workflow could break. 1791 // Some actions require inputs that you must set using the with 1792 // keyword. Review the action's README file to determine the 1793 // inputs required. 1794 // Actions are either JavaScript files or Docker containers. If 1795 // the action you're using is a Docker container you must run the 1796 // job in a Linux virtual environment. For more details, see 1797 // https://help.github.com/en/articles/virtual-environments-for-github-actions. 1798 uses?: string 1799 1800 // Runs command-line programs using the operating system's shell. 1801 // If you do not provide a name, the step name will default to 1802 // the text specified in the run command. 1803 // Commands run using non-login shells by default. You can choose 1804 // a different shell and customize the shell used to run 1805 // commands. For more information, see 1806 // https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#using-a-specific-shell. 1807 // Each run keyword represents a new process and shell in the 1808 // virtual environment. When you provide multi-line commands, 1809 // each line runs in the same shell. 1810 run?: string, "working-directory"?: #["working-directory"], shell?: #shell 1811 1812 // A map of the input parameters defined by the action. Each input 1813 // parameter is a key/value pair. Input parameters are set as 1814 // environment variables. The variable is prefixed with INPUT_ 1815 // and converted to upper case. 1816 with?: #env & { 1817 args?: string, entrypoint?: string, ... 1818 } 1819 1820 // Sets environment variables for steps to use in the virtual 1821 // environment. You can also set environment variables for the 1822 // entire workflow or a job. 1823 env?: #env 1824 1825 // Prevents a job from failing when a step fails. Set to true to 1826 // allow a job to pass when this step fails. 1827 "continue-on-error"?: bool | #expressionSyntax | *false 1828 1829 // The maximum number of minutes to run the step before killing 1830 // the process. 1831 "timeout-minutes"?: number 1832 }] & [_, ...] 1833 1834 // The maximum number of minutes to let a workflow run before 1835 // GitHub automatically cancels it. Default: 360 1836 "timeout-minutes"?: number | *360 1837 1838 // A strategy creates a build matrix for your jobs. You can define 1839 // different variations of an environment to run each job in. 1840 strategy?: { 1841 // A build matrix is a set of different configurations of the 1842 // virtual environment. For example you might run a job against 1843 // more than one supported version of a language, operating 1844 // system, or tool. Each configuration is a copy of the job that 1845 // runs and reports a status. 1846 // You can specify a matrix by supplying an array for the 1847 // configuration options. For example, if the GitHub virtual 1848 // environment supports Node.js versions 6, 8, and 10 you could 1849 // specify an array of those versions in the matrix. 1850 // When you define a matrix of operating systems, you must set the 1851 // required runs-on keyword to the operating system of the 1852 // current job, rather than hard-coding the operating system 1853 // name. To access the operating system name, you can use the 1854 // matrix.os context parameter to set runs-on. For more 1855 // information, see 1856 // https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions. 1857 matrix: ({ 1858 ... 1859 } | #expressionSyntax) & { 1860 {[=~"^(in|ex)clude$" & !~"^()$"]: [...{ 1861 [string]: #configuration 1862 }] & [_, ...]} 1863 {[!~"^(in|ex)clude$" & !~"^()$"]: [...#configuration] & [_, ...]} 1864 } 1865 1866 // When set to true, GitHub cancels all in-progress jobs if any 1867 // matrix job fails. Default: true 1868 "fail-fast"?: bool | *true 1869 1870 // The maximum number of jobs that can run simultaneously when 1871 // using a matrix job strategy. By default, GitHub will maximize 1872 // the number of jobs run in parallel depending on the available 1873 // runners on GitHub-hosted virtual machines. 1874 "max-parallel"?: number 1875 } 1876 1877 // Prevents a workflow run from failing when a job fails. Set to 1878 // true to allow a workflow run to pass when this job fails. 1879 "continue-on-error"?: bool | #expressionSyntax 1880 1881 // A container to run any steps in a job that don't already 1882 // specify a container. If you have steps that use both script 1883 // and container actions, the container actions will run as 1884 // sibling containers on the same network with the same volume 1885 // mounts. 1886 // If you do not set a container, all steps will run directly on 1887 // the host specified by runs-on unless a step refers to an 1888 // action configured to run in a container. 1889 container?: string | #container 1890 1891 // Additional containers to host services for a job in a workflow. 1892 // These are useful for creating databases or cache services like 1893 // redis. The runner on the virtual machine will automatically 1894 // create a network and manage the life cycle of the service 1895 // containers. 1896 // When you use a service container for a job or your step uses 1897 // container actions, you don't need to set port information to 1898 // access the service. Docker automatically exposes all ports 1899 // between containers on the same network. 1900 // When both the job and the action run in a container, you can 1901 // directly reference the container by its hostname. The hostname 1902 // is automatically mapped to the service name. 1903 // When a step does not use a container action, you must access 1904 // the service using localhost and bind the ports. 1905 services?: { 1906 [string]: #container 1907 } 1908 }} 1909 } 1910 } 1911 1912 #architecture: "ARM32" | "x64" | "x86" 1913 1914 #branch: #globs 1915 1916 #configuration: string | number | bool | { 1917 [string]: #configuration 1918 } | [...#configuration] 1919 1920 #container: { 1921 // The Docker image to use as the container to run the action. The 1922 // value can be the Docker Hub image name or a registry name. 1923 image: string 1924 1925 // If the image's container registry requires authentication to 1926 // pull the image, you can use credentials to set a map of the 1927 // username and password. The credentials are the same values 1928 // that you would provide to the `docker login` command. 1929 credentials?: { 1930 username?: string 1931 password?: string 1932 ... 1933 } 1934 1935 // Sets an array of environment variables in the container. 1936 env?: #env 1937 1938 // Sets an array of ports to expose on the container. 1939 ports?: [...number | string] & [_, ...] 1940 1941 // Sets an array of volumes for the container to use. You can use 1942 // volumes to share data between services or other steps in a 1943 // job. You can specify named Docker volumes, anonymous Docker 1944 // volumes, or bind mounts on the host. 1945 // To specify a volume, you specify the source and destination 1946 // path: <source>:<destinationPath> 1947 // The <source> is a volume name or an absolute path on the host 1948 // machine, and <destinationPath> is an absolute path in the 1949 // container. 1950 volumes?: [...=~"^[^:]+:[^:]+$"] & [_, ...] 1951 1952 // Additional Docker container resource options. For a list of 1953 // options, see 1954 // https://docs.docker.com/engine/reference/commandline/create/#options. 1955 options?: string 1956 } 1957 1958 #defaults: run?: { 1959 shell?: #shell 1960 "working-directory"?: #["working-directory"] 1961 } 1962 1963 #env: [string]: bool | number | string 1964 1965 #environment: { 1966 // The name of the environment configured in the repo. 1967 name: string 1968 1969 // A deployment URL 1970 url?: string 1971 } 1972 1973 #event: "check_run" | "check_suite" | "create" | "delete" | "deployment" | "deployment_status" | "fork" | "gollum" | "issue_comment" | "issues" | "label" | "member" | "milestone" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_target" | "push" | "registry_package" | "release" | "status" | "watch" | "workflow_dispatch" | "workflow_run" | "repository_dispatch" 1974 1975 #eventObject: null | { 1976 ... 1977 } 1978 1979 #expressionSyntax: =~"^\\$\\{\\{.*\\}\\}$" 1980 1981 #globs: [...strings.MinRunes(1)] & [_, ...] 1982 1983 #machine: "linux" | "macos" | "windows" 1984 1985 #name: =~"^[_a-zA-Z][a-zA-Z0-9_-]*$" 1986 1987 #path: #globs 1988 1989 #ref: null | { 1990 branches?: #branch 1991 "branches-ignore"?: #branch 1992 tags?: #branch 1993 "tags-ignore"?: #branch 1994 paths?: #path 1995 "paths-ignore"?: #path 1996 ... 1997 } 1998 1999 #shell: (string | ("bash" | "pwsh" | "python" | "sh" | "cmd" | "powershell")) & string 2000 2001 #types: [_, ...] 2002 2003 #: "working-directory": string