From d385e5571f34b59206f9616d5245c066894c932b Mon Sep 17 00:00:00 2001 From: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> Date: Sat, 29 Aug 2026 19:54:38 -0400 Subject: [PATCH 1/8] Migrated if-then-else Signed-off-by: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> --- src/schemas/json/github-action.json | 43 ++++++++++++----------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/src/schemas/json/github-action.json b/src/schemas/json/github-action.json index e2acfbd8c15..82f78bb711f 100644 --- a/src/schemas/json/github-action.json +++ b/src/schemas/json/github-action.json @@ -305,23 +305,16 @@ "additionalProperties": false } }, - "additionalProperties": false - } - }, - "else": { - "properties": { - "outputs": { - "$ref": "#/definitions/outputs" - } - } - }, - "if": { - "properties": { - "runs": { - "properties": { - "using": { - "const": "composite" - } + "additionalProperties": false, + "dependencies": { + "runs": { + "type": "object", + "properties": { + "using": { + "const": "composite" + } + }, + "required": ["using"] } } } @@ -379,7 +372,14 @@ "additionalProperties": false }, "outputs": { - "$comment": "Because of `additionalProperties: false`, this empty schema is needed to allow the `outputs` property. The `outputs` subschema is determined by the if/then/else keywords." + "oneOf": [ + { + "$ref": "#/definitions/outputs-composite" + }, + { + "$ref": "#/definitions/outputs" + } + ] }, "runs": { "oneOf": [ @@ -684,12 +684,5 @@ } }, "required": ["name", "description", "runs"], - "then": { - "properties": { - "outputs": { - "$ref": "#/definitions/outputs-composite" - } - } - }, "type": "object" } From 536f5732c9451f93985cd77d9d8ec482a9c9295e Mon Sep 17 00:00:00 2001 From: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> Date: Sat, 29 Aug 2026 20:13:35 -0400 Subject: [PATCH 2/8] Migrated oneOf-required Signed-off-by: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> --- src/schema-validation.jsonc | 1 - src/schemas/json/github-action.json | 41 ++++++++++++++++++++++++++--- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index 377b564d3c9..3f7d1c78a65 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -114,7 +114,6 @@ "foundryvtt-world-manifest.json", "gaspar-1.0.json", "gaspar-3.0.json", - "github-action.json", "github-funding.json", "github-workflow.json", "helmfile.json", diff --git a/src/schemas/json/github-action.json b/src/schemas/json/github-action.json index 82f78bb711f..fe8fc78c048 100644 --- a/src/schemas/json/github-action.json +++ b/src/schemas/json/github-action.json @@ -172,10 +172,32 @@ }, "oneOf": [ { - "required": ["run", "shell"] + "anyOf": [ + { + "not": { + "properties": { + "run": true + }, + "required": ["run"] + } + }, + { + "not": { + "properties": { + "shell": true + }, + "required": ["shell"] + } + } + ] }, { - "required": ["uses"] + "not": { + "properties": { + "uses": true + }, + "required": ["uses"] + } } ], "additionalProperties": false @@ -278,7 +300,20 @@ "additionalProperties": false } }, - "additionalProperties": false + "additionalProperties": false, + "dependencies": { + "runs": { + "type": "object", + "properties": { + "using": { + "not": { + "const": "composite" + } + } + }, + "required": ["using"] + } + } }, "outputs-composite": { "$comment": "https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#outputs-for-composite-actions", From 6e8de1d7bc7fbb19d0639067b5fcc7932a965ec2 Mon Sep 17 00:00:00 2001 From: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> Date: Sat, 29 Aug 2026 20:26:13 -0400 Subject: [PATCH 3/8] Migrated github-funding.json Signed-off-by: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> --- src/schema-validation.jsonc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index 3f7d1c78a65..cff4bd72fb4 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -114,7 +114,6 @@ "foundryvtt-world-manifest.json", "gaspar-1.0.json", "gaspar-3.0.json", - "github-funding.json", "github-workflow.json", "helmfile.json", "hemtt-0.6.2.json", From 01ac75d9aeea7c63f65930c54ceabe36cecdd14e Mon Sep 17 00:00:00 2001 From: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> Date: Sat, 29 Aug 2026 20:48:59 -0400 Subject: [PATCH 4/8] The easy part Signed-off-by: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> --- src/schemas/json/github-workflow.json | 395 +++++++++++++------------- 1 file changed, 193 insertions(+), 202 deletions(-) diff --git a/src/schemas/json/github-workflow.json b/src/schemas/json/github-workflow.json index c5abb097f1d..e1d0cbfba44 100644 --- a/src/schemas/json/github-workflow.json +++ b/src/schemas/json/github-workflow.json @@ -398,13 +398,13 @@ "eventObject": { "oneOf": [ { - "type": "object" + "type": "object", + "additionalProperties": true }, { "type": "null" } - ], - "additionalProperties": true + ] }, "expressionSyntax": { "$comment": "escape `{` and `}` in pattern to be unicode compatible (#1360)", @@ -488,21 +488,27 @@ }, "oneOf": [ { + "type": "object", "required": ["uses"] }, { + "type": "object", "required": ["run"] }, { + "type": "object", "required": ["wait"] }, { + "type": "object", "required": ["wait-all"] }, { + "type": "object", "required": ["cancel"] }, { + "type": "object", "required": ["parallel"] } ], @@ -515,7 +521,17 @@ "if": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsif", "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.", - "type": ["boolean", "number", "string"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] }, "name": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsname", @@ -541,6 +557,7 @@ "with": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswith", "$ref": "#/definitions/env", + "type": "object", "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.", "properties": { "args": { @@ -607,7 +624,14 @@ "wait-all": { "$comment": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswait-all", "description": "Pauses the job until all active background steps complete. The wait-all keyword takes no arguments.", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "cancel": { "$comment": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepscancel", @@ -725,7 +749,17 @@ "if": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif", "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.", - "type": ["boolean", "number", "string"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] }, "uses": { "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_iduses", @@ -762,13 +796,27 @@ "fail-fast": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast", "description": "When set to true, GitHub cancels all in-progress jobs if any matrix job fails. Default: true", - "type": ["boolean", "string"], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], "default": true }, "max-parallel": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymax-parallel", "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.", - "type": ["number", "string"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] } }, "required": ["matrix"], @@ -898,7 +946,17 @@ "if": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif", "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.", - "type": ["boolean", "number", "string"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] }, "steps": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps", @@ -933,13 +991,27 @@ "fail-fast": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast", "description": "When set to true, GitHub cancels all in-progress jobs if any matrix job fails. Default: true", - "type": ["boolean", "string"], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], "default": true }, "max-parallel": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymax-parallel", "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.", - "type": ["number", "string"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] } }, "required": ["matrix"], @@ -1035,6 +1107,7 @@ "allOf": [ { "if": { + "type": "object", "properties": { "type": { "const": "string" @@ -1043,6 +1116,7 @@ "required": ["type"] }, "then": { + "type": "object", "properties": { "default": { "type": "string" @@ -1052,6 +1126,7 @@ }, { "if": { + "type": "object", "properties": { "type": { "const": "boolean" @@ -1060,6 +1135,7 @@ "required": ["type"] }, "then": { + "type": "object", "properties": { "default": { "type": "boolean" @@ -1069,6 +1145,7 @@ }, { "if": { + "type": "object", "properties": { "type": { "const": "number" @@ -1077,6 +1154,7 @@ "required": ["type"] }, "then": { + "type": "object", "properties": { "default": { "type": "number" @@ -1086,6 +1164,7 @@ }, { "if": { + "type": "object", "properties": { "type": { "const": "environment" @@ -1094,6 +1173,7 @@ "required": ["type"] }, "then": { + "type": "object", "properties": { "default": { "type": "string" @@ -1103,6 +1183,7 @@ }, { "if": { + "type": "object", "properties": { "type": { "const": "choice" @@ -1111,6 +1192,7 @@ "required": ["type"] }, "then": { + "type": "object", "required": ["options"] } } @@ -1143,19 +1225,13 @@ "properties": { "branch_protection_rule": { "$comment": "https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows#branch_protection_rule", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "description": "Runs your workflow anytime the branch_protection_rule event occurs. More than one activity type triggers this event.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["created", "edited", "deleted"] @@ -1166,19 +1242,13 @@ }, "check_run": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#check-run-event-check_run", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1199,19 +1269,13 @@ }, "check_suite": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#check-suite-event-check_suite", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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/.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["completed", "requested", "rerequested"] @@ -1258,19 +1322,13 @@ }, "discussion": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#discussion", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "description": "Runs your workflow anytime the discussion event occurs. More than one activity type triggers this event. For information about the GraphQL API, see https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1309,19 +1367,13 @@ }, "discussion_comment": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#discussion_comment", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "description": "Runs your workflow anytime the discussion_comment event occurs. More than one activity type triggers this event. For information about the GraphQL API, see https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["created", "edited", "deleted"] @@ -1350,19 +1402,13 @@ }, "issue_comment": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#issue-comment-event-issue_comment", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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/.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["created", "edited", "deleted"] @@ -1373,19 +1419,13 @@ }, "issues": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#issues-event-issues", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1438,19 +1478,13 @@ }, "label": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#label-event-label", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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/.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["created", "edited", "deleted"] @@ -1461,19 +1495,13 @@ }, "merge_group": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#merge_group", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "description": "Runs your workflow when a pull request is added to a merge queue, which adds the pull request to a merge group. For information about the merge queue, see https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue .", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["checks_requested"] @@ -1484,19 +1512,13 @@ }, "milestone": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#milestone-event-milestone", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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/.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["created", "closed", "opened", "edited", "deleted"] @@ -1522,19 +1544,13 @@ }, "project": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-event-project", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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/.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1559,19 +1575,13 @@ }, "project_card": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-card-event-project_card", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1594,19 +1604,13 @@ }, "project_column": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-column-event-project_column", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["created", "updated", "moved", "deleted"] @@ -1637,11 +1641,8 @@ "type": "object", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1693,16 +1694,19 @@ }, { "not": { + "type": "object", "required": ["branches", "branches-ignore"] } }, { "not": { + "type": "object", "required": ["tags", "tags-ignore"] } }, { "not": { + "type": "object", "required": ["paths", "paths-ignore"] } } @@ -1712,19 +1716,13 @@ }, "pull_request_review": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#pull-request-review-event-pull_request_review", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["submitted", "edited", "dismissed"] @@ -1735,19 +1733,13 @@ }, "pull_request_review_comment": { "$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", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["created", "edited", "deleted"] @@ -1769,11 +1761,8 @@ "type": "object", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1821,16 +1810,19 @@ }, { "not": { + "type": "object", "required": ["branches", "branches-ignore"] } }, { "not": { + "type": "object", "required": ["tags", "tags-ignore"] } }, { "not": { + "type": "object", "required": ["paths", "paths-ignore"] } } @@ -1873,16 +1865,19 @@ }, { "not": { + "type": "object", "required": ["branches", "branches-ignore"] } }, { "not": { + "type": "object", "required": ["tags", "tags-ignore"] } }, { "not": { + "type": "object", "required": ["paths", "paths-ignore"] } } @@ -1892,19 +1887,13 @@ }, "registry_package": { "$comment": "https://help.github.com/en/actions/reference/events-that-trigger-workflows#registry-package-event-registry_package", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["published", "updated"] @@ -1915,19 +1904,13 @@ }, "release": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#release-event-release", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1972,6 +1955,7 @@ }, "workflow_call": { "$comment": "https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows#workflow_call", + "type": "object", "description": "Allows workflows to be reused by other workflows.", "properties": { "inputs": { @@ -2003,7 +1987,17 @@ "default": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_iddefault", "description": "The default value is used when an input parameter isn't specified in a workflow file.", - "type": ["boolean", "number", "string"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] } }, "required": ["type"], @@ -2041,10 +2035,12 @@ }, "secrets": { "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callsecrets", + "type": "object", "description": "A map of the secrets that can be used in the called workflow. Within the called workflow, you can use the secrets context to refer to a secret.", "patternProperties": { "^[_a-zA-Z][a-zA-Z0-9_-]*$": { "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callsecretssecret_id", + "type": "object", "description": "A string identifier to associate with the secret.", "properties": { "description": { @@ -2066,6 +2062,7 @@ }, "workflow_dispatch": { "$comment": "https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/", + "type": "object", "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.", "properties": { "inputs": { @@ -2084,19 +2081,13 @@ }, "workflow_run": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_run", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", + "type": "object", "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.", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": ["requested", "completed", "in_progress"] From 08ae80227c153e4531abe18813abf997c5c370c8 Mon Sep 17 00:00:00 2001 From: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> Date: Sat, 29 Aug 2026 21:26:13 -0400 Subject: [PATCH 5/8] The hard part Signed-off-by: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> --- src/schemas/json/github-workflow.json | 142 +++++++++++--------------- 1 file changed, 62 insertions(+), 80 deletions(-) diff --git a/src/schemas/json/github-workflow.json b/src/schemas/json/github-workflow.json index e1d0cbfba44..1fd2c3234b6 100644 --- a/src/schemas/json/github-workflow.json +++ b/src/schemas/json/github-workflow.json @@ -489,26 +489,44 @@ "oneOf": [ { "type": "object", + "properties": { + "uses": true + }, "required": ["uses"] }, { "type": "object", + "properties": { + "run": true + }, "required": ["run"] }, { "type": "object", + "properties": { + "wait": true + }, "required": ["wait"] }, { "type": "object", + "properties": { + "wait-all": true + }, "required": ["wait-all"] }, { "type": "object", + "properties": { + "cancel": true + }, "required": ["cancel"] }, { "type": "object", + "properties": { + "parallel": true + }, "required": ["parallel"] } ], @@ -870,15 +888,10 @@ "type": "array", "anyOf": [ { - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "additionalItems": { + "items": { "type": "string" - } + }, + "minItems": 1 } ] }, @@ -1104,97 +1117,66 @@ "minItems": 1 } }, - "allOf": [ + "oneOf": [ { - "if": { - "type": "object", - "properties": { - "type": { - "const": "string" - } + "type": "object", + "properties": { + "type": { + "const": "string" }, - "required": ["type"] - }, - "then": { - "type": "object", - "properties": { - "default": { - "type": "string" - } + "default": { + "type": "string" } - } + }, + "required": ["type"] }, { - "if": { - "type": "object", - "properties": { - "type": { - "const": "boolean" - } + "type": "object", + "properties": { + "type": { + "const": "boolean" }, - "required": ["type"] - }, - "then": { - "type": "object", - "properties": { - "default": { - "type": "boolean" - } + "default": { + "type": "boolean" } - } + }, + "required": ["type"] }, { - "if": { - "type": "object", - "properties": { - "type": { - "const": "number" - } + "type": "object", + "properties": { + "type": { + "const": "number" }, - "required": ["type"] - }, - "then": { - "type": "object", - "properties": { - "default": { - "type": "number" - } + "default": { + "type": "number" } - } + }, + "required": ["type"] }, { - "if": { - "type": "object", - "properties": { - "type": { - "const": "environment" - } + "type": "object", + "properties": { + "type": { + "const": "environment" }, - "required": ["type"] - }, - "then": { - "type": "object", - "properties": { - "default": { - "type": "string" - } + "default": { + "type": "string" } - } + }, + "required": ["type"] }, { - "if": { - "type": "object", - "properties": { - "type": { - "const": "choice" - } + "type": "object", + "properties": { + "type": { + "const": "choice" }, - "required": ["type"] + "options": { + "$ref": "#/definitions/workflowDispatchInput/properties/options" + } }, - "then": { - "type": "object", - "required": ["options"] - } + "required": ["type", "options"] } ], "additionalProperties": false From 52fe2865e7022494fc49c867cf6285cde60a70fa Mon Sep 17 00:00:00 2001 From: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> Date: Sat, 29 Aug 2026 21:27:16 -0400 Subject: [PATCH 6/8] More cleanup Signed-off-by: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> --- src/schemas/json/github-workflow.json | 66 +++++---------------------- 1 file changed, 11 insertions(+), 55 deletions(-) diff --git a/src/schemas/json/github-workflow.json b/src/schemas/json/github-workflow.json index 1fd2c3234b6..e3f7ca4c34c 100644 --- a/src/schemas/json/github-workflow.json +++ b/src/schemas/json/github-workflow.json @@ -1268,38 +1268,22 @@ }, "create": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#create-event-create", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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." }, "delete": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#delete-event-delete", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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." }, "deployment": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#deployment-event-deployment", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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/." }, "deployment_status": { "$comment": "https://docs.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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." }, "discussion": { @@ -1366,20 +1350,12 @@ }, "fork": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#fork-event-fork", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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." }, "gollum": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#gollum-event-gollum", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow when someone creates or updates a Wiki page, which triggers the gollum event." }, "issue_comment": { @@ -1517,11 +1493,7 @@ }, "page_build": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#page-build-event-page_build", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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/." }, "project": { @@ -1603,11 +1575,7 @@ }, "public": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#public-event-public", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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." }, "pull_request": { @@ -1919,20 +1887,12 @@ }, "status": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#status-event-status", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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/." }, "watch": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#watch-event-watch", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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/." }, "workflow_call": { @@ -2090,11 +2050,7 @@ }, "repository_dispatch": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#external-events-repository_dispatch", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "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." }, "schedule": { From f654fc5293c6e76b4a282e50d1ff3a0b55763807 Mon Sep 17 00:00:00 2001 From: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> Date: Sat, 29 Aug 2026 21:52:58 -0400 Subject: [PATCH 7/8] Made objects nullable again Signed-off-by: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> --- src/schemas/json/github-workflow.json | 828 +++++++++++++++----------- 1 file changed, 484 insertions(+), 344 deletions(-) diff --git a/src/schemas/json/github-workflow.json b/src/schemas/json/github-workflow.json index e3f7ca4c34c..faadc54069f 100644 --- a/src/schemas/json/github-workflow.json +++ b/src/schemas/json/github-workflow.json @@ -1208,63 +1208,84 @@ "branch_protection_rule": { "$comment": "https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows#branch_protection_rule", "$ref": "#/definitions/eventObject", - "type": "object", "description": "Runs your workflow anytime the branch_protection_rule event occurs. More than one activity type triggers this event.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] + } + } } - } + ] }, "check_run": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#check-run-event-check_run", "$ref": "#/definitions/eventObject", - "type": "object", "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.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": [ - "created", - "rerequested", - "completed", - "requested_action" - ] - }, - "default": [ - "created", - "rerequested", - "completed", - "requested_action" - ] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "rerequested", + "completed", + "requested_action" + ] + }, + "default": [ + "created", + "rerequested", + "completed", + "requested_action" + ] + } + } } - } + ] }, "check_suite": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#check-suite-event-check_suite", "$ref": "#/definitions/eventObject", - "type": "object", "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/.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["completed", "requested", "rerequested"] - }, - "default": ["completed", "requested", "rerequested"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["completed", "requested", "rerequested"] + }, + "default": ["completed", "requested", "rerequested"] + } + } } - } + ] }, "create": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#create-event-create", @@ -1289,64 +1310,78 @@ "discussion": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#discussion", "$ref": "#/definitions/eventObject", - "type": "object", "description": "Runs your workflow anytime the discussion event occurs. More than one activity type triggers this event. For information about the GraphQL API, see https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": [ - "created", - "edited", - "deleted", - "transferred", - "pinned", - "unpinned", - "labeled", - "unlabeled", - "locked", - "unlocked", - "category_changed", - "answered", - "unanswered" - ] - }, - "default": [ - "created", - "edited", - "deleted", - "transferred", - "pinned", - "unpinned", - "labeled", - "unlabeled", - "locked", - "unlocked", - "category_changed", - "answered", - "unanswered" - ] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "edited", + "deleted", + "transferred", + "pinned", + "unpinned", + "labeled", + "unlabeled", + "locked", + "unlocked", + "category_changed", + "answered", + "unanswered" + ] + }, + "default": [ + "created", + "edited", + "deleted", + "transferred", + "pinned", + "unpinned", + "labeled", + "unlabeled", + "locked", + "unlocked", + "category_changed", + "answered", + "unanswered" + ] + } + } } - } + ] }, "discussion_comment": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#discussion_comment", "$ref": "#/definitions/eventObject", - "type": "object", "description": "Runs your workflow anytime the discussion_comment event occurs. More than one activity type triggers this event. For information about the GraphQL API, see https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] + } + } } - } + ] }, "fork": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#fork-event-fork", @@ -1361,135 +1396,176 @@ "issue_comment": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#issue-comment-event-issue_comment", "$ref": "#/definitions/eventObject", - "type": "object", "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/.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] + } + } } - } + ] }, "issues": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#issues-event-issues", "$ref": "#/definitions/eventObject", - "type": "object", "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.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": [ - "opened", - "edited", - "deleted", - "transferred", - "pinned", - "unpinned", - "closed", - "reopened", - "assigned", - "unassigned", - "labeled", - "unlabeled", - "locked", - "unlocked", - "milestoned", - "demilestoned", - "typed", - "untyped", - "field_added", - "field_removed" - ] - }, - "default": [ - "opened", - "edited", - "deleted", - "transferred", - "pinned", - "unpinned", - "closed", - "reopened", - "assigned", - "unassigned", - "labeled", - "unlabeled", - "locked", - "unlocked", - "milestoned", - "demilestoned", - "typed", - "untyped", - "field_added", - "field_removed" - ] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "opened", + "edited", + "deleted", + "transferred", + "pinned", + "unpinned", + "closed", + "reopened", + "assigned", + "unassigned", + "labeled", + "unlabeled", + "locked", + "unlocked", + "milestoned", + "demilestoned", + "typed", + "untyped", + "field_added", + "field_removed" + ] + }, + "default": [ + "opened", + "edited", + "deleted", + "transferred", + "pinned", + "unpinned", + "closed", + "reopened", + "assigned", + "unassigned", + "labeled", + "unlabeled", + "locked", + "unlocked", + "milestoned", + "demilestoned", + "typed", + "untyped", + "field_added", + "field_removed" + ] + } + } } - } + ] }, "label": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#label-event-label", "$ref": "#/definitions/eventObject", - "type": "object", "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/.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] + } + } } - } + ] }, "merge_group": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#merge_group", "$ref": "#/definitions/eventObject", - "type": "object", "description": "Runs your workflow when a pull request is added to a merge queue, which adds the pull request to a merge group. For information about the merge queue, see https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue .", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["checks_requested"] - }, - "default": ["checks_requested"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["checks_requested"] + }, + "default": ["checks_requested"] + } + } } - } + ] }, "milestone": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#milestone-event-milestone", "$ref": "#/definitions/eventObject", - "type": "object", "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/.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["created", "closed", "opened", "edited", "deleted"] - }, - "default": [ - "created", - "closed", - "opened", - "edited", - "deleted" - ] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "closed", + "opened", + "edited", + "deleted" + ] + }, + "default": [ + "created", + "closed", + "opened", + "edited", + "deleted" + ] + } + } } - } + ] }, "page_build": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#page-build-event-page_build", @@ -1499,79 +1575,100 @@ "project": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-event-project", "$ref": "#/definitions/eventObject", - "type": "object", "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/.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": [ - "created", - "updated", - "closed", - "reopened", - "edited", - "deleted" - ] - }, - "default": [ - "created", - "updated", - "closed", - "reopened", - "edited", - "deleted" - ] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "updated", + "closed", + "reopened", + "edited", + "deleted" + ] + }, + "default": [ + "created", + "updated", + "closed", + "reopened", + "edited", + "deleted" + ] + } + } } - } + ] }, "project_card": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-card-event-project_card", "$ref": "#/definitions/eventObject", - "type": "object", "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.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": [ - "created", - "moved", - "converted", - "edited", - "deleted" - ] - }, - "default": [ - "created", - "moved", - "converted", - "edited", - "deleted" - ] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "moved", + "converted", + "edited", + "deleted" + ] + }, + "default": [ + "created", + "moved", + "converted", + "edited", + "deleted" + ] + } + } } - } + ] }, "project_column": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-column-event-project_column", "$ref": "#/definitions/eventObject", - "type": "object", "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.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["created", "updated", "moved", "deleted"] - }, - "default": ["created", "updated", "moved", "deleted"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "updated", "moved", "deleted"] + }, + "default": ["created", "updated", "moved", "deleted"] + } + } } - } + ] }, "public": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#public-event-public", @@ -1667,36 +1764,50 @@ "pull_request_review": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#pull-request-review-event-pull_request_review", "$ref": "#/definitions/eventObject", - "type": "object", "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.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["submitted", "edited", "dismissed"] - }, - "default": ["submitted", "edited", "dismissed"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["submitted", "edited", "dismissed"] + }, + "default": ["submitted", "edited", "dismissed"] + } + } } - } + ] }, "pull_request_review_comment": { "$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", "$ref": "#/definitions/eventObject", - "type": "object", "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.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] + } + } } - } + ] }, "pull_request_target": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target", @@ -1838,52 +1949,66 @@ "registry_package": { "$comment": "https://help.github.com/en/actions/reference/events-that-trigger-workflows#registry-package-event-registry_package", "$ref": "#/definitions/eventObject", - "type": "object", "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.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["published", "updated"] - }, - "default": ["published", "updated"] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["published", "updated"] + }, + "default": ["published", "updated"] + } + } } - } + ] }, "release": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#release-event-release", "$ref": "#/definitions/eventObject", - "type": "object", "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.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": [ - "published", - "unpublished", - "created", - "edited", - "deleted", - "prereleased", - "released" - ] - }, - "default": [ - "published", - "unpublished", - "created", - "edited", - "deleted", - "prereleased", - "released" - ] + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "published", + "unpublished", + "created", + "edited", + "deleted", + "prereleased", + "released" + ] + }, + "default": [ + "published", + "unpublished", + "created", + "edited", + "deleted", + "prereleased", + "released" + ] + } + } } - } + ] }, "status": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#status-event-status", @@ -2004,49 +2129,64 @@ }, "workflow_dispatch": { "$comment": "https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/", - "type": "object", + "$ref": "#/definitions/eventObject", "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.", - "properties": { - "inputs": { - "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs", - "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.", + "oneOf": [ + { + "type": "null" + }, + { "type": "object", - "patternProperties": { - "^[_a-zA-Z][a-zA-Z0-9_-]*$": { - "$ref": "#/definitions/workflowDispatchInput" + "properties": { + "inputs": { + "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs", + "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.", + "type": "object", + "patternProperties": { + "^[_a-zA-Z][a-zA-Z0-9_-]*$": { + "$ref": "#/definitions/workflowDispatchInput" + } + }, + "additionalProperties": false } }, "additionalProperties": false } - }, - "additionalProperties": false + ] }, "workflow_run": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_run", "$ref": "#/definitions/eventObject", - "type": "object", "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.", - "properties": { - "types": { - "$ref": "#/definitions/types", - "type": "array", - "items": { - "type": "string", - "enum": ["requested", "completed", "in_progress"] - }, - "default": ["requested", "completed"] + "oneOf": [ + { + "type": "null" }, - "workflows": { - "type": "array", - "items": { - "type": "string" + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["requested", "completed", "in_progress"] + }, + "default": ["requested", "completed"] + }, + "workflows": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } }, - "minItems": 1 + "patternProperties": { + "^branches(-ignore)?$": {} + } } - }, - "patternProperties": { - "^branches(-ignore)?$": {} - } + ] }, "repository_dispatch": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#external-events-repository_dispatch", From a54be4af7a8874f8cc2124d88fb7b9c39c6ba555 Mon Sep 17 00:00:00 2001 From: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> Date: Sat, 29 Aug 2026 21:53:18 -0400 Subject: [PATCH 8/8] Migrated github-workflow.json Signed-off-by: Vessel9817 <151808241+Vessel9817@users.noreply.github.com> --- src/schema-validation.jsonc | 1 - src/schemas/json/github-workflow.json | 25 ++++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index cff4bd72fb4..1ad774986cd 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -114,7 +114,6 @@ "foundryvtt-world-manifest.json", "gaspar-1.0.json", "gaspar-3.0.json", - "github-workflow.json", "helmfile.json", "hemtt-0.6.2.json", "install.json", diff --git a/src/schemas/json/github-workflow.json b/src/schemas/json/github-workflow.json index faadc54069f..d7477e616e4 100644 --- a/src/schemas/json/github-workflow.json +++ b/src/schemas/json/github-workflow.json @@ -575,18 +575,25 @@ "with": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswith", "$ref": "#/definitions/env", - "type": "object", "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.", - "properties": { - "args": { - "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithargs", - "type": "string" + "anyOf": [ + { + "$ref": "#/definitions/env" }, - "entrypoint": { - "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithentrypoint", - "type": "string" + { + "type": "object", + "properties": { + "args": { + "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithargs", + "type": "string" + }, + "entrypoint": { + "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithentrypoint", + "type": "string" + } + } } - } + ] }, "env": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsenv",