@catladder/cli 5.7.0 → 5.7.1

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.
@@ -16,10 +16,13 @@ exports.githubReviewDeployTriggerJob = exports.githubReviewDeployGuardJob = void
16
16
  * whether the run deploys (`deploy` step output):
17
17
  * - source `manual` (a dispatch by a human or agent): always,
18
18
  * provided the PR is open and its CI is green
19
- * - source `ci` (dispatched by the trigger) and `label` (the switch
20
- * label changed / a draft was marked ready): when the policy says
21
- * so — and the CI is green. A label switched on while CI still runs
22
- * is no deploy here: the trigger picks it up once CI is green.
19
+ * - source `ci` (dispatched by the trigger, which runs after the
20
+ * aggregate check succeeded): when the policy says so; the CI is
21
+ * green by construction, the guard verifies only the head
22
+ * - source `label` (the switch label changed / a draft was marked
23
+ * ready): when the policy says so — and the CI is green. A label
24
+ * switched on while CI still runs is no deploy here (status
25
+ * `pending`): the trigger picks it up once CI is green.
23
26
  */
24
27
  const reviewAppsPolicy_1 = require("../../../../packages/pipeline/src/reviewAppsPolicy");
25
28
  const fs_1 = require("fs");
@@ -36,6 +39,12 @@ const GITHUB_REVIEW_DEPLOY_WORKFLOW = "catladder-deploy-review.yml";
36
39
  * packages/pipeline/src/backends/github/aggregateCheckJob.ts.
37
40
  */
38
41
  const AGGREGATE_CHECK_NAME = "catladder ✅";
42
+ /**
43
+ * the commit status the review app result is reported on. Keep in sync
44
+ * with REVIEW_APP_STATUS_CONTEXT in
45
+ * packages/pipeline/src/backends/github/reviewDeployWorkflow.ts.
46
+ */
47
+ const REVIEW_APP_STATUS_CONTEXT = "catladder review app";
39
48
  const requireEnv = (name) => {
40
49
  const value = process.env[name];
41
50
  if (!value) {
@@ -88,6 +97,27 @@ const getAggregateCheck = async (sha) => {
88
97
  const [newest] = [...((_a = data.check_runs) !== null && _a !== void 0 ? _a : [])].sort((a, b) => b.id - a.id);
89
98
  return newest !== null && newest !== void 0 ? newest : null;
90
99
  };
100
+ /**
101
+ * a deploy that waits for the CI must not leave the PR without a
102
+ * status: a merge gate would see nothing and wait without a reason
103
+ */
104
+ const reportWaitingForCi = async (sha, message) => {
105
+ var _a, _b;
106
+ const response = await githubApi(`statuses/${sha}`, {
107
+ method: "POST",
108
+ headers: { "content-type": "application/json" },
109
+ body: JSON.stringify({
110
+ state: "pending",
111
+ context: REVIEW_APP_STATUS_CONTEXT,
112
+ description: message.slice(0, 140),
113
+ target_url: `${(_a = process.env.GITHUB_SERVER_URL) !== null && _a !== void 0 ? _a : "https://github.com"}/${requireEnv("GITHUB_REPOSITORY")}/actions/runs/${(_b = process.env.GITHUB_RUN_ID) !== null && _b !== void 0 ? _b : ""}`,
114
+ }),
115
+ });
116
+ if (!response.ok) {
117
+ // informational only — never fail the guard over it
118
+ console.log(`::warning::reporting the pending review app status failed: ${response.status}`);
119
+ }
120
+ };
91
121
  const short = (sha) => sha.slice(0, 7);
92
122
  const mrState = (pr) => ({
93
123
  labels: pr.labels.map((label) => label.name),
@@ -135,8 +165,22 @@ const githubReviewDeployGuardJob = async () => {
135
165
  ? `this run is for ${short(headSha)}, but #${pr.number}'s head is ${short(pr.head.sha)} — dispatch the workflow from the pull request's branch ('${pr.head.ref}')`
136
166
  : `#${pr.number} moved on to ${short(pr.head.sha)} — its own review run decides`);
137
167
  }
168
+ // the trigger job dispatches with source `ci` only after the review
169
+ // run's aggregate check succeeded for this very head — reading the
170
+ // check again here raced the checks api (a deploy was lost 17 s after
171
+ // the check completed, zue-zuerich-tourismus#159): the head match
172
+ // above is the whole verification for a ci dispatch
173
+ if (source === "ci") {
174
+ console.log(`deploying the review apps of #${pr.number} (${short(headSha)}): ${reason}; the review run (${AGGREGATE_CHECK_NAME}) dispatched this deploy after it was green`);
175
+ (0, stepSummary_1.appendStepSummary)(`🚀 **Deploying** the review apps of #${pr.number} (\`${short(headSha)}\`): ${reason}.`);
176
+ setStepOutput("deploy", "true");
177
+ return;
178
+ }
138
179
  const check = await getAggregateCheck(headSha);
139
180
  if (!check || check.status !== "completed") {
181
+ if (!explicit) {
182
+ await reportWaitingForCi(headSha, `waiting for the CI of ${short(headSha)} (${AGGREGATE_CHECK_NAME}) — the review apps deploy once it is green`);
183
+ }
140
184
  return refuse(`the CI of ${short(headSha)} (${AGGREGATE_CHECK_NAME}) is not finished yet` +
141
185
  (explicit
142
186
  ? " — dispatch again once it is green"
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../../src/reviewApps/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../../src/reviewApps/github.ts"],"names":[],"mappings":"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"}