@packtory/cli 0.0.107 → 0.0.109
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/command-line-interface/config-loader.js +33 -2
- package/command-line-interface/config-loader.js.map +1 -1
- package/command-line-interface/one-time-password-prompt.js +31 -0
- package/command-line-interface/one-time-password-prompt.js.map +1 -1
- package/command-line-interface/preview-io/preview-io-shared.js +31 -2
- package/command-line-interface/preview-io/preview-io-shared.js.map +1 -1
- package/command-line-interface/preview-io/preview-io.js +15 -4
- package/command-line-interface/preview-io/preview-io.js.map +1 -1
- package/command-line-interface/preview-io/preview-spawn.js +26 -1
- package/command-line-interface/preview-io/preview-spawn.js.map +1 -1
- package/command-line-interface/runner/changelog-destinations.js +220 -5
- package/command-line-interface/runner/changelog-destinations.js.map +1 -1
- package/command-line-interface/runner/changelog-handler.js +79 -5
- package/command-line-interface/runner/changelog-handler.js.map +1 -1
- package/command-line-interface/runner/changelog-pr-log-config.js +147 -1
- package/command-line-interface/runner/changelog-pr-log-config.js.map +1 -1
- package/command-line-interface/runner/command-parsing.js +10 -0
- package/command-line-interface/runner/command-parsing.js.map +1 -1
- package/command-line-interface/runner/config-inspect-handler.js +79 -4
- package/command-line-interface/runner/config-inspect-handler.js.map +1 -1
- package/command-line-interface/runner/failure-printing.js +75 -5
- package/command-line-interface/runner/failure-printing.js.map +1 -1
- package/command-line-interface/runner/github-api-request.js +100 -0
- package/command-line-interface/runner/github-api-request.js.map +1 -1
- package/command-line-interface/runner/github-release-client.js +102 -2
- package/command-line-interface/runner/github-release-client.js.map +1 -1
- package/command-line-interface/runner/github-release-notes.js +74 -1
- package/command-line-interface/runner/github-release-notes.js.map +1 -1
- package/command-line-interface/runner/github-repository.js +14 -1
- package/command-line-interface/runner/github-repository.js.map +1 -1
- package/command-line-interface/runner/pack-handler.js +203 -4
- package/command-line-interface/runner/pack-handler.js.map +1 -1
- package/command-line-interface/runner/package-dependencies-handler.js +49 -4
- package/command-line-interface/runner/package-dependencies-handler.js.map +1 -1
- package/command-line-interface/runner/package-inspection-handler.js +21 -0
- package/command-line-interface/runner/package-inspection-handler.js.map +1 -1
- package/command-line-interface/runner/package-side-effects-handler.js +51 -5
- package/command-line-interface/runner/package-side-effects-handler.js.map +1 -1
- package/command-line-interface/runner/package-tree-handler.js +66 -3
- package/command-line-interface/runner/package-tree-handler.js.map +1 -1
- package/command-line-interface/runner/preview-handler.js +50 -4
- package/command-line-interface/runner/preview-handler.js.map +1 -1
- package/command-line-interface/runner/progress-wiring.js +32 -0
- package/command-line-interface/runner/progress-wiring.js.map +1 -1
- package/command-line-interface/runner/publish-handler.js +45 -2
- package/command-line-interface/runner/publish-handler.js.map +1 -1
- package/command-line-interface/runner/release-diff-handler.js +33 -3
- package/command-line-interface/runner/release-diff-handler.js.map +1 -1
- package/command-line-interface/runner/release-handler.js +246 -5
- package/command-line-interface/runner/release-handler.js.map +1 -1
- package/command-line-interface/runner/release-output-files.js +24 -2
- package/command-line-interface/runner/release-output-files.js.map +1 -1
- package/command-line-interface/runner/release-plan-result-printing.js +25 -2
- package/command-line-interface/runner/release-plan-result-printing.js.map +1 -1
- package/command-line-interface/runner/release-pr-branch-commit.js +108 -2
- package/command-line-interface/runner/release-pr-branch-commit.js.map +1 -1
- package/command-line-interface/runner/release-pr-github-client.js +289 -8
- package/command-line-interface/runner/release-pr-github-client.js.map +1 -1
- package/command-line-interface/runner/release-pr-workflow-run-cancellation.js +66 -3
- package/command-line-interface/runner/release-pr-workflow-run-cancellation.js.map +1 -1
- package/command-line-interface/runner/release-pr-workflow-runs.js +52 -1
- package/command-line-interface/runner/release-pr-workflow-runs.js.map +1 -1
- package/command-line-interface/runner/release-preparation.js +91 -4
- package/command-line-interface/runner/release-preparation.js.map +1 -1
- package/command-line-interface/runner/release-publish-authorization.js +66 -1
- package/command-line-interface/runner/release-publish-authorization.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-ci.js +297 -0
- package/command-line-interface/runner/release-pull-request-ci.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-config.js +51 -5
- package/command-line-interface/runner/release-pull-request-config.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-handler.js +320 -9
- package/command-line-interface/runner/release-pull-request-handler.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-policy.js +46 -0
- package/command-line-interface/runner/release-pull-request-policy.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-settings.js +18 -2
- package/command-line-interface/runner/release-pull-request-settings.js.map +1 -1
- package/command-line-interface/runner/report-persistence.js +25 -2
- package/command-line-interface/runner/report-persistence.js.map +1 -1
- package/command-line-interface/runner/runner-symbols.js +10 -1
- package/command-line-interface/runner/runner-symbols.js.map +1 -1
- package/command-line-interface/runner/runner.js +403 -15
- package/command-line-interface/runner/runner.js.map +1 -1
- package/command-line-interface/runner/terminal-error-chain.js +101 -0
- package/command-line-interface/runner/terminal-error-chain.js.map +1 -1
- package/command-line-interface/spinner/line-spinner-renderer.js +49 -2
- package/command-line-interface/spinner/line-spinner-renderer.js.map +1 -1
- package/command-line-interface/spinner/spinner-boot.js +9 -1
- package/command-line-interface/spinner/spinner-boot.js.map +1 -1
- package/command-line-interface/spinner/spinner-glyphs.js +30 -1
- package/command-line-interface/spinner/spinner-glyphs.js.map +1 -1
- package/command-line-interface/spinner/spinner-render-sequence.js +30 -2
- package/command-line-interface/spinner/spinner-render-sequence.js.map +1 -1
- package/command-line-interface/spinner/spinner-runtime.js +30 -1
- package/command-line-interface/spinner/spinner-runtime.js.map +1 -1
- package/command-line-interface/spinner/spinner-shared-state.js +271 -0
- package/command-line-interface/spinner/spinner-shared-state.js.map +1 -1
- package/command-line-interface/spinner/spinner-snapshots.js +11 -1
- package/command-line-interface/spinner/spinner-snapshots.js.map +1 -1
- package/command-line-interface/spinner/spinner-worker-backend.js +42 -0
- package/command-line-interface/spinner/spinner-worker-backend.js.map +1 -1
- package/command-line-interface/spinner/spinner-worker-loop.js +39 -3
- package/command-line-interface/spinner/spinner-worker-loop.js.map +1 -1
- package/command-line-interface/spinner/terminal-spinner-renderer.js +54 -0
- package/command-line-interface/spinner/terminal-spinner-renderer.js.map +1 -1
- package/common/path-tree.js +100 -2
- package/common/path-tree.js.map +1 -1
- package/package.json +3 -3
- package/packages/command-line-interface/pull-request-label-versioning.js +80 -3
- package/packages/command-line-interface/pull-request-label-versioning.js.map +1 -1
- package/packages/command-line-interface/spinner-boot.entry-point.js +40 -3
- package/packages/command-line-interface/spinner-boot.entry-point.js.map +1 -1
- package/packtory/changelog-source-file-history.js +108 -2
- package/packtory/changelog-source-file-history.js.map +1 -1
- package/packtory/packtory-changelog.js +294 -5
- package/packtory/packtory-changelog.js.map +1 -1
- package/report/html-renderer/artifact-tree-renderer.js +28 -4
- package/report/html-renderer/artifact-tree-renderer.js.map +1 -1
- package/report/html-renderer/diagnostics-renderer.js +38 -2
- package/report/html-renderer/diagnostics-renderer.js.map +1 -1
- package/report/html-renderer/diff-renderer.js +28 -1
- package/report/html-renderer/diff-renderer.js.map +1 -1
- package/report/html-renderer/eliminated-files-renderer.js +15 -2
- package/report/html-renderer/eliminated-files-renderer.js.map +1 -1
- package/report/html-renderer/html-escaping.js +8 -0
- package/report/html-renderer/html-escaping.js.map +1 -1
- package/report/html-renderer/html-primitives.js +23 -1
- package/report/html-renderer/html-primitives.js.map +1 -1
- package/report/html-renderer/html-renderer.js +60 -4
- package/report/html-renderer/html-renderer.js.map +1 -1
- package/report/html-renderer/html-styles.js +176 -0
- package/report/html-renderer/html-styles.js.map +1 -1
- package/report/html-renderer/package-renderer.js +31 -6
- package/report/html-renderer/package-renderer.js.map +1 -1
- package/report/preview/artifact-diff-builder.js +19 -2
- package/report/preview/artifact-diff-builder.js.map +1 -1
- package/report/preview/artifact-tree-builder.js +19 -1
- package/report/preview/artifact-tree-builder.js.map +1 -1
- package/report/preview/bundle-artifact-index.js +15 -1
- package/report/preview/bundle-artifact-index.js.map +1 -1
- package/report/preview/preview-document-state.js +16 -0
- package/report/preview/preview-document-state.js.map +1 -1
- package/report/preview/preview-document.js +84 -6
- package/report/preview/preview-document.js.map +1 -1
- package/report/preview/preview-result-inspectors.js +33 -2
- package/report/preview/preview-result-inspectors.js.map +1 -1
- package/report/preview/preview-summary.js +25 -0
- package/report/preview/preview-summary.js.map +1 -1
- package/report/release-diff/release-diff-document.js +25 -2
- package/report/release-diff/release-diff-document.js.map +1 -1
- package/report/release-diff/release-diff-summary.js +39 -1
- package/report/release-diff/release-diff-summary.js.map +1 -1
- package/report/terminal-renderer/terminal-artifact-renderer.js +30 -2
- package/report/terminal-renderer/terminal-artifact-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-dependencies-renderer.js +77 -1
- package/report/terminal-renderer/terminal-package-dependencies-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-renderer.js +74 -2
- package/report/terminal-renderer/terminal-package-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-side-effects-renderer.js +54 -1
- package/report/terminal-renderer/terminal-package-side-effects-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-tree-renderer.js +16 -3
- package/report/terminal-renderer/terminal-package-tree-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-preview-renderer-shared.js +65 -3
- package/report/terminal-renderer/terminal-preview-renderer-shared.js.map +1 -1
- package/report/terminal-renderer/terminal-preview-renderer.js +54 -2
- package/report/terminal-renderer/terminal-preview-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-release-diff-package-renderer.js +149 -4
- package/report/terminal-renderer/terminal-release-diff-package-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-release-diff-renderer.js +48 -2
- package/report/terminal-renderer/terminal-release-diff-renderer.js.map +1 -1
- package/sbom.cdx.json +15 -15
|
@@ -1 +1,298 @@
|
|
|
1
|
+
const workflowRunLookupAttempts = 30;
|
|
2
|
+
const workflowRunCompletionAttempts = 120;
|
|
3
|
+
const actionRequiredPullRequestRunCleanupAttempts = 30;
|
|
4
|
+
const actionRequiredPullRequestRunCleanReads = 2;
|
|
5
|
+
const staleWorkflowRunCancellationAttempts = 30;
|
|
6
|
+
const workflowPollIntervalMilliseconds = 10_000;
|
|
7
|
+
function createRetryAttempts(count) {
|
|
8
|
+
return Array.from({ length: count }, function (_value, index) {
|
|
9
|
+
return index;
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function isLastAttempt(attempt, count) {
|
|
13
|
+
return attempt === count - 1;
|
|
14
|
+
}
|
|
15
|
+
function formatObservedRunIds(observedRunIds) {
|
|
16
|
+
if (observedRunIds.length === 0) {
|
|
17
|
+
return 'none';
|
|
18
|
+
}
|
|
19
|
+
return observedRunIds.join(', ');
|
|
20
|
+
}
|
|
21
|
+
function formatWorkflowRunLookupFailure(input) {
|
|
22
|
+
return (`Release workflow run was not created for ${input.headSha}; ` +
|
|
23
|
+
`workflow=${input.workflowFile}, branch=${input.branch}, event=workflow_dispatch, ` +
|
|
24
|
+
`observedRunIds=${formatObservedRunIds(input.observedRunIds)}`);
|
|
25
|
+
}
|
|
26
|
+
async function findDispatchedWorkflowRun(input) {
|
|
27
|
+
return input.client.findDispatchedWorkflowRun({
|
|
28
|
+
branch: input.config.branch,
|
|
29
|
+
headSha: input.headSha,
|
|
30
|
+
workflowFile: input.ciConfig.workflowFile
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async function waitForDispatchedWorkflowRun(input) {
|
|
34
|
+
let lookup = await findDispatchedWorkflowRun(input);
|
|
35
|
+
for (const attempt of createRetryAttempts(workflowRunLookupAttempts)) {
|
|
36
|
+
if (attempt !== 0) {
|
|
37
|
+
lookup = await findDispatchedWorkflowRun(input);
|
|
38
|
+
}
|
|
39
|
+
if (lookup.runId !== undefined && !input.ignoredRunIds.has(lookup.runId)) {
|
|
40
|
+
return lookup.runId;
|
|
41
|
+
}
|
|
42
|
+
if (!isLastAttempt(attempt, workflowRunLookupAttempts)) {
|
|
43
|
+
await input.sleep(workflowPollIntervalMilliseconds);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
throw new Error(formatWorkflowRunLookupFailure({
|
|
47
|
+
branch: input.config.branch,
|
|
48
|
+
headSha: input.headSha,
|
|
49
|
+
observedRunIds: lookup.observedRunIds,
|
|
50
|
+
workflowFile: input.ciConfig.workflowFile
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
function requiredJobResultFor(runResult, context) {
|
|
54
|
+
return runResult.jobs.find(function (candidate) {
|
|
55
|
+
return candidate.name === context;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
function allRequiredJobsCompleted(runResult, contexts) {
|
|
59
|
+
return contexts.every(function (context) {
|
|
60
|
+
return requiredJobResultFor(runResult, context)?.conclusion !== undefined;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function workflowStatusState(conclusion) {
|
|
64
|
+
if (conclusion === 'success') {
|
|
65
|
+
return 'success';
|
|
66
|
+
}
|
|
67
|
+
return conclusion === 'failure' ? 'failure' : 'error';
|
|
68
|
+
}
|
|
69
|
+
function workflowStatusDescription(conclusion) {
|
|
70
|
+
return `Dispatched release CI job ${conclusion}.`;
|
|
71
|
+
}
|
|
72
|
+
function workflowStatusTargetUrl(runResult, job) {
|
|
73
|
+
return job?.url ?? runResult.url;
|
|
74
|
+
}
|
|
75
|
+
async function mirrorKnownWorkflowStatuses(input) {
|
|
76
|
+
await Promise.all(input.ciConfig.requiredStatusContexts.map(async function (context) {
|
|
77
|
+
const job = requiredJobResultFor(input.runResult, context);
|
|
78
|
+
if (job === undefined) {
|
|
79
|
+
await input.client.createStatus({
|
|
80
|
+
commitSha: input.headSha,
|
|
81
|
+
context,
|
|
82
|
+
description: 'Dispatched release CI job running.',
|
|
83
|
+
state: 'pending',
|
|
84
|
+
targetUrl: input.runResult.url
|
|
85
|
+
});
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (job.conclusion === undefined) {
|
|
89
|
+
await input.client.createStatus({
|
|
90
|
+
commitSha: input.headSha,
|
|
91
|
+
context,
|
|
92
|
+
description: 'Dispatched release CI job running.',
|
|
93
|
+
state: 'pending',
|
|
94
|
+
targetUrl: workflowStatusTargetUrl(input.runResult, job)
|
|
95
|
+
});
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
await input.client.createStatus({
|
|
99
|
+
commitSha: input.headSha,
|
|
100
|
+
context,
|
|
101
|
+
description: workflowStatusDescription(job.conclusion),
|
|
102
|
+
state: workflowStatusState(job.conclusion),
|
|
103
|
+
targetUrl: workflowStatusTargetUrl(input.runResult, job)
|
|
104
|
+
});
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
async function waitForWorkflowCompletion(input) {
|
|
108
|
+
for (const attempt of createRetryAttempts(workflowRunCompletionAttempts)) {
|
|
109
|
+
const result = await input.client.readWorkflowRunResult(input.runId);
|
|
110
|
+
if (result.conclusion !== undefined ||
|
|
111
|
+
allRequiredJobsCompleted(result, input.ciConfig.requiredStatusContexts)) {
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
await mirrorKnownWorkflowStatuses({ ...input, runResult: result });
|
|
115
|
+
if (!isLastAttempt(attempt, workflowRunCompletionAttempts)) {
|
|
116
|
+
await input.sleep(workflowPollIntervalMilliseconds);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
throw new Error(`Release workflow run ${input.runId} did not complete`);
|
|
120
|
+
}
|
|
121
|
+
function missingWorkflowStatusDescription(context) {
|
|
122
|
+
return `Missing dispatched release CI job: ${context}.`;
|
|
123
|
+
}
|
|
124
|
+
function incompleteWorkflowStatus(context, targetUrl) {
|
|
125
|
+
return {
|
|
126
|
+
description: missingWorkflowStatusDescription(context),
|
|
127
|
+
passed: false,
|
|
128
|
+
state: 'failure',
|
|
129
|
+
targetUrl
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function completedWorkflowStatus(conclusion, targetUrl) {
|
|
133
|
+
if (conclusion === 'success') {
|
|
134
|
+
return {
|
|
135
|
+
description: 'Dispatched release CI job success.',
|
|
136
|
+
passed: true,
|
|
137
|
+
state: 'success',
|
|
138
|
+
targetUrl
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
description: workflowStatusDescription(conclusion),
|
|
143
|
+
passed: false,
|
|
144
|
+
state: workflowStatusState(conclusion),
|
|
145
|
+
targetUrl
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function finalWorkflowStatusFor(context, job, runResult) {
|
|
149
|
+
if (job?.conclusion === undefined) {
|
|
150
|
+
return incompleteWorkflowStatus(context, workflowStatusTargetUrl(runResult, job));
|
|
151
|
+
}
|
|
152
|
+
return completedWorkflowStatus(job.conclusion, workflowStatusTargetUrl(runResult, job));
|
|
153
|
+
}
|
|
154
|
+
async function mirrorWorkflowStatus(input) {
|
|
155
|
+
const job = requiredJobResultFor(input.runResult, input.context);
|
|
156
|
+
const status = finalWorkflowStatusFor(input.context, job, input.runResult);
|
|
157
|
+
await input.client.createStatus({
|
|
158
|
+
commitSha: input.headSha,
|
|
159
|
+
context: input.context,
|
|
160
|
+
description: status.description,
|
|
161
|
+
state: status.state,
|
|
162
|
+
targetUrl: status.targetUrl
|
|
163
|
+
});
|
|
164
|
+
return status.passed;
|
|
165
|
+
}
|
|
166
|
+
async function mirrorWorkflowStatuses(input) {
|
|
167
|
+
const statuses = await Promise.all(input.ciConfig.requiredStatusContexts.map(async function (context) {
|
|
168
|
+
return mirrorWorkflowStatus({ ...input, context });
|
|
169
|
+
}));
|
|
170
|
+
return statuses.every(Boolean);
|
|
171
|
+
}
|
|
172
|
+
async function createPendingWorkflowStatuses(input) {
|
|
173
|
+
for (const context of input.ciConfig.requiredStatusContexts) {
|
|
174
|
+
await input.client.createStatus({
|
|
175
|
+
commitSha: input.headSha,
|
|
176
|
+
context,
|
|
177
|
+
description: 'Waiting for dispatched release CI.',
|
|
178
|
+
state: 'pending',
|
|
179
|
+
targetUrl: undefined
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
async function createFailedWorkflowStatuses(input) {
|
|
184
|
+
for (const context of input.ciConfig.requiredStatusContexts) {
|
|
185
|
+
await input.client.createStatus({
|
|
186
|
+
commitSha: input.headSha,
|
|
187
|
+
context,
|
|
188
|
+
description: input.description,
|
|
189
|
+
state: 'error',
|
|
190
|
+
targetUrl: undefined
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
async function waitForActiveDispatchedWorkflowRunsToCancel(input) {
|
|
195
|
+
for (const attempt of createRetryAttempts(staleWorkflowRunCancellationAttempts)) {
|
|
196
|
+
const activeRunIds = await input.client.cancelActiveDispatchedWorkflowRuns({
|
|
197
|
+
branch: input.config.branch,
|
|
198
|
+
workflowFile: input.ciConfig.workflowFile
|
|
199
|
+
});
|
|
200
|
+
if (activeRunIds.length === 0) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
if (isLastAttempt(attempt, staleWorkflowRunCancellationAttempts)) {
|
|
204
|
+
throw new Error(`Active release workflow runs did not cancel: ${formatObservedRunIds(activeRunIds)}`);
|
|
205
|
+
}
|
|
206
|
+
await input.sleep(workflowPollIntervalMilliseconds);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
function nextActionRequiredPullRequestRunCleanReads(cleanReads, deletedRunIds) {
|
|
210
|
+
return deletedRunIds.length === 0 ? cleanReads + 1 : 0;
|
|
211
|
+
}
|
|
212
|
+
async function dispatchWorkflowRun(input) {
|
|
213
|
+
await waitForActiveDispatchedWorkflowRunsToCancel(input);
|
|
214
|
+
const baseline = await findDispatchedWorkflowRun(input);
|
|
215
|
+
await createPendingWorkflowStatuses(input);
|
|
216
|
+
await input.client.dispatchWorkflow({
|
|
217
|
+
ref: input.config.branch,
|
|
218
|
+
workflowFile: input.ciConfig.workflowFile
|
|
219
|
+
});
|
|
220
|
+
return waitForDispatchedWorkflowRun({
|
|
221
|
+
...input,
|
|
222
|
+
ignoredRunIds: new Set([...input.ignoredRunIds, ...baseline.observedRunIds])
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
async function deleteActionRequiredPullRequestRuns(input) {
|
|
226
|
+
return input.client.deleteActionRequiredPullRequestRuns({
|
|
227
|
+
branch: input.config.branch,
|
|
228
|
+
headSha: input.headSha
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
async function waitForActionRequiredPullRequestRunsToDelete(input) {
|
|
232
|
+
let cleanReads = 0;
|
|
233
|
+
for (const attempt of createRetryAttempts(actionRequiredPullRequestRunCleanupAttempts)) {
|
|
234
|
+
const deletedRunIds = await deleteActionRequiredPullRequestRuns(input);
|
|
235
|
+
cleanReads = nextActionRequiredPullRequestRunCleanReads(cleanReads, deletedRunIds);
|
|
236
|
+
if (cleanReads === actionRequiredPullRequestRunCleanReads) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
if (isLastAttempt(attempt, actionRequiredPullRequestRunCleanupAttempts)) {
|
|
240
|
+
throw new Error(`Action-required pull request workflow runs did not delete: ${formatObservedRunIds(deletedRunIds)}`);
|
|
241
|
+
}
|
|
242
|
+
await input.sleep(workflowPollIntervalMilliseconds);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
async function waitForConfiguredActionRequiredPullRequestRunCleanup(input, ciConfig) {
|
|
246
|
+
if (ciConfig.deleteActionRequiredPullRequestRuns) {
|
|
247
|
+
await waitForActionRequiredPullRequestRunsToDelete(input);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
async function resolveWorkflowRunIdOrFailStatuses(input, ciConfig) {
|
|
251
|
+
try {
|
|
252
|
+
await waitForConfiguredActionRequiredPullRequestRunCleanup(input, ciConfig);
|
|
253
|
+
return await dispatchWorkflowRun({ ...input, ciConfig, ignoredRunIds: new Set() });
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
await createFailedWorkflowStatuses({
|
|
257
|
+
ciConfig,
|
|
258
|
+
client: input.client,
|
|
259
|
+
description: 'Dispatched release CI did not start.',
|
|
260
|
+
headSha: input.headSha
|
|
261
|
+
});
|
|
262
|
+
throw error;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
async function waitForWorkflowCompletionOrFailStatuses(input, ciConfig, runId) {
|
|
266
|
+
try {
|
|
267
|
+
return await waitForWorkflowCompletion({
|
|
268
|
+
ciConfig,
|
|
269
|
+
client: input.client,
|
|
270
|
+
headSha: input.headSha,
|
|
271
|
+
runId,
|
|
272
|
+
sleep: input.sleep
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
catch (error) {
|
|
276
|
+
await createFailedWorkflowStatuses({
|
|
277
|
+
ciConfig,
|
|
278
|
+
client: input.client,
|
|
279
|
+
description: 'Dispatched release CI did not complete.',
|
|
280
|
+
headSha: input.headSha
|
|
281
|
+
});
|
|
282
|
+
throw error;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
export async function runConfiguredGitHubActionsCi(input) {
|
|
286
|
+
const { githubActionsCi } = input.config;
|
|
287
|
+
if (githubActionsCi === undefined) {
|
|
288
|
+
return true;
|
|
289
|
+
}
|
|
290
|
+
const runId = await resolveWorkflowRunIdOrFailStatuses(input, githubActionsCi);
|
|
291
|
+
return mirrorWorkflowStatuses({
|
|
292
|
+
ciConfig: githubActionsCi,
|
|
293
|
+
client: input.client,
|
|
294
|
+
headSha: input.headSha,
|
|
295
|
+
runResult: await waitForWorkflowCompletionOrFailStatuses(input, githubActionsCi, runId)
|
|
296
|
+
});
|
|
297
|
+
}
|
|
1
298
|
//# sourceMappingURL=release-pull-request-ci.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-pull-request-ci.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/release-pull-request-ci.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"release-pull-request-ci.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/release-pull-request-ci.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,52 @@
|
|
|
1
|
-
import 'zod/mini';
|
|
2
|
-
import 'true-myth';
|
|
3
|
-
import "packtory/common/schema-validation.js";
|
|
4
|
-
import "packtory/config/packtory-config-schema.js";
|
|
5
|
-
import "./release-pull-request-settings.js";
|
|
1
|
+
import { z } from 'zod/mini';
|
|
2
|
+
import { Result } from 'true-myth';
|
|
3
|
+
import { safeParse } from "packtory/common/schema-validation.js";
|
|
4
|
+
import { packtoryConfigSchema } from "packtory/config/packtory-config-schema.js";
|
|
5
|
+
import { releasePullRequestSettingsSchema } from "./release-pull-request-settings.js";
|
|
6
|
+
const releasePullRequestConfigContainerSchema = z.readonly(z.object({ releasePullRequest: z.optional(releasePullRequestSettingsSchema) }));
|
|
7
|
+
const commandLineInterfacePacktoryConfigSchema = z.intersection(packtoryConfigSchema, releasePullRequestConfigContainerSchema);
|
|
8
|
+
const defaultReleasePullRequestConfig = {
|
|
9
|
+
automationAuthor: 'github-actions[bot]',
|
|
10
|
+
body: 'Updates changelogs for the next release.',
|
|
11
|
+
branch: 'release/packtory',
|
|
12
|
+
commitSubject: 'Release packages',
|
|
13
|
+
defaultBranch: 'main',
|
|
14
|
+
githubActionsCi: undefined,
|
|
15
|
+
label: 'release',
|
|
16
|
+
title: 'Prepare release'
|
|
17
|
+
};
|
|
18
|
+
function resolveGitHubActionsCiConfig(settings) {
|
|
19
|
+
if (settings === undefined) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
deleteActionRequiredPullRequestRuns: settings.deleteActionRequiredPullRequestRuns ?? true,
|
|
24
|
+
requiredStatusContexts: settings.requiredStatusContexts,
|
|
25
|
+
workflowFile: settings.workflowFile
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function resolveStringSetting(settings, setting) {
|
|
29
|
+
return settings?.[setting] ?? defaultReleasePullRequestConfig[setting];
|
|
30
|
+
}
|
|
31
|
+
export function resolveReleasePullRequestConfig(config) {
|
|
32
|
+
const { releasePullRequest } = config;
|
|
33
|
+
return {
|
|
34
|
+
automationAuthor: resolveStringSetting(releasePullRequest, 'automationAuthor'),
|
|
35
|
+
body: resolveStringSetting(releasePullRequest, 'body'),
|
|
36
|
+
branch: resolveStringSetting(releasePullRequest, 'branch'),
|
|
37
|
+
commitSubject: resolveStringSetting(releasePullRequest, 'commitSubject'),
|
|
38
|
+
defaultBranch: resolveStringSetting(releasePullRequest, 'defaultBranch'),
|
|
39
|
+
githubActionsCi: resolveGitHubActionsCiConfig(releasePullRequest?.githubActionsCi),
|
|
40
|
+
label: resolveStringSetting(releasePullRequest, 'label'),
|
|
41
|
+
title: resolveStringSetting(releasePullRequest, 'title')
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function parseCommandLineInterfacePacktoryConfig(config) {
|
|
45
|
+
const result = safeParse(commandLineInterfacePacktoryConfigSchema, config);
|
|
46
|
+
return result.success ? result.data : undefined;
|
|
47
|
+
}
|
|
48
|
+
export function validateCommandLineInterfacePacktoryConfig(config) {
|
|
49
|
+
const result = safeParse(commandLineInterfacePacktoryConfigSchema, config);
|
|
50
|
+
return result.success ? Result.ok(result.data) : Result.err(result.error.issues);
|
|
51
|
+
}
|
|
6
52
|
//# sourceMappingURL=release-pull-request-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-pull-request-config.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/release-pull-request-config.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"release-pull-request-config.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/release-pull-request-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAmC,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAAwC,CAAC;AAC9E,OAAO,EAAE,gCAAgC,EAAmC,MAAM,oCAAoC,CAAC;AAmBvH,MAAM,uCAAuC,GAAG,CAAC,CAAC,QAAQ,CACtD,CAAC,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC,CACjF,CAAC;AACF,MAAM,wCAAwC,GAAG,CAAC,CAAC,YAAY,CAC3D,oBAAoB,EACpB,uCAAuC,CAC1C,CAAC;AAUF,MAAM,+BAA+B,GAA6B;IAC9D,gBAAgB,EAAE,qBAAqB;IACvC,IAAI,EAAE,0CAA0C;IAChD,MAAM,EAAE,kBAAkB;IAC1B,aAAa,EAAE,kBAAkB;IACjC,aAAa,EAAE,MAAM;IACrB,eAAe,EAAE,SAAS;IAC1B,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,iBAAiB;CAC3B,CAAC;AAEF,SAAS,4BAA4B,CACjC,QAAuD;IAEvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO;QACH,mCAAmC,EAAE,QAAQ,CAAC,mCAAmC,IAAI,IAAI;QACzF,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;QACvD,YAAY,EAAE,QAAQ,CAAC,YAAY;KACtC,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CACzB,QAAgD,EAChD,OAAwC;IAExC,OAAO,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAAyC;IACrF,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IACtC,OAAO;QACH,gBAAgB,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;QAC9E,IAAI,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACtD,MAAM,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,QAAQ,CAAC;QAC1D,aAAa,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,eAAe,CAAC;QACxE,aAAa,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,eAAe,CAAC;QACxE,eAAe,EAAE,4BAA4B,CAAC,kBAAkB,EAAE,eAAe,CAAC;QAClF,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,OAAO,CAAC;QACxD,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,OAAO,CAAC;KAC3D,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uCAAuC,CACnD,MAAe;IAEf,MAAM,MAAM,GAAG,SAAS,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,0CAA0C,CACtD,MAAe;IAEf,MAAM,MAAM,GAAG,SAAS,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACrF,CAAC"}
|