gha-workflow-testing 1.0.0 → 1.1.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.
Files changed (42) hide show
  1. package/README.md +16 -19
  2. package/dist/check_run.d.ts +20 -0
  3. package/dist/check_run.d.ts.map +1 -0
  4. package/dist/check_run.js +110 -0
  5. package/dist/check_run.js.map +1 -0
  6. package/dist/github-api.d.ts +2 -0
  7. package/dist/github-api.d.ts.map +1 -1
  8. package/dist/github-api.js +37 -11
  9. package/dist/github-api.js.map +1 -1
  10. package/dist/global_setup.d.ts +9 -0
  11. package/dist/global_setup.d.ts.map +1 -0
  12. package/dist/global_setup.js +50 -0
  13. package/dist/global_setup.js.map +1 -0
  14. package/dist/global_teardown.d.ts +10 -0
  15. package/dist/global_teardown.d.ts.map +1 -0
  16. package/dist/global_teardown.js +77 -0
  17. package/dist/global_teardown.js.map +1 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/reporter.d.ts +28 -0
  23. package/dist/reporter.d.ts.map +1 -1
  24. package/dist/reporter.js +106 -51
  25. package/dist/reporter.js.map +1 -1
  26. package/dist/reusable_reporter.d.ts +211 -0
  27. package/dist/reusable_reporter.d.ts.map +1 -0
  28. package/dist/reusable_reporter.js +749 -0
  29. package/dist/reusable_reporter.js.map +1 -0
  30. package/dist/workflow_status.d.ts +57 -0
  31. package/dist/workflow_status.d.ts.map +1 -0
  32. package/dist/workflow_status.js +165 -0
  33. package/dist/workflow_status.js.map +1 -0
  34. package/package.json +6 -7
  35. package/src/check_run.ts +122 -0
  36. package/src/github-api.ts +44 -12
  37. package/src/global_setup.ts +16 -0
  38. package/src/global_teardown.ts +53 -0
  39. package/src/index.ts +3 -0
  40. package/src/reporter.ts +121 -21
  41. package/src/reusable_reporter.ts +890 -0
  42. package/src/workflow_status.ts +181 -0
package/dist/reporter.js CHANGED
@@ -1,42 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.WorkflowTestReporter = void 0;
37
4
  exports.getReporter = getReporter;
38
5
  exports.resetReporter = resetReporter;
39
- const fs = __importStar(require("fs"));
40
6
  class WorkflowTestReporter {
41
7
  constructor(workflowName) {
42
8
  this.jobs = {};
@@ -60,7 +26,7 @@ class WorkflowTestReporter {
60
26
  this.jobs[jobName] = {
61
27
  tested: false,
62
28
  result: 'Not Tested',
63
- conclusion: jobInfo.conclusion || undefined,
29
+ conclusion: jobInfo.conclusion ?? undefined,
64
30
  steps: {},
65
31
  };
66
32
  }
@@ -96,11 +62,43 @@ class WorkflowTestReporter {
96
62
  };
97
63
  }
98
64
  }
65
+ /**
66
+ * Return an aggregated job count snapshot.
67
+ * Used by `registerWorkflowResult` to populate the cross-workflow status file
68
+ * without exposing the raw jobs map.
69
+ */
70
+ getJobSummary() {
71
+ let passed = 0, failed = 0, skipped = 0;
72
+ for (const jobInfo of Object.values(this.jobs)) {
73
+ const c = jobInfo.conclusion ?? '';
74
+ if (c === 'success')
75
+ passed++;
76
+ else if (c === 'skipped' || c === 'neutral')
77
+ skipped++;
78
+ else if (c)
79
+ failed++;
80
+ }
81
+ return { total: Object.keys(this.jobs).length, passed, failed, skipped };
82
+ }
83
+ /** Return per-job name + conclusion for cross-workflow diagnostic reporting. */
84
+ getJobDetails() {
85
+ return Object.entries(this.jobs).map(([name, info]) => ({
86
+ name,
87
+ conclusion: info.conclusion ?? null,
88
+ }));
89
+ }
90
+ getRunId() {
91
+ return this.runId;
92
+ }
99
93
  recordJobTest(jobName, passed, expected, actual) {
100
94
  this.addJob(jobName);
101
95
  this.jobs[jobName].tested = true;
102
96
  this.jobs[jobName].expected = expected;
103
97
  this.jobs[jobName].actual = actual;
98
+ // Propagate the real API conclusion back so buildWorkflowRollup is accurate
99
+ if (actual !== undefined) {
100
+ this.jobs[jobName].conclusion = actual;
101
+ }
104
102
  if (passed) {
105
103
  this.jobs[jobName].result = `✅ Passed (expected: ${expected})`;
106
104
  }
@@ -196,6 +194,34 @@ class WorkflowTestReporter {
196
194
  lines.push(`| Artifacts Tested | ${testedArtifacts} |`);
197
195
  lines.push(`| Artifacts Passed | ${passedArtifacts} |`);
198
196
  lines.push('');
197
+ // ── Workflow & Job rollup ─────────────────────────────────────────────
198
+ const rollup = this.buildWorkflowRollup();
199
+ if (rollup.size > 0) {
200
+ lines.push('## 🔄 Workflow Summary');
201
+ lines.push('');
202
+ lines.push('| Workflow | Jobs | Pass | Fail | Skipped |');
203
+ lines.push('|----------|------|------|------|---------|');
204
+ for (const [wfName, wfData] of rollup.entries()) {
205
+ lines.push(`| \`${wfName}\` | ${wfData.total} | ${wfData.pass} | ${wfData.fail} | ${wfData.skipped} |`);
206
+ }
207
+ lines.push('');
208
+ for (const [wfName, wfData] of rollup.entries()) {
209
+ if (wfData.jobs.length === 0)
210
+ continue;
211
+ lines.push(`### Job Summary — \`${wfName}\``);
212
+ lines.push('');
213
+ lines.push('| Job | Conclusion |');
214
+ lines.push('|-----|-----------|');
215
+ for (const { displayName, conclusion } of wfData.jobs) {
216
+ const icon = conclusion === 'success' ? '✅' :
217
+ conclusion === 'skipped' ? '⏭️' :
218
+ conclusion === 'neutral' ? 'ℹ️' :
219
+ conclusion != null ? '❌' : '❓';
220
+ lines.push(`| ${icon} \`${displayName}\` | ${conclusion ?? 'unknown'} |`);
221
+ }
222
+ lines.push('');
223
+ }
224
+ }
199
225
  // Job details
200
226
  lines.push('## 📋 Detailed Test Results');
201
227
  lines.push('');
@@ -236,28 +262,57 @@ class WorkflowTestReporter {
236
262
  return lines.join('\n');
237
263
  }
238
264
  writeToGithubSummary() {
239
- console.log('\n🔍 Attempting to write test report...');
240
- const summaryFile = process.env.GITHUB_STEP_SUMMARY;
241
- if (!summaryFile) {
242
- console.log('⚠️ GITHUB_STEP_SUMMARY environment variable not set');
243
- console.log(' Report will only be printed to console');
244
- return;
245
- }
246
- console.log(`📝 Writing report to: ${summaryFile}`);
247
- const markdown = this.generateMarkdown();
248
- try {
249
- fs.appendFileSync(summaryFile, markdown);
250
- console.log('✅ Test report successfully written to GitHub Actions summary');
251
- }
252
- catch (error) {
253
- console.log(`❌ Failed to write report: ${error}`);
254
- }
265
+ // Per-workflow detail is now attached to the GitHub Check Run (see check_run.ts).
266
+ // This method is intentionally a no-op; kept for backward compatibility.
267
+ console.log('ℹ️ Per-workflow report will appear in the Check Run (not the step summary).');
255
268
  }
256
269
  printReport() {
257
270
  console.log('\n' + '='.repeat(80));
258
271
  console.log(this.generateMarkdown());
259
272
  console.log('='.repeat(80) + '\n');
260
273
  }
274
+ /**
275
+ * Group this.jobs by their reusable-workflow name and compute pass/fail/skipped counts.
276
+ *
277
+ * Grouping rule:
278
+ * - Job name contains " / " → first segment is the caller job name.
279
+ * Strip a leading "call-" prefix to get the reusable-wf group
280
+ * (e.g. "call-ci-scan / sonarqube / scan" → group "ci-scan",
281
+ * display name "sonarqube / scan").
282
+ * - No " / " in name → direct caller job, group "(caller)".
283
+ */
284
+ buildWorkflowRollup() {
285
+ const rollup = new Map();
286
+ for (const [jobName, jobInfo] of Object.entries(this.jobs)) {
287
+ const slashIdx = jobName.indexOf(' / ');
288
+ let wfName;
289
+ let displayName;
290
+ if (slashIdx === -1) {
291
+ wfName = '(caller)';
292
+ displayName = jobName;
293
+ }
294
+ else {
295
+ // Convention: job name = reusable-wf name it calls, e.g. "ci-scan / sonarqube / scan"
296
+ // First segment IS the reusable workflow group name, remainder is the display name.
297
+ wfName = jobName.substring(0, slashIdx);
298
+ displayName = jobName.substring(slashIdx + 3);
299
+ }
300
+ if (!rollup.has(wfName)) {
301
+ rollup.set(wfName, { total: 0, pass: 0, fail: 0, skipped: 0, jobs: [] });
302
+ }
303
+ const entry = rollup.get(wfName);
304
+ entry.total++;
305
+ const c = jobInfo.conclusion ?? null;
306
+ if (c === 'success')
307
+ entry.pass++;
308
+ else if (c === 'skipped' || c === 'neutral')
309
+ entry.skipped++;
310
+ else if (c != null)
311
+ entry.fail++;
312
+ entry.jobs.push({ displayName, conclusion: c });
313
+ }
314
+ return rollup;
315
+ }
261
316
  }
262
317
  exports.WorkflowTestReporter = WorkflowTestReporter;
263
318
  // Global reporter instance
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * reusable_reporter.ts
3
+ *
4
+ * Aggregating reporter that groups GitHub Actions jobs and steps by the
5
+ * reusable workflow that defined them. Extends WorkflowTestReporter from
6
+ * reporter.ts so all existing recording/assertion helpers still work; this
7
+ * file only adds the aggregation and grouped-output layer on top.
8
+ *
9
+ * Primary strategy : use the `workflow_name` field returned by the GitHub
10
+ * Jobs API (populated when a job is defined in a reusable
11
+ * workflow called via `uses:`).
12
+ * Fallback strategy : parse the job name for a " / " separator pattern that
13
+ * GitHub sometimes uses when nesting reusable calls
14
+ * (e.g. "call-ci-scan / sonarqube" → group "call-ci-scan").
15
+ */
16
+ import { WorkflowTestReporter } from './reporter';
17
+ import { GitHubAPI } from './github-api';
18
+ export interface ReusableStepSummary {
19
+ conclusion: string | null;
20
+ passed: boolean;
21
+ }
22
+ export interface ReusableJobSummary {
23
+ conclusion: string | null;
24
+ passed: boolean;
25
+ steps: {
26
+ [stepName: string]: ReusableStepSummary;
27
+ };
28
+ }
29
+ /** Sentinel group key for jobs defined directly in the caller workflow (not via `uses:`). */
30
+ export declare const DIRECT_JOBS_GROUP = "(caller)";
31
+ export interface ReusableWorkflowGroup {
32
+ /**
33
+ * Reusable workflow name (from the `workflow_name` API field, e.g. "scan" / "ci-scan"),
34
+ * OR `DIRECT_JOBS_GROUP` for jobs defined directly in the caller workflow.
35
+ */
36
+ workflowName: string;
37
+ /**
38
+ * True when this group holds jobs defined directly in the caller workflow
39
+ * (not triggered via a reusable workflow `uses:` call).
40
+ */
41
+ isDirect: boolean;
42
+ /**
43
+ * The caller-workflow job names that invoked this reusable workflow
44
+ * (e.g. `["call-ci-scan"]`). Empty for direct-job groups.
45
+ */
46
+ callerJobNames: string[];
47
+ jobs: {
48
+ [jobName: string]: ReusableJobSummary;
49
+ };
50
+ overallResult: 'success' | 'failure' | 'partial_failure' | 'skipped' | 'unknown';
51
+ totalJobs: number;
52
+ passedJobs: number;
53
+ failedJobs: number;
54
+ totalSteps: number;
55
+ passedSteps: number;
56
+ failedSteps: number;
57
+ }
58
+ export declare class ReusableWorkflowReporter extends WorkflowTestReporter {
59
+ private callerWorkflowName;
60
+ private reusableGroups;
61
+ constructor(workflowName: string);
62
+ /**
63
+ * Convenience method: loads all jobs/steps via the parent's
64
+ * `loadAllJobsAndSteps`, then groups them by reusable workflow name.
65
+ */
66
+ loadAndGroup(api: GitHubAPI, runId: number): Promise<void>;
67
+ /**
68
+ * Fetch all jobs for `runId`, then for each job:
69
+ * 1. Determine which reusable workflow group it belongs to
70
+ * (via `workflow_name` API field, falling back to the job-name pattern).
71
+ * 2. Fetch its steps and record pass/fail per step.
72
+ * Builds the internal `reusableGroups` map and computes per-group totals.
73
+ */
74
+ groupByReusableWorkflow(api: GitHubAPI, runId: number): Promise<void>;
75
+ /** Return all computed groups (read-only snapshot). */
76
+ getReusableGroups(): Readonly<{
77
+ [wfName: string]: ReusableWorkflowGroup;
78
+ }>;
79
+ /**
80
+ * Assert every reusable-workflow group (excludes the `(caller)` direct-job
81
+ * group) has `overallResult === 'success'`.
82
+ * Throws with a summary of every failing group.
83
+ */
84
+ assertAllGroupsSucceed(): void;
85
+ /**
86
+ * Assert every direct (caller-defined) job succeeded.
87
+ * Throws with the list of failed jobs.
88
+ */
89
+ assertAllDirectJobsSucceed(): void;
90
+ /**
91
+ * Assert every step in every reusable group has an acceptable conclusion
92
+ * (`'success'` or `'skipped'`).
93
+ * Throws with a full list of offending steps.
94
+ */
95
+ assertAllStepsAcceptable(): void;
96
+ /**
97
+ * Assert that a reusable-workflow group with the given name (case-insensitive
98
+ * substring match) exists and succeeded.
99
+ *
100
+ * @param pattern Substring or regex to match against group names
101
+ * (e.g. `'sonar'`, `'snyk'`, `/ci-scan/i`).
102
+ */
103
+ assertGroupSucceeds(pattern: string | RegExp): void;
104
+ /**
105
+ * Strip the `.yml` / `.yaml` suffix and owner prefix so the group key is
106
+ * a short, readable workflow name (e.g. "ci-scan" not "ci-scan.yml").
107
+ */
108
+ private normaliseWorkflowName;
109
+ /**
110
+ * Fallback: if the job name contains " / ", treat everything before the
111
+ * last " / " as the group (the caller job name).
112
+ * Example: "call-ci-scan / sonarqube" → "call-ci-scan"
113
+ * If no separator, the job itself is its own group.
114
+ */
115
+ private inferGroupFromJobName;
116
+ /** Build a markdown string grouped by reusable workflow. */
117
+ generateGroupedMarkdown(): string;
118
+ /**
119
+ * Write the grouped report to `GITHUB_STEP_SUMMARY` (if running in CI)
120
+ * and always print to console.
121
+ */
122
+ writeGroupedSummaryToGithub(): void;
123
+ private resultIcon;
124
+ }
125
+ /**
126
+ * Get (or lazily create) the module-level `ReusableWorkflowReporter` singleton.
127
+ * Pass `workflowName` on the first call to initialise it.
128
+ */
129
+ export declare function getReusableReporter(workflowName?: string): ReusableWorkflowReporter;
130
+ /** Reset the singleton (useful between Jest test suites). */
131
+ export declare function resetReusableReporter(): void;
132
+ /**
133
+ * Per-caller-workflow result produced by MultiWorkflowReporter.
134
+ * Each entry holds the run ID, the reusable-workflow groups, and a rolled-up
135
+ * overall result for that caller.
136
+ */
137
+ export interface CallerWorkflowResult {
138
+ callerWorkflowName: string;
139
+ runId: number;
140
+ groups: Readonly<{
141
+ [wfName: string]: ReusableWorkflowGroup;
142
+ }>;
143
+ /** Rolled-up result across all reusable groups for this caller workflow. */
144
+ overallResult: 'success' | 'failure' | 'partial_failure' | 'unknown';
145
+ }
146
+ /**
147
+ * MultiWorkflowReporter
148
+ *
149
+ * Aggregates reports across N caller workflows in one go.
150
+ *
151
+ * Usage:
152
+ * ```ts
153
+ * const reporter = new MultiWorkflowReporter([
154
+ * 'Test - ci-scan',
155
+ * 'Test - ci-db-pr',
156
+ * 'Test - scan-snyk',
157
+ * ]);
158
+ * await reporter.loadAll(api); // resolves latest run for each & groups
159
+ * reporter.writeToGithubSummary(); // write aggregated Markdown to CI summary
160
+ * const results = reporter.getResults(); // access per-workflow data in tests
161
+ * ```
162
+ */
163
+ export declare class MultiWorkflowReporter {
164
+ private workflowNames;
165
+ private results;
166
+ constructor(workflowNames: string[]);
167
+ /**
168
+ * For every workflow name:
169
+ * 1. Resolve the latest run ID via `api.getLatestRun`.
170
+ * 2. Create a `ReusableWorkflowReporter` instance and call `loadAndGroup`.
171
+ * 3. Store the groups and compute a rolled-up result.
172
+ *
173
+ * Runs sequentially to stay within GitHub API rate limits.
174
+ */
175
+ loadAll(api: GitHubAPI): Promise<void>;
176
+ /** All loaded results keyed by caller workflow name. */
177
+ getResults(): Readonly<{
178
+ [callerName: string]: CallerWorkflowResult;
179
+ }>;
180
+ /** Convenience: result for a single named caller workflow. */
181
+ getResult(workflowName: string): CallerWorkflowResult | undefined;
182
+ /**
183
+ * Assert that every reusable-workflow group across ALL caller workflows
184
+ * succeeded. Throws with a full cross-workflow summary on any failure.
185
+ */
186
+ assertAllCallerGroupsSucceed(): void;
187
+ /**
188
+ * Assert that every direct (caller-defined) job across ALL caller workflows
189
+ * succeeded.
190
+ */
191
+ assertAllCallerDirectJobsSucceed(): void;
192
+ /**
193
+ * Assert that every step across ALL caller workflows and ALL reusable groups
194
+ * has an acceptable conclusion (`'success'` or `'skipped'`).
195
+ */
196
+ assertAllCallerStepsAcceptable(): void;
197
+ generateMarkdown(): string;
198
+ /** Write the aggregated report to `GITHUB_STEP_SUMMARY` and print to console. */
199
+ writeToGithubSummary(): void;
200
+ private computeCallerResult;
201
+ private aggregateCounts;
202
+ private resultIcon;
203
+ }
204
+ /**
205
+ * Get (or lazily create) the module-level `MultiWorkflowReporter` singleton.
206
+ * Pass `workflowNames` on the first call to initialise it.
207
+ */
208
+ export declare function getMultiWorkflowReporter(workflowNames?: string[]): MultiWorkflowReporter;
209
+ /** Reset the multi-workflow singleton (useful between Jest test suites). */
210
+ export declare function resetMultiWorkflowReporter(): void;
211
+ //# sourceMappingURL=reusable_reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reusable_reporter.d.ts","sourceRoot":"","sources":["../src/reusable_reporter.ts"],"names":[],"mappings":"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"}