@actions/languageservice 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +131 -0
- package/dist/action.d.ts +28 -0
- package/dist/action.d.ts.map +1 -0
- package/dist/action.js +36 -0
- package/dist/action.js.map +1 -0
- package/dist/complete.d.ts +15 -0
- package/dist/complete.d.ts.map +1 -0
- package/dist/complete.js +203 -0
- package/dist/complete.js.map +1 -0
- package/dist/context/workflow-context.d.ts +15 -0
- package/dist/context/workflow-context.d.ts.map +1 -0
- package/dist/context/workflow-context.js +64 -0
- package/dist/context/workflow-context.js.map +1 -0
- package/dist/context-providers/config.d.ts +7 -0
- package/dist/context-providers/config.d.ts.map +1 -0
- package/dist/context-providers/config.js +2 -0
- package/dist/context-providers/config.js.map +1 -0
- package/dist/context-providers/default.d.ts +11 -0
- package/dist/context-providers/default.d.ts.map +1 -0
- package/dist/context-providers/default.js +88 -0
- package/dist/context-providers/default.js.map +1 -0
- package/dist/context-providers/descriptions.d.ts +15 -0
- package/dist/context-providers/descriptions.d.ts.map +1 -0
- package/dist/context-providers/descriptions.js +23 -0
- package/dist/context-providers/descriptions.js.map +1 -0
- package/dist/context-providers/descriptions.json +241 -0
- package/dist/context-providers/env.d.ts +4 -0
- package/dist/context-providers/env.d.ts.map +1 -0
- package/dist/context-providers/env.js +29 -0
- package/dist/context-providers/env.js.map +1 -0
- package/dist/context-providers/events/eventPayloads.d.ts +4 -0
- package/dist/context-providers/events/eventPayloads.d.ts.map +1 -0
- package/dist/context-providers/events/eventPayloads.js +111 -0
- package/dist/context-providers/events/eventPayloads.js.map +1 -0
- package/dist/context-providers/events/objects.json +26220 -0
- package/dist/context-providers/events/schedule.json +102 -0
- package/dist/context-providers/events/webhooks.json +124811 -0
- package/dist/context-providers/events/workflow_call.json +134 -0
- package/dist/context-providers/github.d.ts +5 -0
- package/dist/context-providers/github.d.ts.map +1 -0
- package/dist/context-providers/github.js +139 -0
- package/dist/context-providers/github.js.map +1 -0
- package/dist/context-providers/inputs.d.ts +4 -0
- package/dist/context-providers/inputs.d.ts.map +1 -0
- package/dist/context-providers/inputs.js +52 -0
- package/dist/context-providers/inputs.js.map +1 -0
- package/dist/context-providers/job.d.ts +4 -0
- package/dist/context-providers/job.d.ts.map +1 -0
- package/dist/context-providers/job.js +61 -0
- package/dist/context-providers/job.js.map +1 -0
- package/dist/context-providers/jobs.d.ts +4 -0
- package/dist/context-providers/jobs.d.ts.map +1 -0
- package/dist/context-providers/jobs.js +30 -0
- package/dist/context-providers/jobs.js.map +1 -0
- package/dist/context-providers/matrix.d.ts +4 -0
- package/dist/context-providers/matrix.d.ts.map +1 -0
- package/dist/context-providers/matrix.js +163 -0
- package/dist/context-providers/matrix.js.map +1 -0
- package/dist/context-providers/needs.d.ts +4 -0
- package/dist/context-providers/needs.d.ts.map +1 -0
- package/dist/context-providers/needs.js +56 -0
- package/dist/context-providers/needs.js.map +1 -0
- package/dist/context-providers/secrets.d.ts +5 -0
- package/dist/context-providers/secrets.d.ts.map +1 -0
- package/dist/context-providers/secrets.js +23 -0
- package/dist/context-providers/secrets.js.map +1 -0
- package/dist/context-providers/steps.d.ts +4 -0
- package/dist/context-providers/steps.d.ts.map +1 -0
- package/dist/context-providers/steps.js +35 -0
- package/dist/context-providers/steps.js.map +1 -0
- package/dist/context-providers/strategy.d.ts +4 -0
- package/dist/context-providers/strategy.d.ts.map +1 -0
- package/dist/context-providers/strategy.js +31 -0
- package/dist/context-providers/strategy.js.map +1 -0
- package/dist/description-providers/reusable-job-inputs.d.ts +5 -0
- package/dist/description-providers/reusable-job-inputs.d.ts.map +1 -0
- package/dist/description-providers/reusable-job-inputs.js +29 -0
- package/dist/description-providers/reusable-job-inputs.js.map +1 -0
- package/dist/document-links.d.ts +4 -0
- package/dist/document-links.d.ts.map +1 -0
- package/dist/document-links.js +73 -0
- package/dist/document-links.js.map +1 -0
- package/dist/expression-hover/expression-pos.d.ts +13 -0
- package/dist/expression-hover/expression-pos.d.ts.map +1 -0
- package/dist/expression-hover/expression-pos.js +41 -0
- package/dist/expression-hover/expression-pos.js.map +1 -0
- package/dist/expression-hover/pos-range.d.ts +3 -0
- package/dist/expression-hover/pos-range.d.ts.map +1 -0
- package/dist/expression-hover/pos-range.js +7 -0
- package/dist/expression-hover/pos-range.js.map +1 -0
- package/dist/expression-hover/visitor.d.ts +27 -0
- package/dist/expression-hover/visitor.d.ts.map +1 -0
- package/dist/expression-hover/visitor.js +116 -0
- package/dist/expression-hover/visitor.js.map +1 -0
- package/dist/expression-validation/error-dictionary.d.ts +13 -0
- package/dist/expression-validation/error-dictionary.d.ts.map +1 -0
- package/dist/expression-validation/error-dictionary.js +39 -0
- package/dist/expression-validation/error-dictionary.js.map +1 -0
- package/dist/expression-validation/functions.d.ts +9 -0
- package/dist/expression-validation/functions.d.ts.map +1 -0
- package/dist/expression-validation/functions.js +11 -0
- package/dist/expression-validation/functions.js.map +1 -0
- package/dist/hover.d.ts +16 -0
- package/dist/hover.d.ts.map +1 -0
- package/dist/hover.js +154 -0
- package/dist/hover.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/log.d.ts +39 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +48 -0
- package/dist/log.js.map +1 -0
- package/dist/nulltrace.d.ts +3 -0
- package/dist/nulltrace.d.ts.map +1 -0
- package/dist/nulltrace.js +3 -0
- package/dist/nulltrace.js.map +1 -0
- package/dist/utils/expression-detection.d.ts +3 -0
- package/dist/utils/expression-detection.d.ts.map +1 -0
- package/dist/utils/expression-detection.js +9 -0
- package/dist/utils/expression-detection.js.map +1 -0
- package/dist/utils/find-token.d.ts +23 -0
- package/dist/utils/find-token.d.ts.map +1 -0
- package/dist/utils/find-token.js +159 -0
- package/dist/utils/find-token.js.map +1 -0
- package/dist/utils/indentation-guesser.d.ts +16 -0
- package/dist/utils/indentation-guesser.d.ts.map +1 -0
- package/dist/utils/indentation-guesser.js +214 -0
- package/dist/utils/indentation-guesser.js.map +1 -0
- package/dist/utils/range.d.ts +5 -0
- package/dist/utils/range.d.ts.map +1 -0
- package/dist/utils/range.js +25 -0
- package/dist/utils/range.js.map +1 -0
- package/dist/utils/rel-char-pos.d.ts +4 -0
- package/dist/utils/rel-char-pos.d.ts.map +1 -0
- package/dist/utils/rel-char-pos.js +14 -0
- package/dist/utils/rel-char-pos.js.map +1 -0
- package/dist/utils/scalar-to-data.d.ts +4 -0
- package/dist/utils/scalar-to-data.d.ts.map +1 -0
- package/dist/utils/scalar-to-data.js +19 -0
- package/dist/utils/scalar-to-data.js.map +1 -0
- package/dist/utils/transform.d.ts +6 -0
- package/dist/utils/transform.d.ts.map +1 -0
- package/dist/utils/transform.js +66 -0
- package/dist/utils/transform.js.map +1 -0
- package/dist/utils/workflow-cache.d.ts +21 -0
- package/dist/utils/workflow-cache.d.ts.map +1 -0
- package/dist/utils/workflow-cache.js +52 -0
- package/dist/utils/workflow-cache.js.map +1 -0
- package/dist/validate-action.d.ts +6 -0
- package/dist/validate-action.d.ts.map +1 -0
- package/dist/validate-action.js +71 -0
- package/dist/validate-action.js.map +1 -0
- package/dist/validate.d.ts +20 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +162 -0
- package/dist/validate.js.map +1 -0
- package/dist/value-providers/config.d.ts +24 -0
- package/dist/value-providers/config.d.ts.map +1 -0
- package/dist/value-providers/config.js +6 -0
- package/dist/value-providers/config.js.map +1 -0
- package/dist/value-providers/default.d.ts +4 -0
- package/dist/value-providers/default.d.ts.map +1 -0
- package/dist/value-providers/default.js +38 -0
- package/dist/value-providers/default.js.map +1 -0
- package/dist/value-providers/definition.d.ts +4 -0
- package/dist/value-providers/definition.d.ts.map +1 -0
- package/dist/value-providers/definition.js +82 -0
- package/dist/value-providers/definition.js.map +1 -0
- package/dist/value-providers/needs.d.ts +4 -0
- package/dist/value-providers/needs.d.ts.map +1 -0
- package/dist/value-providers/needs.js +10 -0
- package/dist/value-providers/needs.js.map +1 -0
- package/dist/value-providers/reusable-job-inputs.d.ts +4 -0
- package/dist/value-providers/reusable-job-inputs.d.ts.map +1 -0
- package/dist/value-providers/reusable-job-inputs.js +29 -0
- package/dist/value-providers/reusable-job-inputs.js.map +1 -0
- package/dist/value-providers/reusable-job-secrets.d.ts +4 -0
- package/dist/value-providers/reusable-job-secrets.d.ts.map +1 -0
- package/dist/value-providers/reusable-job-secrets.js +41 -0
- package/dist/value-providers/reusable-job-secrets.js.map +1 -0
- package/dist/value-providers/strings-to-values.d.ts +3 -0
- package/dist/value-providers/strings-to-values.d.ts.map +1 -0
- package/dist/value-providers/strings-to-values.js +4 -0
- package/dist/value-providers/strings-to-values.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action": "on-demand-test",
|
|
3
|
+
"repository": {
|
|
4
|
+
"id": 17273051,
|
|
5
|
+
"node_id": "MDEwOlJlcG9zaXRvcnkxNzI3MzA1MQ==",
|
|
6
|
+
"name": "octo-repo",
|
|
7
|
+
"full_name": "octo-org/octo-repo",
|
|
8
|
+
"private": true,
|
|
9
|
+
"owner": {
|
|
10
|
+
"login": "octo-org",
|
|
11
|
+
"id": 6811672,
|
|
12
|
+
"node_id": "MDEyOk9yZ2FuaXphdGlvbjY4MTE2NzI=",
|
|
13
|
+
"avatar_url": "https://avatars3.githubusercontent.com/u/6811672?v=4",
|
|
14
|
+
"gravatar_id": "",
|
|
15
|
+
"url": "https://api.github.com/users/octo-org",
|
|
16
|
+
"html_url": "https://github.com/octo-org",
|
|
17
|
+
"followers_url": "https://api.github.com/users/octo-org/followers",
|
|
18
|
+
"following_url": "https://api.github.com/users/octo-org/following{/other_user}",
|
|
19
|
+
"gists_url": "https://api.github.com/users/octo-org/gists{/gist_id}",
|
|
20
|
+
"starred_url": "https://api.github.com/users/octo-org/starred{/owner}{/repo}",
|
|
21
|
+
"subscriptions_url": "https://api.github.com/users/octo-org/subscriptions",
|
|
22
|
+
"organizations_url": "https://api.github.com/users/octo-org/orgs",
|
|
23
|
+
"repos_url": "https://api.github.com/users/octo-org/repos",
|
|
24
|
+
"events_url": "https://api.github.com/users/octo-org/events{/privacy}",
|
|
25
|
+
"received_events_url": "https://api.github.com/users/octo-org/received_events",
|
|
26
|
+
"type": "Organization",
|
|
27
|
+
"site_admin": false
|
|
28
|
+
},
|
|
29
|
+
"html_url": "https://github.com/octo-org/octo-repo",
|
|
30
|
+
"description": "My first repo on GitHub!",
|
|
31
|
+
"fork": false,
|
|
32
|
+
"url": "https://api.github.com/repos/octo-org/octo-repo",
|
|
33
|
+
"forks_url": "https://api.github.com/repos/octo-org/octo-repo/forks",
|
|
34
|
+
"keys_url": "https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}",
|
|
35
|
+
"collaborators_url": "https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}",
|
|
36
|
+
"teams_url": "https://api.github.com/repos/octo-org/octo-repo/teams",
|
|
37
|
+
"hooks_url": "https://api.github.com/repos/octo-org/octo-repo/hooks",
|
|
38
|
+
"issue_events_url": "https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}",
|
|
39
|
+
"events_url": "https://api.github.com/repos/octo-org/octo-repo/events",
|
|
40
|
+
"assignees_url": "https://api.github.com/repos/octo-org/octo-repo/assignees{/user}",
|
|
41
|
+
"branches_url": "https://api.github.com/repos/octo-org/octo-repo/branches{/branch}",
|
|
42
|
+
"tags_url": "https://api.github.com/repos/octo-org/octo-repo/tags",
|
|
43
|
+
"blobs_url": "https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}",
|
|
44
|
+
"git_tags_url": "https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}",
|
|
45
|
+
"git_refs_url": "https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}",
|
|
46
|
+
"trees_url": "https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}",
|
|
47
|
+
"statuses_url": "https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}",
|
|
48
|
+
"languages_url": "https://api.github.com/repos/octo-org/octo-repo/languages",
|
|
49
|
+
"stargazers_url": "https://api.github.com/repos/octo-org/octo-repo/stargazers",
|
|
50
|
+
"contributors_url": "https://api.github.com/repos/octo-org/octo-repo/contributors",
|
|
51
|
+
"subscribers_url": "https://api.github.com/repos/octo-org/octo-repo/subscribers",
|
|
52
|
+
"subscription_url": "https://api.github.com/repos/octo-org/octo-repo/subscription",
|
|
53
|
+
"commits_url": "https://api.github.com/repos/octo-org/octo-repo/commits{/sha}",
|
|
54
|
+
"git_commits_url": "https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}",
|
|
55
|
+
"comments_url": "https://api.github.com/repos/octo-org/octo-repo/comments{/number}",
|
|
56
|
+
"issue_comment_url": "https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}",
|
|
57
|
+
"contents_url": "https://api.github.com/repos/octo-org/octo-repo/contents/{+path}",
|
|
58
|
+
"compare_url": "https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}",
|
|
59
|
+
"merges_url": "https://api.github.com/repos/octo-org/octo-repo/merges",
|
|
60
|
+
"archive_url": "https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}",
|
|
61
|
+
"downloads_url": "https://api.github.com/repos/octo-org/octo-repo/downloads",
|
|
62
|
+
"issues_url": "https://api.github.com/repos/octo-org/octo-repo/issues{/number}",
|
|
63
|
+
"pulls_url": "https://api.github.com/repos/octo-org/octo-repo/pulls{/number}",
|
|
64
|
+
"milestones_url": "https://api.github.com/repos/octo-org/octo-repo/milestones{/number}",
|
|
65
|
+
"notifications_url": "https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}",
|
|
66
|
+
"labels_url": "https://api.github.com/repos/octo-org/octo-repo/labels{/name}",
|
|
67
|
+
"releases_url": "https://api.github.com/repos/octo-org/octo-repo/releases{/id}",
|
|
68
|
+
"deployments_url": "https://api.github.com/repos/octo-org/octo-repo/deployments",
|
|
69
|
+
"created_at": "2014-02-28T02:42:51Z",
|
|
70
|
+
"updated_at": "2018-10-10T15:58:51Z",
|
|
71
|
+
"pushed_at": "2018-10-10T15:58:47Z",
|
|
72
|
+
"git_url": "git://github.com/octo-org/octo-repo.git",
|
|
73
|
+
"ssh_url": "git@github.com:octo-org/octo-repo.git",
|
|
74
|
+
"clone_url": "https://github.com/octo-org/octo-repo.git",
|
|
75
|
+
"svn_url": "https://github.com/octo-org/octo-repo",
|
|
76
|
+
"homepage": "",
|
|
77
|
+
"size": 59,
|
|
78
|
+
"stargazers_count": 0,
|
|
79
|
+
"watchers_count": 0,
|
|
80
|
+
"language": "JavaScript",
|
|
81
|
+
"has_issues": true,
|
|
82
|
+
"has_projects": true,
|
|
83
|
+
"has_downloads": true,
|
|
84
|
+
"has_wiki": true,
|
|
85
|
+
"has_pages": false,
|
|
86
|
+
"forks_count": 1,
|
|
87
|
+
"mirror_url": null,
|
|
88
|
+
"archived": false,
|
|
89
|
+
"open_issues_count": 23,
|
|
90
|
+
"license": null,
|
|
91
|
+
"forks": 1,
|
|
92
|
+
"open_issues": 23,
|
|
93
|
+
"watchers": 0,
|
|
94
|
+
"default_branch": "master"
|
|
95
|
+
},
|
|
96
|
+
"organization": {
|
|
97
|
+
"login": "octo-org",
|
|
98
|
+
"id": 6811672,
|
|
99
|
+
"node_id": "MDEyOk9yZ2FuaXphdGlvbjY4MTE2NzI=",
|
|
100
|
+
"url": "https://api.github.com/orgs/octo-org",
|
|
101
|
+
"repos_url": "https://api.github.com/orgs/octo-org/repos",
|
|
102
|
+
"events_url": "https://api.github.com/orgs/octo-org/events",
|
|
103
|
+
"hooks_url": "https://api.github.com/orgs/octo-org/hooks",
|
|
104
|
+
"issues_url": "https://api.github.com/orgs/octo-org/issues",
|
|
105
|
+
"members_url": "https://api.github.com/orgs/octo-org/members{/member}",
|
|
106
|
+
"public_members_url": "https://api.github.com/orgs/octo-org/public_members{/member}",
|
|
107
|
+
"avatar_url": "https://avatars3.githubusercontent.com/u/6811672?v=4",
|
|
108
|
+
"description": "Working better together!"
|
|
109
|
+
},
|
|
110
|
+
"sender": {
|
|
111
|
+
"login": "Codertocat",
|
|
112
|
+
"id": 21031067,
|
|
113
|
+
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
|
|
114
|
+
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
|
|
115
|
+
"gravatar_id": "",
|
|
116
|
+
"url": "https://api.github.com/users/Codertocat",
|
|
117
|
+
"html_url": "https://github.com/Codertocat",
|
|
118
|
+
"followers_url": "https://api.github.com/users/Codertocat/followers",
|
|
119
|
+
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
|
|
120
|
+
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
|
|
121
|
+
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
|
|
122
|
+
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
|
|
123
|
+
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
|
|
124
|
+
"repos_url": "https://api.github.com/users/Codertocat/repos",
|
|
125
|
+
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
|
|
126
|
+
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
|
|
127
|
+
"type": "User",
|
|
128
|
+
"site_admin": false
|
|
129
|
+
},
|
|
130
|
+
"installation": {
|
|
131
|
+
"id": 375706,
|
|
132
|
+
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzc1NzA2"
|
|
133
|
+
}
|
|
134
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DescriptionDictionary } from "@actions/expressions";
|
|
2
|
+
import { WorkflowContext } from "../context/workflow-context";
|
|
3
|
+
import { Mode } from "./default";
|
|
4
|
+
export declare function getGithubContext(workflowContext: WorkflowContext, mode: Mode): DescriptionDictionary;
|
|
5
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/context-providers/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,qBAAqB,EAA0B,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAK/B,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,qBAAqB,CA0DpG"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { data, DescriptionDictionary, isDescriptionDictionary } from "@actions/expressions";
|
|
2
|
+
import { Mode } from "./default";
|
|
3
|
+
import { getDescription } from "./descriptions";
|
|
4
|
+
import { getEventPayload, getSupportedEventTypes } from "./events/eventPayloads";
|
|
5
|
+
import { getInputsContext } from "./inputs";
|
|
6
|
+
export function getGithubContext(workflowContext, mode) {
|
|
7
|
+
// https://docs.github.com/en/actions/learn-github-actions/contexts#github-cwontext
|
|
8
|
+
const keys = [
|
|
9
|
+
"action",
|
|
10
|
+
"action_path",
|
|
11
|
+
"action_ref",
|
|
12
|
+
"action_repository",
|
|
13
|
+
"action_status",
|
|
14
|
+
"actor",
|
|
15
|
+
"api_url",
|
|
16
|
+
"base_ref",
|
|
17
|
+
"env",
|
|
18
|
+
"event",
|
|
19
|
+
"event_name",
|
|
20
|
+
"event_path",
|
|
21
|
+
"graphql_url",
|
|
22
|
+
"head_ref",
|
|
23
|
+
"job",
|
|
24
|
+
"ref",
|
|
25
|
+
"ref_name",
|
|
26
|
+
"ref_protected",
|
|
27
|
+
"ref_type",
|
|
28
|
+
"path",
|
|
29
|
+
"repository",
|
|
30
|
+
"repository_owner",
|
|
31
|
+
"repositoryUrl",
|
|
32
|
+
"retention_days",
|
|
33
|
+
"run_id",
|
|
34
|
+
"run_number",
|
|
35
|
+
"run_attempt",
|
|
36
|
+
"secret_source",
|
|
37
|
+
"server_url",
|
|
38
|
+
"sha",
|
|
39
|
+
"token",
|
|
40
|
+
"triggering_actor",
|
|
41
|
+
"workflow",
|
|
42
|
+
"workspace"
|
|
43
|
+
];
|
|
44
|
+
return new DescriptionDictionary(...keys.map(key => {
|
|
45
|
+
const description = getDescription("github", key);
|
|
46
|
+
if (key == "event") {
|
|
47
|
+
return {
|
|
48
|
+
key,
|
|
49
|
+
value: getEventContext(workflowContext, mode),
|
|
50
|
+
description
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
key,
|
|
55
|
+
value: new data.Null(),
|
|
56
|
+
description
|
|
57
|
+
};
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
function getEventContext(workflowContext, mode) {
|
|
61
|
+
const d = new DescriptionDictionary();
|
|
62
|
+
const eventsConfig = workflowContext?.template?.events;
|
|
63
|
+
if (!eventsConfig) {
|
|
64
|
+
return d;
|
|
65
|
+
}
|
|
66
|
+
// For callable workflows, the event is inherited from the calling workflow
|
|
67
|
+
// Allow any value for this case
|
|
68
|
+
// This includes github.event.inputs, which is only available via the inputs context
|
|
69
|
+
if (eventsConfig.workflow_call && mode == Mode.Validation) {
|
|
70
|
+
return new data.Null();
|
|
71
|
+
}
|
|
72
|
+
const inputs = getInputsContext(workflowContext);
|
|
73
|
+
if (inputs.values().length > 0) {
|
|
74
|
+
d.add("inputs", inputs);
|
|
75
|
+
}
|
|
76
|
+
const schedule = eventsConfig["schedule"];
|
|
77
|
+
if (schedule && schedule.length > 0) {
|
|
78
|
+
const default_cron = schedule[0].cron;
|
|
79
|
+
// For now, default to the first cron expression only
|
|
80
|
+
d.add("schedule", new data.StringData(default_cron));
|
|
81
|
+
}
|
|
82
|
+
const events = Object.keys(eventsConfig);
|
|
83
|
+
for (const eventName of events) {
|
|
84
|
+
const event = eventsConfig[eventName];
|
|
85
|
+
let types = getTypes(eventName, event.types);
|
|
86
|
+
const payloadEventName = getPayloadEventName(eventName);
|
|
87
|
+
if (types.length === 1 && types[0] === "default") {
|
|
88
|
+
types = getSupportedEventTypes(eventName);
|
|
89
|
+
}
|
|
90
|
+
for (const type of types) {
|
|
91
|
+
const eventPayload = getEventPayload(payloadEventName, type);
|
|
92
|
+
if (!eventPayload) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
// Merge the event payload into the event context
|
|
96
|
+
merge(d, eventPayload);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return d;
|
|
100
|
+
}
|
|
101
|
+
function getPayloadEventName(eventName) {
|
|
102
|
+
switch (eventName) {
|
|
103
|
+
// Some events are aliases for other webhooks
|
|
104
|
+
case "pull_request_target":
|
|
105
|
+
return "pull_request";
|
|
106
|
+
default:
|
|
107
|
+
return eventName;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function getTypes(event, types) {
|
|
111
|
+
const typesOrDefault = (types, defaultTypes) => !types || types.length === 0 ? defaultTypes : types;
|
|
112
|
+
switch (event) {
|
|
113
|
+
case "merge_group":
|
|
114
|
+
return typesOrDefault(types, ["checks_requested"]);
|
|
115
|
+
case "pull_request":
|
|
116
|
+
case "pull_request_target":
|
|
117
|
+
return typesOrDefault(types, ["opened", "reopened", "synchronize"]);
|
|
118
|
+
case "repository_dispatch":
|
|
119
|
+
// Types can be used for custom filtering for repository_dispatch events. Always use default
|
|
120
|
+
return ["default"];
|
|
121
|
+
default:
|
|
122
|
+
return typesOrDefault(types, ["default"]);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function merge(target, toMerge) {
|
|
126
|
+
for (const p of toMerge.pairs()) {
|
|
127
|
+
if (isDescriptionDictionary(p.value)) {
|
|
128
|
+
const existingValue = target.get(p.key);
|
|
129
|
+
if (existingValue && isDescriptionDictionary(existingValue)) {
|
|
130
|
+
// Merge the dictionaries, do not overwrite existing values
|
|
131
|
+
merge(existingValue, p.value);
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
target.add(p.key, p.value, p.description);
|
|
136
|
+
}
|
|
137
|
+
return target;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/context-providers/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,qBAAqB,EAAE,uBAAuB,EAAC,MAAM,sBAAsB,CAAC;AAI1F,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAE,sBAAsB,EAAC,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAE1C,MAAM,UAAU,gBAAgB,CAAC,eAAgC,EAAE,IAAU;IAC3E,mFAAmF;IACnF,MAAM,IAAI,GAAG;QACX,QAAQ;QACR,aAAa;QACb,YAAY;QACZ,mBAAmB;QACnB,eAAe;QACf,OAAO;QACP,SAAS;QACT,UAAU;QACV,KAAK;QACL,OAAO;QACP,YAAY;QACZ,YAAY;QACZ,aAAa;QACb,UAAU;QACV,KAAK;QACL,KAAK;QACL,UAAU;QACV,eAAe;QACf,UAAU;QACV,MAAM;QACN,YAAY;QACZ,kBAAkB;QAClB,eAAe;QACf,gBAAgB;QAChB,QAAQ;QACR,YAAY;QACZ,aAAa;QACb,eAAe;QACf,YAAY;QACZ,KAAK;QACL,OAAO;QACP,kBAAkB;QAClB,UAAU;QACV,WAAW;KACZ,CAAC;IAEF,OAAO,IAAI,qBAAqB,CAC9B,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAChB,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAElD,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,OAAO;gBACL,GAAG;gBACH,KAAK,EAAE,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC;gBAC7C,WAAW;aACZ,CAAC;SACH;QAED,OAAO;YACL,GAAG;YACH,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;YACtB,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,eAAgC,EAAE,IAAU;IACnE,MAAM,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC;IAEvD,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,CAAC,CAAC;KACV;IAED,2EAA2E;IAC3E,gCAAgC;IAChC,oFAAoF;IACpF,IAAI,YAAY,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;QACzD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KACzB;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtC,qDAAqD;QACrD,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;KACtD;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE;QAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAsB,CAAC;QAE3D,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YAChD,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;SAC3C;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,YAAY,GAAG,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAE7D,IAAI,CAAC,YAAY,EAAE;gBACjB,SAAS;aACV;YAED,iDAAiD;YACjD,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;SACxB;KACF;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,QAAQ,SAAS,EAAE;QACjB,6CAA6C;QAC7C,KAAK,qBAAqB;YACxB,OAAO,cAAc,CAAC;QAExB;YACE,OAAO,SAAS,CAAC;KACpB;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAA2B;IAC1D,MAAM,cAAc,GAAG,CAAC,KAA2B,EAAE,YAAsB,EAAY,EAAE,CACvF,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;IAEtD,QAAQ,KAAK,EAAE;QACb,KAAK,aAAa;YAChB,OAAO,cAAc,CAAC,KAAK,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAErD,KAAK,cAAc,CAAC;QACpB,KAAK,qBAAqB;YACxB,OAAO,cAAc,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;QAEtE,KAAK,qBAAqB;YACxB,4FAA4F;YAC5F,OAAO,CAAC,SAAS,CAAC,CAAC;QAErB;YACE,OAAO,cAAc,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,SAAS,KAAK,CAAC,MAA6B,EAAE,OAA8B;IAC1E,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE;QAC/B,IAAI,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YACpC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,aAAa,IAAI,uBAAuB,CAAC,aAAa,CAAC,EAAE;gBAC3D,2DAA2D;gBAC3D,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAE9B,SAAS;aACV;SACF;QAED,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;KAC3C;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/context-providers/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAE5D,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,eAAe,GAAG,qBAAqB,CAmBxF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { data, DescriptionDictionary } from "@actions/expressions";
|
|
2
|
+
export function getInputsContext(workflowContext) {
|
|
3
|
+
const d = new DescriptionDictionary();
|
|
4
|
+
const events = workflowContext?.template?.events;
|
|
5
|
+
if (!events) {
|
|
6
|
+
return d;
|
|
7
|
+
}
|
|
8
|
+
const dispatch = events["workflow_dispatch"];
|
|
9
|
+
if (dispatch?.inputs) {
|
|
10
|
+
addInputs(d, dispatch.inputs);
|
|
11
|
+
}
|
|
12
|
+
const call = events["workflow_call"];
|
|
13
|
+
if (call?.inputs) {
|
|
14
|
+
addInputs(d, call.inputs);
|
|
15
|
+
}
|
|
16
|
+
return d;
|
|
17
|
+
}
|
|
18
|
+
function addInputs(d, inputs) {
|
|
19
|
+
for (const inputName of Object.keys(inputs)) {
|
|
20
|
+
const input = inputs[inputName];
|
|
21
|
+
switch (input.type) {
|
|
22
|
+
case "choice":
|
|
23
|
+
if (input.default) {
|
|
24
|
+
d.add(inputName, new data.StringData(input.default), input.description);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
// Default to the first input or an empty string
|
|
28
|
+
d.add(inputName, new data.StringData((input.options || [""])[0]), input.description);
|
|
29
|
+
}
|
|
30
|
+
break;
|
|
31
|
+
case "environment":
|
|
32
|
+
if (input.default) {
|
|
33
|
+
d.add(inputName, new data.StringData(input.default), input.description);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// For now default to an empty value if there is no default value. This will always be an environment, so
|
|
37
|
+
// we could also dynamically look up environments and default to the first one, but leaving this as a
|
|
38
|
+
// future enhancement for now.
|
|
39
|
+
d.add(inputName, new data.StringData(""));
|
|
40
|
+
}
|
|
41
|
+
break;
|
|
42
|
+
case "boolean":
|
|
43
|
+
d.add(inputName, new data.BooleanData(input.default || false), input.description);
|
|
44
|
+
break;
|
|
45
|
+
case "string":
|
|
46
|
+
default:
|
|
47
|
+
d.add(inputName, new data.StringData(input.default || inputName), input.description);
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/context-providers/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAIjE,MAAM,UAAU,gBAAgB,CAAC,eAAgC;IAC/D,MAAM,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAEtC,MAAM,MAAM,GAAG,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,CAAC,CAAC;KACV;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC7C,IAAI,QAAQ,EAAE,MAAM,EAAE;QACpB,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC/B;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,IAAI,EAAE,MAAM,EAAE;QAChB,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;KAC3B;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAAC,CAAwB,EAAE,MAA0C;IACrF,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,QAAQ;gBACX,IAAI,KAAK,CAAC,OAAO,EAAE;oBACjB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAiB,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;iBACnF;qBAAM;oBACL,gDAAgD;oBAChD,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;iBACtF;gBACD,MAAM;YAER,KAAK,aAAa;gBAChB,IAAI,KAAK,CAAC,OAAO,EAAE;oBACjB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAiB,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;iBACnF;qBAAM;oBACL,yGAAyG;oBACzG,qGAAqG;oBACrG,8BAA8B;oBAC9B,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC3C;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,WAAW,CAAE,KAAK,CAAC,OAAmB,IAAI,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC/F,MAAM;YAER,KAAK,QAAQ,CAAC;YACd;gBACE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAE,KAAK,CAAC,OAAkB,IAAI,SAAS,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;gBACjG,MAAM;SACT;KACF;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/context-providers/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAE5D,wBAAgB,aAAa,CAAC,eAAe,EAAE,eAAe,GAAG,qBAAqB,CAiCrF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { data, DescriptionDictionary } from "@actions/expressions";
|
|
2
|
+
import { isMapping, isSequence } from "@actions/workflow-parser";
|
|
3
|
+
export function getJobContext(workflowContext) {
|
|
4
|
+
// https://docs.github.com/en/actions/learn-github-actions/contexts#job-context
|
|
5
|
+
const jobContext = new DescriptionDictionary();
|
|
6
|
+
const job = workflowContext.job;
|
|
7
|
+
if (!job) {
|
|
8
|
+
return jobContext;
|
|
9
|
+
}
|
|
10
|
+
// Container
|
|
11
|
+
const jobContainer = job.container;
|
|
12
|
+
if (jobContainer && isMapping(jobContainer)) {
|
|
13
|
+
const containerContext = createContainerContext(jobContainer, false);
|
|
14
|
+
jobContext.add("container", containerContext);
|
|
15
|
+
}
|
|
16
|
+
// Services
|
|
17
|
+
const jobServices = job.services;
|
|
18
|
+
if (jobServices && isMapping(jobServices)) {
|
|
19
|
+
const servicesContext = new DescriptionDictionary();
|
|
20
|
+
for (const service of jobServices) {
|
|
21
|
+
if (!isMapping(service.value)) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const serviceContext = createContainerContext(service.value, true);
|
|
25
|
+
servicesContext.add(service.key.toString(), serviceContext);
|
|
26
|
+
}
|
|
27
|
+
jobContext.add("services", servicesContext);
|
|
28
|
+
}
|
|
29
|
+
// Status
|
|
30
|
+
jobContext.add("status", new data.Null());
|
|
31
|
+
return jobContext;
|
|
32
|
+
}
|
|
33
|
+
function createContainerContext(container, isServices) {
|
|
34
|
+
const containerContext = new data.Dictionary();
|
|
35
|
+
for (const { key, value } of container) {
|
|
36
|
+
if (isSequence(value)) {
|
|
37
|
+
// service ports are the only thing that is part of the job context
|
|
38
|
+
if (key.toString() !== "ports") {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const ports = new data.Dictionary();
|
|
42
|
+
for (const item of value) {
|
|
43
|
+
// We can determine the context mapping fully only if the port is defined
|
|
44
|
+
// as a mapping (i.e. <port1>:<port2>), single ports are assigned randomly
|
|
45
|
+
const portParts = item.toString().split(":");
|
|
46
|
+
if (isServices && portParts.length === 2) {
|
|
47
|
+
ports.add(portParts[1], new data.StringData(portParts[0]));
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// If the port isn't a mapping, just use null
|
|
51
|
+
ports.add(portParts[0], new data.Null());
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
containerContext.add(key.toString(), ports);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
containerContext.add("id", new data.Null());
|
|
58
|
+
containerContext.add("network", new data.Null());
|
|
59
|
+
return containerContext;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/context-providers/job.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/context-providers/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAG5D,wBAAgB,cAAc,CAAC,eAAe,EAAE,eAAe,GAAG,qBAAqB,CAqBtF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { data, DescriptionDictionary } from "@actions/expressions";
|
|
2
|
+
import { StringData } from "@actions/expressions/data/string";
|
|
3
|
+
import { MappingToken } from "@actions/workflow-parser/templates/tokens/mapping-token";
|
|
4
|
+
import { getDescription } from "./descriptions";
|
|
5
|
+
export function getJobsContext(workflowContext) {
|
|
6
|
+
// https://docs.github.com/en/actions/learn-github-actions/contexts#jobs-context
|
|
7
|
+
const jobsContext = new DescriptionDictionary();
|
|
8
|
+
const jobs = workflowContext.template?.jobs;
|
|
9
|
+
if (!jobs) {
|
|
10
|
+
return jobsContext;
|
|
11
|
+
}
|
|
12
|
+
for (const job of jobs) {
|
|
13
|
+
const jobContext = new DescriptionDictionary();
|
|
14
|
+
jobContext.add("result", new data.Null(), getDescription("jobs", "result"));
|
|
15
|
+
const outputs = job.outputs || new data.Null();
|
|
16
|
+
if (outputs instanceof MappingToken) {
|
|
17
|
+
jobContext.add("outputs", createOutputsContext(outputs), getDescription("jobs", "outputs"));
|
|
18
|
+
}
|
|
19
|
+
jobsContext.add(job.id.toString(), jobContext);
|
|
20
|
+
}
|
|
21
|
+
return jobsContext;
|
|
22
|
+
}
|
|
23
|
+
function createOutputsContext(outputs) {
|
|
24
|
+
const outputsContext = new DescriptionDictionary();
|
|
25
|
+
for (const output of outputs) {
|
|
26
|
+
outputsContext.add(output.key.toString(), new StringData(output.value.toString()), getDescription(output.key.toString(), "output"));
|
|
27
|
+
}
|
|
28
|
+
return outputsContext;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=jobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/context-providers/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAC,UAAU,EAAC,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,yDAAyD,CAAC;AAErF,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,cAAc,CAAC,eAAgC;IAC7D,gFAAgF;IAChF,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAEhD,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,WAAW,CAAC;KACpB;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC/C,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE5E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,OAAO,YAAY,YAAY,EAAE;YACnC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;SAC7F;QAED,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;KAChD;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAqB;IACjD,MAAM,cAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,cAAc,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EACrB,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EACvC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAChD,CAAC;KACH;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/context-providers/matrix.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAE7C,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,YAAY,CAkC3F"}
|