@detergent-software/conductor 1.3.0 → 1.4.0-dev.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.
- package/CHANGELOG.md +16 -0
- package/README.md +12 -2
- package/build/cli.js +10 -2
- package/build/cli.js.map +1 -1
- package/build/code-host-cli.js +55 -0
- package/build/code-host-cli.js.map +1 -1
- package/build/code-host.js +16 -5
- package/build/code-host.js.map +1 -1
- package/build/conditions.js +82 -17
- package/build/conditions.js.map +1 -1
- package/build/help.js +26 -1
- package/build/help.js.map +1 -1
- package/build/landing.js +2 -11
- package/build/landing.js.map +1 -1
- package/build/lib/providers/npm/stage.js +33 -2
- package/build/lib/providers/npm/stage.js.map +1 -1
- package/build/lib/providers/verdicts/runs.js +4 -4
- package/build/lib/providers/verdicts/runs.js.map +1 -1
- package/build/profile.js +24 -1
- package/build/profile.js.map +1 -1
- package/build/run.js +2 -2
- package/build/run.js.map +1 -1
- package/build/runs.js +208 -0
- package/build/runs.js.map +1 -0
- package/build/tab.js +7 -1
- package/build/tab.js.map +1 -1
- package/build/wait.js +1 -0
- package/build/wait.js.map +1 -1
- package/build/watchers/ado.js +34 -11
- package/build/watchers/ado.js.map +1 -1
- package/build/watchers/github.js +26 -9
- package/build/watchers/github.js.map +1 -1
- package/build/watchers/index.js +8 -1
- package/build/watchers/index.js.map +1 -1
- package/build/watchers/merge.js +53 -0
- package/build/watchers/merge.js.map +1 -0
- package/build/watchers/npm.js +7 -16
- package/build/watchers/npm.js.map +1 -1
- package/build/watchers/source.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../../src/lib/providers/verdicts/runs.ts"],"names":[],"mappings":"AAGA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC;AAYpC,MAAM,IAAI,GAAG,CAAC,IAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEjG,kFAAkF;AAClF,2DAA2D;AAC3D,MAAM,UAAU,SAAS,CAAC,QAAkB,EAAE,IAAY;IACxD,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACtH,CAAC;AAED,iGAAiG;AACjG,6BAA6B;AAC7B,MAAM,UAAU,cAAc,CAAC,KAAwB,EAAE,SAA8B;IACrF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,KAAK,GAAG,SAAS;aACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACxB,IAAI,EAAE;aACN,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CACb,KAAK,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,SAAS,IAAI,yDAAyD,KAAK,EAAE;YAC/E,CAAC,CAAC,SAAS,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,wCAAwC,CACrG,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../../src/lib/providers/verdicts/runs.ts"],"names":[],"mappings":"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"}
|
package/build/profile.js
CHANGED
|
@@ -15,7 +15,12 @@ const port = z.int().min(1).max(65535);
|
|
|
15
15
|
// Each adapter kind is a discriminated union, so ADO Boards (Cadence) arrives as one more variant.
|
|
16
16
|
const profileFields = z.strictObject({
|
|
17
17
|
baseBranch: text,
|
|
18
|
-
|
|
18
|
+
// The CI that builds the project's repo: Azure Pipelines or GitHub Actions (`conduct runs`, `wait
|
|
19
|
+
// merge`). Each builds a repo of its own code host's kind for now.
|
|
20
|
+
ci: z.discriminatedUnion('kind', [
|
|
21
|
+
z.strictObject({ kind: z.literal('ado-pipelines') }),
|
|
22
|
+
z.strictObject({ kind: z.literal('github-actions') }),
|
|
23
|
+
]),
|
|
19
24
|
codeHost: z.discriminatedUnion('kind', [
|
|
20
25
|
z.strictObject({ kind: z.literal('ado'), organization: z.url(), project: text, repository: text }),
|
|
21
26
|
// A GitHub repo (ATK-428): its PRs, checks and auto-merge.
|
|
@@ -42,6 +47,12 @@ const profileFields = z.strictObject({
|
|
|
42
47
|
.refine((ports) => Object.keys(ports).every((key) => key === 'maxSlot' || !key.toLowerCase().replace(/[-_]/g, '').startsWith('maxslot')), 'maxSlot is spelt "maxSlot"'),
|
|
43
48
|
protocol: z.literal(PROTOCOL),
|
|
44
49
|
release: z.strictObject({ handoff: text }),
|
|
50
|
+
// The pipelines that stage a release for a merge (`conduct runs`, `wait merge`): `npm-stage` stages
|
|
51
|
+
// `package` on npm for a person's `npm stage approve`. `pipeline` names it as --for does: its YAML
|
|
52
|
+
// file name (release-cli), path or own name. Replaces work.releases at the protocol 2 cutover.
|
|
53
|
+
releases: z
|
|
54
|
+
.array(z.strictObject({ key: name, kind: z.literal('npm-stage'), package: text, pipeline: text }))
|
|
55
|
+
.default([]),
|
|
45
56
|
// Project rules (design note, section 9): checked before the machine's and the defaults, for
|
|
46
57
|
// this project's items only. They change by PR, and the daemon reloads them on save.
|
|
47
58
|
rules: z.array(ruleInputSchema).default([]),
|
|
@@ -146,6 +157,18 @@ export function notePrefixes(profile) {
|
|
|
146
157
|
const names = profile ? [profile.skills.work, ...profile.skills.aliases] : ['work-issue'];
|
|
147
158
|
return names.map((skill) => `${skill} · `);
|
|
148
159
|
}
|
|
160
|
+
// The project's releases: `releases`, else the work skill's `work.releases`, which protocol 1
|
|
161
|
+
// profiles still give.
|
|
162
|
+
export function releasesOf(profile) {
|
|
163
|
+
if (profile.releases.length > 0)
|
|
164
|
+
return profile.releases;
|
|
165
|
+
return profile.work.releases.map(({ key, package: pkg, pipeline }) => ({
|
|
166
|
+
key,
|
|
167
|
+
kind: 'npm-stage',
|
|
168
|
+
package: pkg,
|
|
169
|
+
pipeline,
|
|
170
|
+
}));
|
|
171
|
+
}
|
|
149
172
|
// The key prefix of the project's items: the Linear team (ATK-311), or the Boards key (CAD-1234).
|
|
150
173
|
export function trackerKey(profile) {
|
|
151
174
|
return profile.tracker.kind === 'linear' ? profile.tracker.team : profile.tracker.key;
|
package/build/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,oGAAoG;AACpG,mFAAmF;AACnF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC;AAC1B,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAE9D,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,8DAA8D,CAAC,CAAC;AACnH,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAEvC,8FAA8F;AAC9F,mGAAmG;AACnG,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC;IACnC,UAAU,EAAE,IAAI;IAChB,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
package/build/run.js
CHANGED
|
@@ -8,10 +8,10 @@ export function outputOf(result, chars = 2000) {
|
|
|
8
8
|
// and the API and event streams must keep answering meanwhile. No shell, unless asked for, so
|
|
9
9
|
// arguments that carry tracker text (titles, names) can't run as commands.
|
|
10
10
|
export function run(cmd, args, options = {}) {
|
|
11
|
-
const { cwd, env, input, shell = false, timeoutMs = 120_000 } = options;
|
|
11
|
+
const { cwd, env, input, shell = false, timeoutMs = 120_000, windowsHide = true } = options;
|
|
12
12
|
return new Promise((resolve) => {
|
|
13
13
|
const command = shell ? [cmd, ...args.map((a) => `"${a}"`)].join(' ') : cmd;
|
|
14
|
-
const child = spawn(command, shell ? [] : args, { cwd, env, shell, windowsHide
|
|
14
|
+
const child = spawn(command, shell ? [] : args, { cwd, env, shell, windowsHide });
|
|
15
15
|
const stdout = [];
|
|
16
16
|
const stderr = [];
|
|
17
17
|
let size = 0;
|
package/build/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/build/runs.js
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { repoKey, repoOf } from "./code-host.js";
|
|
2
|
+
import { ConductorError } from "./errors.js";
|
|
3
|
+
import { answersTo, NotFound, pipelinesNamed, ProviderError, releasedRuns, runsVerdict, } from "./lib/providers/index.js";
|
|
4
|
+
import { releasesOf } from "./profile.js";
|
|
5
|
+
import { outputOf } from "./run.js";
|
|
6
|
+
// The git of a CI that reads none (GitHub Actions only asks for the runs of a SHA).
|
|
7
|
+
export const NO_GIT = {
|
|
8
|
+
isAncestor: () => Promise.reject(new Error('this CI reads no git')),
|
|
9
|
+
show: () => Promise.reject(new Error('this CI reads no git')),
|
|
10
|
+
};
|
|
11
|
+
// How long a merge may show no run before that means none: Azure DevOps can list a run ten
|
|
12
|
+
// minutes after the merge, GitHub queues a push's runs within seconds (the work-item helper's).
|
|
13
|
+
export const GRACE_MINUTES = { ado: 15, github: 5 };
|
|
14
|
+
// Why `conduct runs` can't read the repo's CI, or null. Another repo is built by its own host's CI;
|
|
15
|
+
// the project's repo by the profile's `ci`, which must be its code host's kind for now (Azure
|
|
16
|
+
// Pipelines building a GitHub repo would need an organization the profile doesn't name).
|
|
17
|
+
export function ciRefusal(profile, repo) {
|
|
18
|
+
if (!isOwnRepo(profile, repo))
|
|
19
|
+
return null;
|
|
20
|
+
if ((profile.ci.kind === 'ado-pipelines') === (repo.host === 'ado'))
|
|
21
|
+
return null;
|
|
22
|
+
const host = repo.host === 'ado' ? 'an Azure DevOps' : 'a GitHub';
|
|
23
|
+
return `the profile's ci is ${profile.ci.kind} beside ${host} code host, which conduct can't read yet`;
|
|
24
|
+
}
|
|
25
|
+
// Why each failed run of the verdict failed. A log that can't be read says why in its note.
|
|
26
|
+
export async function failedLogs(ci, report) {
|
|
27
|
+
const failed = report.pipelines.flatMap((r) => r.state === 'failed' && r.run !== null ? [{ ...r, run: r.run }] : []);
|
|
28
|
+
return Promise.all(failed.map((r) => failureLogOf(ci, r.run, { pipeline: r.pipeline.name, result: r.result ?? null, url: r.url })));
|
|
29
|
+
}
|
|
30
|
+
// Why a run failed, or, when its log can't be read, why not in the note.
|
|
31
|
+
export function failureLogOf(ci, run, about) {
|
|
32
|
+
return ci.failureLog(run).catch((error) => ({
|
|
33
|
+
log: null,
|
|
34
|
+
note: error instanceof Error ? error.message : String(error),
|
|
35
|
+
pipeline: about.pipeline,
|
|
36
|
+
result: about.result,
|
|
37
|
+
run,
|
|
38
|
+
tasks: [],
|
|
39
|
+
url: about.url,
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
// The facts of a merge from a checkout of its repo: its full SHA, when it merged (the committer
|
|
43
|
+
// date) and the files it changed against its first parent. The base is fetched once when the
|
|
44
|
+
// checkout hasn't got the commit yet.
|
|
45
|
+
export async function gitMergeFacts(git, dir, base, sha) {
|
|
46
|
+
const resolve = async () => {
|
|
47
|
+
const found = await git(['rev-parse', '--verify', '--quiet', `${sha}^{commit}`], dir);
|
|
48
|
+
return found.code === 0 ? found.stdout.trim() : null;
|
|
49
|
+
};
|
|
50
|
+
let full = await resolve();
|
|
51
|
+
if (full === null) {
|
|
52
|
+
const fetched = await git(['fetch', '--quiet', 'origin', base], dir);
|
|
53
|
+
if (fetched.code !== 0) {
|
|
54
|
+
throw new ConductorError(`commit ${sha} isn't in ${dir}, and git fetch origin ${base} failed`, [
|
|
55
|
+
outputOf(fetched, 300),
|
|
56
|
+
]);
|
|
57
|
+
}
|
|
58
|
+
full = await resolve();
|
|
59
|
+
}
|
|
60
|
+
if (full === null)
|
|
61
|
+
throw new ConductorError(`unknown commit ${sha}`, [`not in ${dir}, even after fetching ${base}`]);
|
|
62
|
+
const date = await git(['log', '-1', '--format=%cI', full], dir);
|
|
63
|
+
const diff = await git(['diff', '--name-only', `${full}^1`, full], dir);
|
|
64
|
+
if (date.code !== 0 || diff.code !== 0) {
|
|
65
|
+
throw new ConductorError(`git can't read merge ${full.slice(0, 8)}`, [
|
|
66
|
+
outputOf(date.code === 0 ? diff : date, 300),
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
changed: diff.stdout.split(/\r?\n/).filter(Boolean),
|
|
71
|
+
mergedAt: Date.parse(date.stdout.trim()),
|
|
72
|
+
sha: full,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// The Azure Pipelines adapter's git: a pipeline's YAML at the merge, and whether a batched run's
|
|
76
|
+
// commit contains it (fetching the base once for a commit the checkout hasn't got).
|
|
77
|
+
export function gitReader(git, dir, base) {
|
|
78
|
+
return {
|
|
79
|
+
isAncestor: async (ancestor, sha) => {
|
|
80
|
+
const ask = () => git(['merge-base', '--is-ancestor', ancestor, sha], dir);
|
|
81
|
+
let answer = await ask();
|
|
82
|
+
// 1 is "not an ancestor"; anything else is a commit git doesn't know.
|
|
83
|
+
if (answer.code !== 0 && answer.code !== 1) {
|
|
84
|
+
await git(['fetch', '--quiet', 'origin', base], dir);
|
|
85
|
+
answer = await ask();
|
|
86
|
+
}
|
|
87
|
+
return answer.code === 0;
|
|
88
|
+
},
|
|
89
|
+
show: async (sha, path) => {
|
|
90
|
+
const shown = await git(['show', `${sha}:${path}`], dir);
|
|
91
|
+
return shown.code === 0 ? shown.stdout : null;
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
// The facts of a merge from its code host, for a CI that reads no git (GitHub Actions): its full
|
|
96
|
+
// SHA and when it merged.
|
|
97
|
+
export function hostMergeFacts(commit) {
|
|
98
|
+
return { changed: [], mergedAt: Date.parse(commit.date), sha: commit.sha };
|
|
99
|
+
}
|
|
100
|
+
// Whether a repo is the profile's own (Azure Repos names are case-insensitive, and so are GitHub's).
|
|
101
|
+
export function isOwnRepo(profile, repo) {
|
|
102
|
+
return repoKey(repo).toLowerCase() === repoKey(repoOf(profile)).toLowerCase();
|
|
103
|
+
}
|
|
104
|
+
// A merge's runs in a wake, one line: the verdict, what it is about, and each release's stage, such
|
|
105
|
+
// as `merge 1a2b3c4d succeeded; cli @detergent-software/atk@8.6.2-dev.1 staged: npm stage approve
|
|
106
|
+
// <id> --otp=<code>`.
|
|
107
|
+
export function mergeLine(report) {
|
|
108
|
+
const at = `merge ${report.sha.slice(0, 8)}`;
|
|
109
|
+
const named = (state) => report.pipelines
|
|
110
|
+
.filter((r) => r.state === state)
|
|
111
|
+
.map((r) => r.pipeline.name)
|
|
112
|
+
.join(', ');
|
|
113
|
+
let line;
|
|
114
|
+
switch (report.outcome) {
|
|
115
|
+
case 'cancelled':
|
|
116
|
+
line = `${at} cancelled: ${named('cancelled')}`;
|
|
117
|
+
break;
|
|
118
|
+
case 'failed':
|
|
119
|
+
line = `${at} failed: ${named('failed')} (conduct runs ${report.sha.slice(0, 8)} has the logs)`;
|
|
120
|
+
break;
|
|
121
|
+
case 'missing':
|
|
122
|
+
line = `${at} missing: ${named('not-queued')} never queued`;
|
|
123
|
+
break;
|
|
124
|
+
case 'waiting-for-approval':
|
|
125
|
+
line = `${at} waiting-for-approval: ${report.pipelines
|
|
126
|
+
.filter((r) => r.state === 'waiting-for-approval')
|
|
127
|
+
.map((r) => `${r.pipeline.name}${r.approvalStages?.length ? ` (${r.approvalStages.join(', ')})` : ''}`)
|
|
128
|
+
.join(', ')}`;
|
|
129
|
+
break;
|
|
130
|
+
default:
|
|
131
|
+
line = `${at} ${report.outcome}`;
|
|
132
|
+
}
|
|
133
|
+
const stages = Object.entries(report.stages ?? {}).flatMap(([key, stage]) => {
|
|
134
|
+
if ('error' in stage)
|
|
135
|
+
return [`${key} stage unread: ${stage.error}`];
|
|
136
|
+
if (!stage.stageId)
|
|
137
|
+
return [];
|
|
138
|
+
const version = `${stage.package ?? '?'}@${stage.version ?? '?'}`;
|
|
139
|
+
return [stage.published === true ? `${key} ${version} published` : `${key} ${version} staged: ${stage.approve}`];
|
|
140
|
+
});
|
|
141
|
+
return [line, ...stages].join('; ');
|
|
142
|
+
}
|
|
143
|
+
// The runs of a merge on its repo's CI and their verdict. `only` (--for) names pipelines the verdict
|
|
144
|
+
// comes from alone; on a CI that lists every pipeline (Azure Pipelines) an unknown name is refused.
|
|
145
|
+
// On GitHub a workflow that hasn't run yet can't be told from one that doesn't exist, so a name is
|
|
146
|
+
// refused only once the grace period has passed with runs of the merge, none of which answers to it.
|
|
147
|
+
export async function mergeRuns({ base, ci, facts, git, now, only, repo, }) {
|
|
148
|
+
const runs = await ci.runsForMerge(facts, { base, git });
|
|
149
|
+
if (only && ci.triggersKnown) {
|
|
150
|
+
try {
|
|
151
|
+
pipelinesNamed(only, runs.map((r) => r.pipeline));
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
throw new ConductorError(error instanceof Error ? error.message : String(error));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
const verdict = runsVerdict({
|
|
158
|
+
graceMs: GRACE_MINUTES[repo.host] * 60_000,
|
|
159
|
+
mergedAt: facts.mergedAt,
|
|
160
|
+
now,
|
|
161
|
+
only,
|
|
162
|
+
runs,
|
|
163
|
+
triggersKnown: ci.triggersKnown,
|
|
164
|
+
});
|
|
165
|
+
const unknown = (only ?? []).filter((name) => !runs.some((r) => answersTo(r.pipeline, name)));
|
|
166
|
+
if (!ci.triggersKnown && verdict.outcome === 'none' && runs.length > 0 && unknown.length > 0) {
|
|
167
|
+
throw new ConductorError(`--for ${unknown.join(', ')}: no run of this merge answers to it`, [
|
|
168
|
+
`its runs: ${runs.map((r) => r.pipeline.file ?? r.pipeline.name).join(', ')}`,
|
|
169
|
+
]);
|
|
170
|
+
}
|
|
171
|
+
return {
|
|
172
|
+
...(only ? { for: [...only] } : {}),
|
|
173
|
+
mergedAt: new Date(facts.mergedAt).toISOString(),
|
|
174
|
+
repo: repoKey(repo),
|
|
175
|
+
sha: facts.sha,
|
|
176
|
+
...verdict,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
// What each of the project's releases staged for the merge: for each release run that succeeded
|
|
180
|
+
// (watched or not), the version, stage id, approve command and whether npm has it. Only the
|
|
181
|
+
// project's own repo has releases. A run whose logs the provider won't give (a lasting refusal, or
|
|
182
|
+
// no such log) is `{ run, error }`, so nobody takes it for nothing staged. Anything else (a
|
|
183
|
+
// watcher's spent budget, a lost login, a transient failure) is thrown, so the caller asks again.
|
|
184
|
+
export async function releaseStages(ci, profile, repo, report) {
|
|
185
|
+
if (!isOwnRepo(profile, repo))
|
|
186
|
+
return {};
|
|
187
|
+
const ran = releasedRuns([...report.pipelines, ...(report.others ?? [])], releasesOf(profile));
|
|
188
|
+
const read = async (run) => {
|
|
189
|
+
try {
|
|
190
|
+
const stage = await ci.staged(run);
|
|
191
|
+
if (stage === null)
|
|
192
|
+
return { note: 'no "staged with id" line in the run logs: nothing staged', run, stageId: null };
|
|
193
|
+
return {
|
|
194
|
+
run,
|
|
195
|
+
...stage,
|
|
196
|
+
...(stage.stageId ? { published: await ci.published(stage.package, stage.version) } : {}),
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
if (error instanceof NotFound || (error instanceof ProviderError && !error.transient)) {
|
|
201
|
+
return { error: error.message, run };
|
|
202
|
+
}
|
|
203
|
+
throw error;
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
return Object.fromEntries(await Promise.all(ran.map(async ({ key, run }) => [key, await read(run)])));
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=runs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
|
package/build/tab.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { outputOf, run } from "./run.js";
|
|
2
|
+
// Runs wt.exe for a worker's tab or the console's. Not hidden: when the named window doesn't exist
|
|
3
|
+
// yet, Windows Terminal creates it with the spawn's SW_HIDE, and the tab runs where nobody sees it
|
|
4
|
+
// (ATK-469, ATK-336).
|
|
5
|
+
export function openWindowsTerminal(args, cwd, runCommand = run) {
|
|
6
|
+
return runCommand('wt.exe', args, { cwd, timeoutMs: 60_000, windowsHide: false });
|
|
7
|
+
}
|
|
2
8
|
// A tab in the project's Windows Terminal window, attached to the session. wt.exe splits its own
|
|
3
9
|
// arguments on `;`, so titles lose it and the command chains with `||`. The tab closes when the
|
|
4
10
|
// session stops (a park), and stays open only to show a failed attach (ATK-260).
|
|
@@ -19,7 +25,7 @@ export function windowsTerminalTab() {
|
|
|
19
25
|
return async (tab) => {
|
|
20
26
|
if (process.platform !== 'win32')
|
|
21
27
|
return 'tabs need Windows Terminal';
|
|
22
|
-
const result = await
|
|
28
|
+
const result = await openWindowsTerminal(tabArgs(tab), tab.cwd);
|
|
23
29
|
return result.code === 0 ? null : outputOf(result, 500);
|
|
24
30
|
};
|
|
25
31
|
}
|
package/build/tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","sourceRoot":"","sources":["../src/tab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"tab.js","sourceRoot":"","sources":["../src/tab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAkB,MAAM,UAAU,CAAC;AAazD,mGAAmG;AACnG,mGAAmG;AACnG,sBAAsB;AACtB,MAAM,UAAU,mBAAmB,CAAC,IAAuB,EAAE,GAAW,EAAE,UAAU,GAAG,GAAG;IACxF,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,iGAAiG;AACjG,gGAAgG;AAChG,iFAAiF;AACjF,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,OAAO;QACL,IAAI;QACJ,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QACjB,SAAS;QACT,SAAS;QACT,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM;QACN,UAAU;QACV,iBAAiB,GAAG,CAAC,MAAM,qEAAqE;KACjG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO,4BAA4B,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC"}
|
package/build/wait.js
CHANGED
|
@@ -115,6 +115,7 @@ export async function waitCommand(paths, args, options, io) {
|
|
|
115
115
|
sleep: io.sleep,
|
|
116
116
|
sources: io.sources ?? (credentials ? defaultSources(credentials) : []),
|
|
117
117
|
timeoutMs: timeoutMinutes * 60_000,
|
|
118
|
+
worktree: checkout,
|
|
118
119
|
});
|
|
119
120
|
if (resolution === null) {
|
|
120
121
|
io.out(`still waiting on ${formatCondition(condition)} after ${timeoutMinutes} min`);
|
package/build/wait.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"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"}
|
package/build/watchers/ado.js
CHANGED
|
@@ -1,28 +1,36 @@
|
|
|
1
|
+
import { runGit } from "../checkout.js";
|
|
2
|
+
import { bindCi } from "../code-host.js";
|
|
1
3
|
import { adoCodeHost, adoCodeHostWrites, adoHttp, adoPipelines, adoSend, checksSettled, needsAnswer, prVerdict, } from "../lib/providers/index.js";
|
|
2
4
|
import { notePrefixes } from "../profile.js";
|
|
5
|
+
import { gitMergeFacts, gitReader } from "../runs.js";
|
|
3
6
|
import { boardsWaits } from "./boards.js";
|
|
7
|
+
import { checkMerge, factsCache } from "./merge.js";
|
|
4
8
|
import { BudgetSpent, checksLine, perPass, perWait, spend, untilSpent, verdictLine, WaitProblem, } from "./source.js";
|
|
5
9
|
export {} from "./ado-api.js";
|
|
6
|
-
// ADO PRs (verdict, merged, checks, comment)
|
|
7
|
-
// Repos and Azure Pipelines adapters, and the waits on ADO Boards items
|
|
8
|
-
// them share one budget. The organization and project come from the
|
|
9
|
-
// the az token from its project's tenant. A pass reads each PR once,
|
|
10
|
-
// threads only when a wait needs them. A PR wait whose condition doesn't
|
|
11
|
-
// merge state, so a conflict with the base branch, which no build runs
|
|
12
|
-
// (conflicts.ts). A verdict wait on a landing `conduct land` armed keeps it
|
|
13
|
-
// an expired build queued again, a cleared vote restored (`kept`, which the
|
|
14
|
-
|
|
10
|
+
// ADO PRs (verdict, merged, checks, comment), pipeline runs (done) and a merge's runs (merge), read
|
|
11
|
+
// through the providers' Azure Repos and Azure Pipelines adapters, and the waits on ADO Boards items
|
|
12
|
+
// (approval, item), so all of them share one budget. The organization and project come from the
|
|
13
|
+
// waiting worker's profile, and the az token from its project's tenant. A pass reads each PR once,
|
|
14
|
+
// and its evaluations and threads only when a wait needs them. A PR wait whose condition doesn't
|
|
15
|
+
// hold yet reports the PR's merge state, so a conflict with the base branch, which no build runs
|
|
16
|
+
// on, can wake its worker (conflicts.ts). A verdict wait on a landing `conduct land` armed keeps it
|
|
17
|
+
// armed while it waits: an expired build queued again, a cleared vote restored (`kept`, which the
|
|
18
|
+
// watchers log). A merge wait reads the merge's git in the worker's worktree, once.
|
|
19
|
+
export function adoSource({ credentials, fetch: fetcher = globalThis.fetch, git = runGit, now = () => Date.now(), }) {
|
|
15
20
|
const boards = boardsWaits({ credentials, fetch: fetcher });
|
|
16
21
|
// The expired builds each verdict wait has queued again, so none is queued twice.
|
|
17
22
|
const requeued = new Map();
|
|
23
|
+
const merges = factsCache();
|
|
18
24
|
return {
|
|
19
25
|
check: async (waits, budget) => {
|
|
20
26
|
const outcomes = new Map();
|
|
21
|
-
// A wait that is no longer open (resolved, cancelled, its worker retired) forgets its requeues
|
|
27
|
+
// A wait that is no longer open (resolved, cancelled, its worker retired) forgets its requeues
|
|
28
|
+
// and its merge's facts.
|
|
22
29
|
const open = new Set(waits.map((w) => w.id));
|
|
23
30
|
for (const id of requeued.keys())
|
|
24
31
|
if (!open.has(id))
|
|
25
32
|
requeued.delete(id);
|
|
33
|
+
merges.forget(open);
|
|
26
34
|
// One client per account this pass, each URL asked once. A retry with a renewed token takes
|
|
27
35
|
// one more request from the budget.
|
|
28
36
|
const clients = new Map();
|
|
@@ -44,11 +52,26 @@ export function adoSource({ credentials, fetch: fetcher = globalThis.fetch, }) {
|
|
|
44
52
|
await untilSpent(async () => {
|
|
45
53
|
for (const wait of waits) {
|
|
46
54
|
const c = wait.condition;
|
|
47
|
-
if (
|
|
55
|
+
if (c.kind !== 'run' && !((c.kind === 'pr' || c.kind === 'merge') && c.host === 'ado'))
|
|
48
56
|
continue;
|
|
49
57
|
await perWait(outcomes, wait.id, async () => {
|
|
50
58
|
const repo = repoOf(wait.profile);
|
|
51
59
|
const { ci, host, writes } = clientOf(wait.profile);
|
|
60
|
+
if (c.kind === 'merge') {
|
|
61
|
+
const { worktree } = wait;
|
|
62
|
+
const base = wait.profile?.baseBranch;
|
|
63
|
+
if (!worktree || !base)
|
|
64
|
+
throw new WaitProblem("the waiting worker has no worktree to read the merge's git in");
|
|
65
|
+
return checkMerge({
|
|
66
|
+
ci: bindCi(repo, ci, fetcher),
|
|
67
|
+
condition: c,
|
|
68
|
+
facts: merges.of(wait.id, () => gitMergeFacts(git, worktree, base, c.sha)),
|
|
69
|
+
git: { base, reader: gitReader(git, worktree, base) },
|
|
70
|
+
now: now(),
|
|
71
|
+
profile: wait.profile,
|
|
72
|
+
repo,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
52
75
|
if (c.kind === 'run') {
|
|
53
76
|
const run = await ci.run({ id: c.id, repo });
|
|
54
77
|
return run.status === 'completed' ? `run ${c.pipeline} ${c.id} ${run.result ?? 'completed'}` : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ado.js","sourceRoot":"","sources":["../../src/watchers/ado.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,OAAO,EACP,YAAY,EAEZ,OAAO,EACP,aAAa,EACb,WAAW,EAEX,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAgB,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAEL,WAAW,EACX,UAAU,EAGV,OAAO,EACP,OAAO,EAEP,KAAK,EACL,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAiB,MAAM,cAAc,CAAC;AAE7C,
|
|
1
|
+
{"version":3,"file":"ado.js","sourceRoot":"","sources":["../../src/watchers/ado.ts"],"names":[],"mappings":"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"}
|