@angelmsger/fx 0.18.0 → 0.19.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +1 -0
  3. package/dist/adapters/code-host/bitbucket-cli/provider.js +4 -3
  4. package/dist/adapters/code-host/bitbucket-cli/provider.js.map +1 -1
  5. package/dist/adapters/code-host/github/provider.js +4 -3
  6. package/dist/adapters/code-host/github/provider.js.map +1 -1
  7. package/dist/adapters/code-host/local-git/provider.js +39 -6
  8. package/dist/adapters/code-host/local-git/provider.js.map +1 -1
  9. package/dist/adapters/error-tracker/sentry/client.js +18 -8
  10. package/dist/adapters/error-tracker/sentry/client.js.map +1 -1
  11. package/dist/adapters/error-tracker/sentry/provider.js +2 -1
  12. package/dist/adapters/error-tracker/sentry/provider.js.map +1 -1
  13. package/dist/adapters/error-tracker/sentry/tracker.js +176 -37
  14. package/dist/adapters/error-tracker/sentry/tracker.js.map +1 -1
  15. package/dist/application/release/baseline.js +44 -0
  16. package/dist/application/release/baseline.js.map +1 -0
  17. package/dist/application/release/errors.js +146 -22
  18. package/dist/application/release/errors.js.map +1 -1
  19. package/dist/application/release/facts.js +16 -6
  20. package/dist/application/release/facts.js.map +1 -1
  21. package/dist/application/release/index.js +92 -11
  22. package/dist/application/release/index.js.map +1 -1
  23. package/dist/application/release/repo.js +118 -20
  24. package/dist/application/release/repo.js.map +1 -1
  25. package/dist/application/release/version-declaration.js +54 -0
  26. package/dist/application/release/version-declaration.js.map +1 -0
  27. package/dist/application/release/version-history.js +86 -0
  28. package/dist/application/release/version-history.js.map +1 -0
  29. package/dist/application/repo/show.js +9 -1
  30. package/dist/application/repo/show.js.map +1 -1
  31. package/dist/application/repo/version.js +83 -0
  32. package/dist/application/repo/version.js.map +1 -0
  33. package/dist/cli/commands/index.js +2 -0
  34. package/dist/cli/commands/index.js.map +1 -1
  35. package/dist/cli/commands/release/check.js +31 -0
  36. package/dist/cli/commands/release/check.js.map +1 -1
  37. package/dist/cli/commands/release/overrides.js +19 -0
  38. package/dist/cli/commands/release/overrides.js.map +1 -0
  39. package/dist/cli/commands/repo/show.js +12 -4
  40. package/dist/cli/commands/repo/show.js.map +1 -1
  41. package/dist/cli/commands/repo/version.js +36 -0
  42. package/dist/cli/commands/repo/version.js.map +1 -0
  43. package/dist/cli/notices.js +5 -4
  44. package/dist/cli/notices.js.map +1 -1
  45. package/dist/cli/release-coverage.js +47 -0
  46. package/dist/cli/release-coverage.js.map +1 -0
  47. package/dist/cli/release-view.js +53 -38
  48. package/dist/cli/release-view.js.map +1 -1
  49. package/dist/cli/render/report.js +5 -0
  50. package/dist/cli/render/report.js.map +1 -1
  51. package/dist/domain/members/classify.js +5 -2
  52. package/dist/domain/members/classify.js.map +1 -1
  53. package/dist/domain/members/ownership-evidence.js +63 -0
  54. package/dist/domain/members/ownership-evidence.js.map +1 -0
  55. package/dist/domain/release/errors.js +76 -12
  56. package/dist/domain/release/errors.js.map +1 -1
  57. package/dist/domain/release/types.js.map +1 -1
  58. package/dist/domain/release/version-evidence.js +6 -0
  59. package/dist/domain/release/version-evidence.js.map +1 -0
  60. package/dist/domain/release/version.js +44 -5
  61. package/dist/domain/release/version.js.map +1 -1
  62. package/dist/domain/release/window.js +67 -3
  63. package/dist/domain/release/window.js.map +1 -1
  64. package/dist/domain/report.js +2 -0
  65. package/dist/domain/report.js.map +1 -1
  66. package/package.json +1 -1
  67. package/skills/fx-workspace/SKILL.md +1 -1
  68. package/skills/fx-workspace/references/commands.md +119 -18
  69. package/skills/fx-workspace/references/workspace-tasks.md +34 -20
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ // A caller-selected historical baseline, pinned before reading declarations and
2
+ // comparing the full commit range. It does not reuse the release's unmerged count.
3
+ import { asDevkitError, toEnvelope } from '../../domain/errors.js';
4
+ import { readVersionDeclaration, versionFailure } from './version-declaration.js';
5
+ export async function readBaseline(input) {
6
+ const failures = [];
7
+ const ask = async (run) => {
8
+ try {
9
+ return await run();
10
+ }
11
+ catch (error) {
12
+ failures.push(toEnvelope(asDevkitError(error)).error);
13
+ return null;
14
+ }
15
+ };
16
+ const baseline = await ask(() => input.host.commit(input.ref, input.baselineRef));
17
+ const head = await ask(async () => {
18
+ const commit = await input.host.commit(input.ref, input.headSha ?? input.headRef);
19
+ if (input.headSha !== undefined && commit.sha !== input.headSha)
20
+ throw versionFailure('VERSION_REF_CHANGED', 'The code host did not return the pinned head commit');
21
+ return commit;
22
+ });
23
+ const current = head === null ? null : await ask(() => readVersionDeclaration({ ...input, sha: head.sha }));
24
+ const source = input.source ?? current ?? undefined;
25
+ const previous = baseline === null
26
+ ? null
27
+ : await ask(() => readVersionDeclaration({
28
+ ...input,
29
+ ...(source === undefined ? {} : { source }),
30
+ sha: baseline.sha,
31
+ }));
32
+ const commits = baseline === null || head === null
33
+ ? null
34
+ : await ask(() => input.host.compare(input.ref, { from: baseline.sha, to: head.sha }));
35
+ const snapshot = (requestedRef, sha, declaration) => ({ requested_ref: requestedRef, resolved_sha: sha ?? null, declaration });
36
+ return {
37
+ baseline: snapshot(input.baselineRef, baseline?.sha, previous),
38
+ head: snapshot(input.headRef, head?.sha, current),
39
+ commits,
40
+ coverage: failures.length === 0 ? 'checked' : 'incomplete',
41
+ failures,
42
+ };
43
+ }
44
+ //# sourceMappingURL=baseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../../src/application/release/baseline.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,24 @@
1
1
  // The error tracker of the release environment, at the repository's
2
2
  // coordinate there; a repository without one is not checked, and says so.
3
+ import { asDevkitError, DevkitError, toEnvelope } from '../../domain/errors.js';
3
4
  import { locateRepo } from '../../domain/obs/coordinate.js';
5
+ import { coordinateFingerprint } from '../../domain/obs/observation.js';
4
6
  import { errorsFinding, ISSUE_CEILING } from '../../domain/release/errors.js';
5
- import { notChecked, unanswered } from '../../domain/release/types.js';
7
+ import { notChecked, unanswered, } from '../../domain/release/types.js';
8
+ import { resolveRange } from '../../domain/release/window.js';
6
9
  import { environmentsOf } from '../env/names.js';
10
+ import { workspaceCommand } from '../workspace/guidance.js';
7
11
  import { platformAs } from '../workspace/platforms.js';
8
12
  import { attempt } from './facts.js';
9
13
  import { blockedFinding } from './gates.js';
10
- export function checkErrors(ctx) {
14
+ export async function checkErrors(ctx) {
11
15
  const repo = ctx.repo.name;
12
- return attempt('errors', repo, async () => {
16
+ const range = ctx.range ?? resolveRange({ since: ctx.policy.since }, ctx.now);
17
+ let source = null;
18
+ const result = await attempt('errors', repo, async () => {
13
19
  const env = ctx.policy.env;
14
20
  if (env === undefined)
15
21
  return notChecked('errors', repo, 'no environment for errors in the release policy');
16
- const gate = await ctx.gates.through('error-tracker', env);
17
- if (!gate.open)
18
- return blockedFinding('errors', repo, gate);
19
22
  const tracker = platformAs(ctx.deps, 'error-tracker', 'issues', env);
20
23
  if (tracker.platform === undefined)
21
24
  return unanswered('errors', repo, tracker.reason);
@@ -27,24 +30,145 @@ export function checkErrors(ctx) {
27
30
  binding: tracker.binding,
28
31
  locate: (vars) => tracker.platform.locate(vars),
29
32
  });
33
+ source = querySource(coordinate, tracker.platform);
34
+ const gate = await ctx.gates.through('error-tracker', env);
35
+ if (!gate.open)
36
+ return blockedFinding('errors', repo, gate);
30
37
  if (coordinate.status === 'not_covered')
31
38
  return notChecked('errors', repo, coordinate.notes[0] ?? `no ${tracker.binding.platform} coordinate in ${env}`);
32
- const page = await tracker.platform.issues(coordinate.vars, {
33
- since: ctx.policy.since,
34
- limit: ISSUE_CEILING,
35
- });
36
- return errorsFinding({
37
- repo,
38
- env,
39
- // What a person reads is the platform's own name for the project; `slug` stays in
40
- // the evidence for the programs that already read it.
41
- slug: coordinate.vars['slug'] ?? coordinate.label,
42
- label: coordinate.label,
43
- since: ctx.policy.since,
44
- now: ctx.now,
45
- issues: page.issues,
46
- capped: page.more,
47
- });
39
+ if (coordinate.command === null)
40
+ return incompleteCoordinate(ctx, coordinate);
41
+ return queryErrors({ ctx, tracker: tracker.platform, coordinate, range });
42
+ });
43
+ return {
44
+ ...result,
45
+ evidence: { ...result.evidence, query_context: contextFor(ctx, range, source) },
46
+ };
47
+ }
48
+ function querySource(coordinate, tracker) {
49
+ if (coordinate.status === 'not_covered' || coordinate.provider === null)
50
+ return null;
51
+ const fingerprint = tracker.queryFingerprint === undefined
52
+ ? coordinateFingerprint(coordinate)
53
+ : tracker.queryFingerprint(coordinate.vars);
54
+ return fingerprint === null
55
+ ? null
56
+ : {
57
+ platform: coordinate.platform,
58
+ provider: coordinate.provider,
59
+ coordinate_fingerprint: fingerprint,
60
+ };
61
+ }
62
+ function contextFor(ctx, range, source) {
63
+ return {
64
+ repository: ctx.repo.name,
65
+ environment: ctx.policy.env ?? null,
66
+ range,
67
+ observed_at: ctx.now.toISOString(),
68
+ source,
69
+ };
70
+ }
71
+ async function queryErrors(input) {
72
+ const { ctx, tracker, coordinate, range } = input;
73
+ const page = await collectIssues(tracker, coordinate.vars, {
74
+ since: ctx.policy.since,
75
+ limit: ISSUE_CEILING,
76
+ range,
77
+ observedAt: ctx.now.toISOString(),
78
+ });
79
+ return errorsFinding({
80
+ repo: ctx.repo.name,
81
+ env: coordinate.env,
82
+ slug: coordinate.vars['slug'] ?? coordinate.label,
83
+ label: coordinate.label,
84
+ since: ctx.policy.since,
85
+ now: ctx.now,
86
+ issues: page.issues,
87
+ capped: page.more,
88
+ range,
89
+ page,
90
+ });
91
+ }
92
+ // A bounded traversal returns partial evidence and an explicit continuation on every
93
+ // interruption. A page-sized limit must never be mistaken for a project total.
94
+ export async function collectIssues(tracker, vars, query, maxPages = 100) {
95
+ const found = new Map();
96
+ const cursors = new Set();
97
+ const failures = [];
98
+ let cursor = query.cursor;
99
+ let pagesRead = 0;
100
+ let more = true;
101
+ let reason;
102
+ let incomplete = false;
103
+ while (pagesRead < maxPages) {
104
+ if (cursor !== undefined)
105
+ cursors.add(cursor);
106
+ let page;
107
+ try {
108
+ page = await tracker.issues(vars, { ...query, ...(cursor === undefined ? {} : { cursor }) });
109
+ }
110
+ catch (error) {
111
+ failures.push({ stage: 'list', error: toEnvelope(asDevkitError(error)).error });
112
+ reason = 'page_failed';
113
+ break;
114
+ }
115
+ pagesRead += page.pagesRead ?? 1;
116
+ incomplete ||= page.coverage === 'incomplete';
117
+ failures.push(...(page.failures ?? []));
118
+ for (const issue of page.issues)
119
+ found.set(issue.id, issue);
120
+ more = page.more;
121
+ cursor = page.next;
122
+ if (!more)
123
+ break;
124
+ if (cursor === undefined) {
125
+ reason = 'continuation_unavailable';
126
+ break;
127
+ }
128
+ if (cursors.has(cursor) || page.issues.length === 0) {
129
+ reason = 'pagination_no_progress';
130
+ break;
131
+ }
132
+ }
133
+ if (more && reason === undefined)
134
+ reason = 'page_limit';
135
+ if (reason !== undefined && reason !== 'page_failed')
136
+ failures.push(paginationFailure(reason));
137
+ return {
138
+ issues: [...found.values()],
139
+ more,
140
+ pagesRead,
141
+ coverage: incomplete || more || failures.length > 0 ? 'incomplete' : 'checked',
142
+ failures,
143
+ ...(more && cursor !== undefined ? { next: cursor } : {}),
144
+ ...(reason === undefined ? {} : { truncationReason: reason }),
145
+ };
146
+ }
147
+ function paginationFailure(reason) {
148
+ const failure = new DevkitError('server', 'ISSUE_PAGINATION_INCOMPLETE', `Issue pagination stopped: ${reason}`, {
149
+ nextSteps: [
150
+ 'Retry the same absolute range, or inspect the remaining cursor through the companion API.',
151
+ ],
152
+ });
153
+ return { stage: 'pagination', error: toEnvelope(failure).error };
154
+ }
155
+ function incompleteCoordinate(ctx, coordinate) {
156
+ const error = new DevkitError('config', 'COORDINATE_INCOMPLETE', `Error-tracker coordinate for ${coordinate.repo} in ${coordinate.env} is incomplete`, {
157
+ hint: coordinate.notes.join('; ') || 'The platform could not construct a query coordinate.',
158
+ nextSteps: [
159
+ `fx where ${coordinate.repo} --env ${coordinate.env} --platform ${coordinate.platform}`,
160
+ workspaceCommand(ctx.deps, 'manifest', 'lint'),
161
+ 'Complete the missing coordinate variables in the shared manifest, then retry.',
162
+ ],
163
+ });
164
+ return unanswered('errors', coordinate.repo, error.message, {
165
+ failure: toEnvelope(error).error,
166
+ failures: [toEnvelope(error).error],
167
+ fix: error.nextSteps[0],
168
+ evidence: {
169
+ env: coordinate.env,
170
+ coordinate: { status: coordinate.status, notes: coordinate.notes },
171
+ },
48
172
  });
49
173
  }
50
174
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/application/release/errors.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,0EAA0E;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAuB,MAAM,+BAA+B,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAqB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS;YACnB,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,iDAAiD,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,UAAU,CAAe,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,UAAU,CAAC;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG;YACH,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;YAClC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;SAChD,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,KAAK,aAAa;YACrC,OAAO,UAAU,CACf,QAAQ,EACR,IAAI,EACJ,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,kBAAkB,GAAG,EAAE,CAC7E,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;YAC1D,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;YACvB,KAAK,EAAE,aAAa;SACrB,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;YACnB,IAAI;YACJ,GAAG;YACH,kFAAkF;YAClF,sDAAsD;YACtD,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK;YACjD,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;YACvB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/application/release/errors.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  // remembered for the repository, so no two checks ask the same one. Not
5
5
  // knowing is an outcome the checks turn into findings, never an exception
6
6
  // that stops the report.
7
- import { asDevkitError } from '../../domain/errors.js';
7
+ import { asDevkitError, toEnvelope } from '../../domain/errors.js';
8
8
  import { unanswered } from '../../domain/release/types.js';
9
9
  import { repoRef } from '../../domain/workspace/ref.js';
10
10
  import { blockedFinding } from './gates.js';
@@ -16,7 +16,7 @@ export async function gatherFacts(ctx) {
16
16
  if (ref === undefined)
17
17
  return { kind: 'error', reason: 'no code-host reference: neither a project nor an upstream' };
18
18
  try {
19
- const host = remembering(ctx.deps.codeHost());
19
+ const host = rememberCodeHost(ctx.deps.codeHost());
20
20
  const branches = await host.branches(ref);
21
21
  const named = (name) => name === undefined ? undefined : branches.find((b) => b.name === name);
22
22
  const source = named(ctx.policy.source);
@@ -27,12 +27,13 @@ export async function gatherFacts(ctx) {
27
27
  return { kind: 'facts', facts: { host, ref, branches, source, target } };
28
28
  }
29
29
  catch (err) {
30
- return { kind: 'error', reason: asDevkitError(err).message };
30
+ const failure = toEnvelope(asDevkitError(err)).error;
31
+ return { kind: 'error', reason: failure.message, failure };
31
32
  }
32
33
  }
33
34
  // One question asked once per repository: the checks and the release summary read
34
35
  // the same heads, files and range, and a failed answer is the same failure for each.
35
- function remembering(host) {
36
+ export function rememberCodeHost(host) {
36
37
  const asked = new Map();
37
38
  const once = (key, ask) => {
38
39
  let answer = asked.get(key);
@@ -53,7 +54,11 @@ function remembering(host) {
53
54
  export function withoutFacts(check, repo, outcome) {
54
55
  return outcome.kind === 'gate'
55
56
  ? blockedFinding(check, repo, outcome.gate)
56
- : unanswered(check, repo, outcome.reason);
57
+ : unanswered(check, repo, outcome.reason, {
58
+ failure: outcome.failure,
59
+ fix: outcome.failure?.next_steps[0],
60
+ handoff: outcome.failure?.handoff,
61
+ });
57
62
  }
58
63
  // A check's own failure is its finding: the report goes on.
59
64
  export async function attempt(check, repo, run) {
@@ -61,7 +66,12 @@ export async function attempt(check, repo, run) {
61
66
  return await run();
62
67
  }
63
68
  catch (err) {
64
- return unanswered(check, repo, asDevkitError(err).message);
69
+ const failure = toEnvelope(asDevkitError(err)).error;
70
+ return unanswered(check, repo, failure.message, {
71
+ failure,
72
+ fix: failure.next_steps[0],
73
+ handoff: failure.handoff,
74
+ });
65
75
  }
66
76
  }
67
77
  //# sourceMappingURL=facts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"facts.js","sourceRoot":"","sources":["../../../src/application/release/facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facts.js","sourceRoot":"","sources":["../../../src/application/release/facts.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { nearest, suggestionHint } from '../../domain/fuzzy.js';
7
7
  import { applyLocal } from '../../domain/manifest/local.js';
8
8
  import { releasePolicyOf } from '../../domain/release/policy.js';
9
9
  import { CHECKS, } from '../../domain/release/types.js';
10
- import { windowMs } from '../../domain/release/window.js';
10
+ import { resolveRange } from '../../domain/release/window.js';
11
11
  import { report } from '../../domain/report.js';
12
12
  import { environmentsOf, envNotFound } from '../env/names.js';
13
13
  import { pooled } from '../pool.js';
@@ -20,6 +20,7 @@ import { gatherFacts } from './facts.js';
20
20
  import { Gates } from './gates.js';
21
21
  import { checkMerge } from './merge.js';
22
22
  import { describeRepo } from './repo.js';
23
+ import { validateVersionPath } from './version-declaration.js';
23
24
  const CHECKERS = {
24
25
  deps: checkDeps,
25
26
  merge: checkMerge,
@@ -36,21 +37,63 @@ export class Release {
36
37
  this.gates = new Gates(deps, login);
37
38
  }
38
39
  async execute(input) {
39
- if (input.since !== undefined)
40
- windowMs(input.since);
40
+ const observedAt = this.login.clock.now();
41
41
  this.checkEnv(input.env);
42
42
  const checks = CHECKS.filter((c) => input.only === undefined || input.only.includes(c));
43
43
  const repos = this.select(input);
44
+ this.validateEvidenceInput(input, repos, observedAt);
44
45
  await this.warmGates(repos, checks, input);
45
46
  const results = await Tally.during(this.deps.activity, 'repos', (tally) => {
46
47
  tally.plan(repos.length);
47
- return pooled(repos, input.jobs, (repo) => tally.unit(repo.name, () => this.checkRepo(repo, checks, input)));
48
+ return pooled(repos, input.jobs, (repo) => tally.unit(repo.name, () => this.checkRepo(repo, checks, input, observedAt)));
48
49
  });
50
+ const checked = report(CHECKS, results.flatMap((r) => r.findings));
51
+ const described = results.map((r) => r.repo);
49
52
  return {
50
- ...report(CHECKS, results.flatMap((r) => r.findings)),
51
- repos: results.map((r) => r.repo),
53
+ ...checked,
54
+ repos: described,
55
+ observed_at: observedAt.toISOString(),
56
+ range: commonRange(described),
57
+ evidence_complete: checked.complete &&
58
+ described.every((repo) => repo.unanswered.length === 0 &&
59
+ Object.values(repo.facet_coverage ?? {}).every((coverage) => coverage !== 'incomplete')),
52
60
  };
53
61
  }
62
+ validateEvidenceInput(input, repos, now) {
63
+ const names = new Set(repos.map((repo) => repo.name));
64
+ for (const [kind, values] of Object.entries({
65
+ baseline: input.baselines,
66
+ 'version-path': input.versionPaths,
67
+ })) {
68
+ for (const [name, value] of Object.entries(values ?? {})) {
69
+ if (!names.has(name) || value.trim() === '')
70
+ throw new DevkitError('usage', 'RELEASE_OVERRIDE_INVALID', `The ${kind} override must name a selected repository and a nonempty value`, {
71
+ nextSteps: ['Select the repository and provide a repo=value override.'],
72
+ });
73
+ }
74
+ }
75
+ for (const value of Object.values(input.versionPaths ?? {}))
76
+ validateVersionPath(value);
77
+ if (input.historyLimit !== undefined &&
78
+ (!Number.isSafeInteger(input.historyLimit) ||
79
+ input.historyLimit < 1 ||
80
+ input.historyLimit > 1000))
81
+ throw new DevkitError('usage', 'VERSION_HISTORY_BUDGET_INVALID', 'History budget must be between 1 and 1000 commits', {
82
+ nextSteps: ['Use --history-limit with an integer from 1 to 1000.'],
83
+ });
84
+ for (const repo of repos)
85
+ this.rangeFor(repo, input, now);
86
+ }
87
+ rangeFor(repo, input, now) {
88
+ const policy = releasePolicyOf(this.deps.ctx.manifest.workspace.result.doc, repo.name);
89
+ const explicit = input.from !== undefined || input.to !== undefined;
90
+ const since = input.since ?? (explicit ? undefined : policy.since);
91
+ return resolveRange({
92
+ ...(since === undefined ? {} : { since }),
93
+ ...(input.from === undefined ? {} : { start: input.from }),
94
+ ...(input.to === undefined ? {} : { end: input.to }),
95
+ }, now);
96
+ }
54
97
  // The name came from the person, so it is answered once, not per repository.
55
98
  checkEnv(env) {
56
99
  if (env === undefined)
@@ -64,7 +107,7 @@ export class Release {
64
107
  async warmGates(repos, checks, input) {
65
108
  const doc = this.deps.ctx.manifest.workspace.result.doc;
66
109
  const policies = repos.map((repo) => releasePolicyOf(doc, repo.name));
67
- if (checks.some((c) => c !== 'errors'))
110
+ if (needsCodeHost(checks, input))
68
111
  await this.gates.through('code-host', undefined);
69
112
  const wanted = (check, envs) => checks.includes(check) ? [...new Set(envs.filter((e) => e !== undefined))] : [];
70
113
  for (const env of wanted('ci', policies.flatMap((p) => [p.ci?.sourceEnv, p.ci?.targetEnv])))
@@ -98,7 +141,7 @@ export class Release {
98
141
  }
99
142
  return chosen;
100
143
  }
101
- async checkRepo(repo, checks, input) {
144
+ async checkRepo(repo, checks, input, observedAt) {
102
145
  const shared = releasePolicyOf(this.deps.ctx.manifest.workspace.result.doc, repo.name);
103
146
  const ctx = {
104
147
  deps: this.deps,
@@ -106,18 +149,56 @@ export class Release {
106
149
  repo,
107
150
  policy: { ...shared, env: input.env ?? shared.env, since: input.since ?? shared.since },
108
151
  members: this.deps.ctx.manifest.members?.result.doc,
109
- now: this.login.clock.now(),
152
+ now: observedAt,
153
+ range: this.rangeFor(repo, input, observedAt),
154
+ factsRequested: needsCodeHost(checks, input, repo.name),
155
+ ...(input.versionHistory === undefined ? {} : { versionHistory: input.versionHistory }),
156
+ ...(input.historyLimit === undefined ? {} : { historyLimit: input.historyLimit }),
157
+ ...(input.versionPaths?.[repo.name] === undefined
158
+ ? {}
159
+ : { versionPath: input.versionPaths[repo.name] }),
160
+ ...(input.baselines?.[repo.name] === undefined
161
+ ? {}
162
+ : { baselineRef: input.baselines[repo.name] }),
110
163
  };
111
- const facts = checks.some((c) => c !== 'errors')
164
+ const facts = needsCodeHost(checks, input, repo.name)
112
165
  ? await gatherFacts(ctx)
113
166
  : { kind: 'error', reason: 'not asked' };
114
167
  const [findings, described] = await Promise.all([
115
168
  Promise.all(checks.map((check) => CHECKERS[check](ctx, facts))),
116
169
  describeRepo(ctx, facts),
117
170
  ]);
118
- return { findings, repo: described };
171
+ const errors = findings.find((finding) => finding.group === 'errors');
172
+ return {
173
+ findings,
174
+ repo: {
175
+ ...described,
176
+ ...(described.facet_coverage === undefined
177
+ ? {}
178
+ : {
179
+ facet_coverage: {
180
+ ...described.facet_coverage,
181
+ errors: errors?.coverage ?? 'not_requested',
182
+ },
183
+ }),
184
+ },
185
+ };
119
186
  }
120
187
  }
188
+ function needsCodeHost(checks, input, repo) {
189
+ const overrides = repo === undefined
190
+ ? Object.keys(input.versionPaths ?? {}).length > 0 ||
191
+ Object.keys(input.baselines ?? {}).length > 0
192
+ : input.versionPaths?.[repo] !== undefined || input.baselines?.[repo] !== undefined;
193
+ return checks.some((check) => check !== 'errors') || input.versionHistory === true || overrides;
194
+ }
195
+ function commonRange(repos) {
196
+ const first = repos[0]?.range;
197
+ return first !== undefined &&
198
+ repos.every((repo) => repo.range?.start === first.start && repo.range.end === first.end)
199
+ ? first
200
+ : null;
201
+ }
121
202
  const COVERAGE_HINT = 'A repository is on it unless its manifest entry says release.covered: false.';
122
203
  // The ways a selection can name nothing. An empty report reads as a pass,
123
204
  // so each is an error instead; see Coverage in domain/report.ts.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/release/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/release/index.ts"],"names":[],"mappings":"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"}