@bluewombat/manager-github 0.8.0 → 0.10.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.
- package/README.md +188 -33
- package/SPECS.md +60 -24
- package/dist/adapter/normalize/intent.d.ts +3 -3
- package/dist/adapter/normalize/intent.d.ts.map +1 -1
- package/dist/adapter/normalize/intent.js +4 -4
- package/dist/adapter/normalize/intent.js.map +1 -1
- package/dist/adapter/normalize/normalize.d.ts +5 -1
- package/dist/adapter/normalize/normalize.d.ts.map +1 -1
- package/dist/adapter/normalize/normalize.js +5 -1
- package/dist/adapter/normalize/normalize.js.map +1 -1
- package/dist/adapter/run/run-adapter.d.ts +1 -1
- package/dist/adapter/run/run-adapter.d.ts.map +1 -1
- package/dist/adapter/run/run-adapter.js +29 -2
- package/dist/adapter/run/run-adapter.js.map +1 -1
- package/dist/adapter/types.d.ts +13 -3
- package/dist/adapter/types.d.ts.map +1 -1
- package/dist/adapter/types.js +1 -1
- package/dist/adapter/types.js.map +1 -1
- package/dist/emitter/event/field-matrix.d.ts +1 -1
- package/dist/emitter/event/field-matrix.d.ts.map +1 -1
- package/dist/emitter/event/field-matrix.js +5 -9
- package/dist/emitter/event/field-matrix.js.map +1 -1
- package/dist/emitter/github/labels.d.ts +3 -4
- package/dist/emitter/github/labels.d.ts.map +1 -1
- package/dist/emitter/github/labels.js +9 -9
- package/dist/emitter/github/labels.js.map +1 -1
- package/dist/emitter/render/render-event.d.ts.map +1 -1
- package/dist/emitter/render/render-event.js +13 -42
- package/dist/emitter/render/render-event.js.map +1 -1
- package/dist/emitter/run/run-emitter.d.ts +1 -1
- package/dist/emitter/run/run-emitter.js +3 -3
- package/dist/emitter/thread/marker.d.ts +1 -1
- package/dist/emitter/thread/marker.d.ts.map +1 -1
- package/dist/emitter/thread/marker.js +1 -1
- package/dist/emitter/thread/marker.js.map +1 -1
- package/dist/emitter/types.d.ts +8 -10
- package/dist/emitter/types.d.ts.map +1 -1
- package/dist/emitter/types.js +1 -1
- package/dist/emitter/types.js.map +1 -1
- package/dist/github/blockers.d.ts +24 -0
- package/dist/github/blockers.d.ts.map +1 -0
- package/dist/github/blockers.js +50 -0
- package/dist/github/blockers.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +164 -45
- package/dist/index.js.map +1 -1
- package/dist/label-colors.d.ts +26 -0
- package/dist/label-colors.d.ts.map +1 -0
- package/dist/label-colors.js +51 -0
- package/dist/label-colors.js.map +1 -0
- package/dist/listener/delivery/process-tree.d.ts +1 -1
- package/dist/listener/delivery/process-tree.js +1 -1
- package/dist/listener/run/run-listener.d.ts +1 -1
- package/dist/listener/run/run-listener.js +1 -1
- package/dist/listener/source/select-events.d.ts +6 -1
- package/dist/listener/source/select-events.d.ts.map +1 -1
- package/dist/listener/source/select-events.js +9 -2
- package/dist/listener/source/select-events.js.map +1 -1
- package/dist/listener/types.d.ts +1 -1
- package/dist/listener/types.d.ts.map +1 -1
- package/dist/listener/types.js +1 -1
- package/dist/listener/types.js.map +1 -1
- package/dist/manager.d.ts +28 -8
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +152 -95
- package/dist/manager.js.map +1 -1
- package/dist/settled.d.ts +5 -4
- package/dist/settled.d.ts.map +1 -1
- package/dist/settled.js +7 -7
- package/dist/settled.js.map +1 -1
- package/dist/setup.d.ts +33 -8
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +117 -19
- package/dist/setup.js.map +1 -1
- package/dist/state-labels.d.ts +23 -0
- package/dist/state-labels.d.ts.map +1 -0
- package/dist/state-labels.js +55 -0
- package/dist/state-labels.js.map +1 -0
- package/dist/submission/lines.d.ts +19 -0
- package/dist/submission/lines.d.ts.map +1 -0
- package/dist/submission/lines.js +91 -0
- package/dist/submission/lines.js.map +1 -0
- package/dist/submission/submission.d.ts +16 -6
- package/dist/submission/submission.d.ts.map +1 -1
- package/dist/submission/submission.js +53 -7
- package/dist/submission/submission.js.map +1 -1
- package/dist/tickets/list-tickets.d.ts +29 -0
- package/dist/tickets/list-tickets.d.ts.map +1 -0
- package/dist/tickets/list-tickets.js +98 -0
- package/dist/tickets/list-tickets.js.map +1 -0
- package/dist/written-fingerprint.d.ts +2 -1
- package/dist/written-fingerprint.d.ts.map +1 -1
- package/dist/written-fingerprint.js +3 -3
- package/dist/written-fingerprint.js.map +1 -1
- package/package.json +3 -3
package/dist/settled.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type { StateLabels } from "./state-labels.js";
|
|
1
2
|
/**
|
|
2
|
-
* Whether the tracker already says this issue reached an end —
|
|
3
|
-
* `
|
|
3
|
+
* Whether the tracker already says this issue reached an end — the state
|
|
4
|
+
* labels of `done` or `cancelled` — and nobody asked to resume it.
|
|
4
5
|
*
|
|
5
6
|
* The WorkLedger is the truth; this is the tracker's own memory read as a
|
|
6
7
|
* guard for when the ledger is gone, so a fresh one neither rebuilds merged
|
|
7
|
-
* work nor takes up an abandoned issue again. The
|
|
8
|
+
* work nor takes up an abandoned issue again. The resume label still resumes.
|
|
8
9
|
*/
|
|
9
|
-
export declare function settledAlready(payload: Record<string, unknown>,
|
|
10
|
+
export declare function settledAlready(payload: Record<string, unknown>, labels: StateLabels, resume: string): boolean;
|
|
10
11
|
//# sourceMappingURL=settled.d.ts.map
|
package/dist/settled.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settled.d.ts","sourceRoot":"","sources":["../src/settled.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settled.d.ts","sourceRoot":"","sources":["../src/settled.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAKT"}
|
package/dist/settled.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { payloadHasLabel } from "./labels.js";
|
|
2
|
-
/** The states that end a
|
|
2
|
+
/** The states that end a Ticket: nothing more is done for it unless resumed. */
|
|
3
3
|
const SETTLED_STATES = ["done", "cancelled"];
|
|
4
4
|
/**
|
|
5
|
-
* Whether the tracker already says this issue reached an end —
|
|
6
|
-
* `
|
|
5
|
+
* Whether the tracker already says this issue reached an end — the state
|
|
6
|
+
* labels of `done` or `cancelled` — and nobody asked to resume it.
|
|
7
7
|
*
|
|
8
8
|
* The WorkLedger is the truth; this is the tracker's own memory read as a
|
|
9
9
|
* guard for when the ledger is gone, so a fresh one neither rebuilds merged
|
|
10
|
-
* work nor takes up an abandoned issue again. The
|
|
10
|
+
* work nor takes up an abandoned issue again. The resume label still resumes.
|
|
11
11
|
*/
|
|
12
|
-
export function settledAlready(payload,
|
|
13
|
-
return (SETTLED_STATES.some((state) => payloadHasLabel(payload,
|
|
14
|
-
!payloadHasLabel(payload,
|
|
12
|
+
export function settledAlready(payload, labels, resume) {
|
|
13
|
+
return (SETTLED_STATES.some((state) => payloadHasLabel(payload, labels[state])) &&
|
|
14
|
+
!payloadHasLabel(payload, resume));
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=settled.js.map
|
package/dist/settled.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settled.js","sourceRoot":"","sources":["../src/settled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"settled.js","sourceRoot":"","sources":["../src/settled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,gFAAgF;AAChF,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,WAAW,CAAU,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgC,EAChC,MAAmB,EACnB,MAAc;IAEd,OAAO,CACL,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAClC,CAAC;AACJ,CAAC"}
|
package/dist/setup.d.ts
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
|
-
import { type SetupResult } from "@bluewombat/manager-kit";
|
|
1
|
+
import { type ManagerSide, type SetupResult } from "@bluewombat/manager-kit";
|
|
2
|
+
import type { LabelColors } from "./label-colors.js";
|
|
2
3
|
import type { Repository } from "./repo.js";
|
|
4
|
+
import type { StateLabels } from "./state-labels.js";
|
|
3
5
|
export type SetupSettings = {
|
|
4
6
|
repo: Repository;
|
|
5
7
|
token: string;
|
|
6
8
|
apiBase: string;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
resumeLabel: string;
|
|
10
|
+
featureReadyLabel: string;
|
|
11
|
+
ticketReadyLabel: string;
|
|
12
|
+
noTestsLabel: string;
|
|
13
|
+
e2eLabel: string;
|
|
14
|
+
skipTestE2eLabel: string;
|
|
15
|
+
mergeWhenReadyLabel: string;
|
|
16
|
+
/** The sides this manager is built for: only their labels are wanted. */
|
|
17
|
+
sides: readonly ManagerSide[];
|
|
9
18
|
defaultProject: string | undefined;
|
|
10
|
-
|
|
19
|
+
stateLabels: StateLabels | undefined;
|
|
20
|
+
/** The colours the config chose; absent, the defaults, and an existing label is left alone. */
|
|
21
|
+
labelColors?: LabelColors | undefined;
|
|
11
22
|
/** The branch pull requests are opened onto, and whether the config named it. */
|
|
12
23
|
branch: string;
|
|
13
24
|
branchConfigured: boolean;
|
|
@@ -21,6 +32,8 @@ type WantedLabel = {
|
|
|
21
32
|
name: string;
|
|
22
33
|
colour: string;
|
|
23
34
|
description: string;
|
|
35
|
+
/** The config chose this colour: a label that exists with another one is recoloured. */
|
|
36
|
+
chosen: boolean;
|
|
24
37
|
};
|
|
25
38
|
/**
|
|
26
39
|
* Bring one repository to the shape a run expects: reachable, issues on, a
|
|
@@ -32,12 +45,24 @@ type WantedLabel = {
|
|
|
32
45
|
export declare function runSetup(settings: SetupSettings, input: {
|
|
33
46
|
apply: boolean;
|
|
34
47
|
}): Promise<SetupResult>;
|
|
35
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Every label this configuration will look for or write, and why it exists.
|
|
50
|
+
* Only the labels of the sides this manager is built for: a manager that holds
|
|
51
|
+
* only the Tickets does not create the Feature label, and the reverse. No
|
|
52
|
+
* `sides` means both.
|
|
53
|
+
*/
|
|
36
54
|
export declare function wantedLabels(settings: {
|
|
37
|
-
|
|
38
|
-
|
|
55
|
+
resumeLabel: string;
|
|
56
|
+
featureReadyLabel: string;
|
|
57
|
+
ticketReadyLabel: string;
|
|
58
|
+
noTestsLabel: string;
|
|
59
|
+
e2eLabel: string;
|
|
60
|
+
skipTestE2eLabel: string;
|
|
61
|
+
mergeWhenReadyLabel: string;
|
|
62
|
+
sides?: readonly ManagerSide[];
|
|
39
63
|
defaultProject: string | undefined;
|
|
40
|
-
|
|
64
|
+
stateLabels: StateLabels | undefined;
|
|
65
|
+
labelColors?: LabelColors | undefined;
|
|
41
66
|
}): WantedLabel[];
|
|
42
67
|
export {};
|
|
43
68
|
//# sourceMappingURL=setup.d.ts.map
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAarD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,+FAA+F;IAC/F,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACxC,WAAW,EAAE,OAAO,KAAK,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GACxB,OAAO,CAAC,WAAW,CAAC,CAuEtB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CACvC,GAAG,WAAW,EAAE,CA4FhB"}
|
package/dist/setup.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { EVENT_NAMES, PRODUCT } from "@bluewombat/manager-kit";
|
|
1
|
+
import { EVENT_NAMES, PRODUCT, } from "@bluewombat/manager-kit";
|
|
2
2
|
import { callSignal, createClient, readFailure } from "./github/client.js";
|
|
3
3
|
const PER_PAGE = 100;
|
|
4
4
|
/** Colours are only there so a human can tell the families apart at a glance. */
|
|
5
|
-
const
|
|
5
|
+
const RESUME_COLOUR = "0e8a16";
|
|
6
6
|
const ADMISSION_COLOUR = "1d76db";
|
|
7
7
|
const STATE_COLOUR = "5319e7";
|
|
8
8
|
const PROJECT_COLOUR = "c5def5";
|
|
9
|
+
const NO_TESTS_COLOUR = "fbca04";
|
|
10
|
+
const E2E_COLOUR = "0e8a16";
|
|
11
|
+
const SKIP_E2E_COLOUR = "fbca04";
|
|
9
12
|
/**
|
|
10
13
|
* Bring one repository to the shape a run expects: reachable, issues on, a
|
|
11
14
|
* token that can write, and every label the config names.
|
|
@@ -43,9 +46,23 @@ export async function runSetup(settings, input) {
|
|
|
43
46
|
steps.push(present.step);
|
|
44
47
|
return { ok: false, steps };
|
|
45
48
|
}
|
|
46
|
-
const known = new
|
|
49
|
+
const known = new Map(present.labels.map((label) => [label.name.toLowerCase(), label.colour]));
|
|
47
50
|
for (const wanted of wantedLabels(settings)) {
|
|
48
|
-
|
|
51
|
+
const has = known.get(wanted.name.toLowerCase());
|
|
52
|
+
if (has !== undefined) {
|
|
53
|
+
if (wanted.chosen && has.toLowerCase() !== wanted.colour) {
|
|
54
|
+
if (!input.apply) {
|
|
55
|
+
steps.push({
|
|
56
|
+
id: `label:${wanted.name}`,
|
|
57
|
+
summary: `recolour label ${wanted.name}`,
|
|
58
|
+
state: "missing",
|
|
59
|
+
detail: `it is ${has}, the config says ${wanted.colour}`,
|
|
60
|
+
});
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
steps.push(await recolourLabel(github, settings.repo, wanted, context));
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
49
66
|
steps.push({
|
|
50
67
|
id: `label:${wanted.name}`,
|
|
51
68
|
summary: `label ${wanted.name}`,
|
|
@@ -67,33 +84,86 @@ export async function runSetup(settings, input) {
|
|
|
67
84
|
}
|
|
68
85
|
return { ok: steps.every((step) => step.state !== "blocked"), steps };
|
|
69
86
|
}
|
|
70
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* Every label this configuration will look for or write, and why it exists.
|
|
89
|
+
* Only the labels of the sides this manager is built for: a manager that holds
|
|
90
|
+
* only the Tickets does not create the Feature label, and the reverse. No
|
|
91
|
+
* `sides` means both.
|
|
92
|
+
*/
|
|
71
93
|
export function wantedLabels(settings) {
|
|
94
|
+
const sides = settings.sides ?? ["featureTracker", "ticketTracker"];
|
|
95
|
+
const forFeatures = sides.includes("featureTracker");
|
|
96
|
+
const forTickets = sides.includes("ticketTracker");
|
|
97
|
+
// One name for both roles is allowed: a sub-issue is a Ticket and a top-level
|
|
98
|
+
// issue is a Feature, so the label is created once and says both.
|
|
99
|
+
const shared = forFeatures &&
|
|
100
|
+
forTickets &&
|
|
101
|
+
settings.featureReadyLabel.toLowerCase() === settings.ticketReadyLabel.toLowerCase();
|
|
102
|
+
// The colour of a label: the one the config chose for what it is for, else the default.
|
|
103
|
+
const colourOf = (key, fallback) => {
|
|
104
|
+
const colour = settings.labelColors?.[key];
|
|
105
|
+
return { colour: colour ?? fallback, chosen: colour !== undefined };
|
|
106
|
+
};
|
|
72
107
|
const wanted = [];
|
|
73
|
-
|
|
108
|
+
if (forFeatures) {
|
|
109
|
+
wanted.push(shared
|
|
110
|
+
? {
|
|
111
|
+
name: settings.featureReadyLabel,
|
|
112
|
+
...colourOf("feature-ready", ADMISSION_COLOUR),
|
|
113
|
+
description: "on a Feature: its content is final; on a Ticket: its specification is final",
|
|
114
|
+
}
|
|
115
|
+
: {
|
|
116
|
+
name: settings.featureReadyLabel,
|
|
117
|
+
...colourOf("feature-ready", ADMISSION_COLOUR),
|
|
118
|
+
description: `on a Feature: its content is final, ${PRODUCT} may build it once its Tickets are ready`,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
if (forTickets) {
|
|
74
122
|
wanted.push({
|
|
75
|
-
name,
|
|
76
|
-
|
|
77
|
-
description:
|
|
123
|
+
name: settings.ticketReadyLabel,
|
|
124
|
+
...colourOf("ticket-ready", ADMISSION_COLOUR),
|
|
125
|
+
description: "on a Ticket: its specification is final",
|
|
126
|
+
});
|
|
127
|
+
wanted.push({
|
|
128
|
+
name: settings.noTestsLabel,
|
|
129
|
+
...colourOf("no-tests", NO_TESTS_COLOUR),
|
|
130
|
+
description: `on a Ticket: ${PRODUCT} writes no tests before its code`,
|
|
131
|
+
});
|
|
132
|
+
wanted.push({
|
|
133
|
+
name: settings.e2eLabel,
|
|
134
|
+
...colourOf("e2e", E2E_COLOUR),
|
|
135
|
+
description: `on a Ticket: it holds the e2e acceptance suite of its Feature, run once on the whole Feature`,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
if (forFeatures) {
|
|
139
|
+
wanted.push({
|
|
140
|
+
name: settings.mergeWhenReadyLabel,
|
|
141
|
+
...colourOf("merge-when-ready", ADMISSION_COLOUR),
|
|
142
|
+
description: `on a Feature: ${PRODUCT} folds its line without a human`,
|
|
143
|
+
});
|
|
144
|
+
wanted.push({
|
|
145
|
+
name: settings.skipTestE2eLabel,
|
|
146
|
+
...colourOf("skip-test-e2e", SKIP_E2E_COLOUR),
|
|
147
|
+
description: `on a Feature: ${PRODUCT} does not run its e2e acceptance suite`,
|
|
78
148
|
});
|
|
79
149
|
}
|
|
80
150
|
wanted.push({
|
|
81
|
-
name: settings.
|
|
82
|
-
|
|
83
|
-
description: `on an escalated
|
|
151
|
+
name: settings.resumeLabel,
|
|
152
|
+
...colourOf("resume", RESUME_COLOUR),
|
|
153
|
+
description: `on an escalated Feature or Ticket, ${PRODUCT} resumes it`,
|
|
84
154
|
});
|
|
85
155
|
if (settings.defaultProject !== undefined) {
|
|
86
156
|
wanted.push({
|
|
87
157
|
name: `project:${settings.defaultProject}`,
|
|
88
|
-
|
|
158
|
+
...colourOf("project", PROJECT_COLOUR),
|
|
89
159
|
description: `routes the issue to this ${PRODUCT} Project`,
|
|
90
160
|
});
|
|
91
161
|
}
|
|
92
|
-
if (settings.
|
|
162
|
+
if (settings.stateLabels !== undefined) {
|
|
93
163
|
for (const event of EVENT_NAMES) {
|
|
94
164
|
wanted.push({
|
|
95
|
-
name:
|
|
96
|
-
|
|
165
|
+
name: settings.stateLabels[event],
|
|
166
|
+
...colourOf(`state-${event}`, STATE_COLOUR),
|
|
97
167
|
description: `${PRODUCT} state: ${event}`,
|
|
98
168
|
});
|
|
99
169
|
}
|
|
@@ -213,7 +283,7 @@ async function readBranch(github, repo, settings, repository, context) {
|
|
|
213
283
|
return { id: "branch", summary, state: "satisfied", detail };
|
|
214
284
|
}
|
|
215
285
|
async function readLabels(github, repo, context) {
|
|
216
|
-
const
|
|
286
|
+
const labels = [];
|
|
217
287
|
let page = 1;
|
|
218
288
|
for (;;) {
|
|
219
289
|
const call = callSignal(context.deadlineMs, context.now, context.shouldInterrupt);
|
|
@@ -226,10 +296,10 @@ async function readLabels(github, repo, context) {
|
|
|
226
296
|
request: { signal: call.signal },
|
|
227
297
|
});
|
|
228
298
|
for (const label of response.data) {
|
|
229
|
-
|
|
299
|
+
labels.push({ name: label.name, colour: String(label.color ?? "") });
|
|
230
300
|
}
|
|
231
301
|
if (response.data.length < PER_PAGE) {
|
|
232
|
-
return { ok: true,
|
|
302
|
+
return { ok: true, labels };
|
|
233
303
|
}
|
|
234
304
|
page += 1;
|
|
235
305
|
}
|
|
@@ -249,6 +319,34 @@ async function readLabels(github, repo, context) {
|
|
|
249
319
|
}
|
|
250
320
|
}
|
|
251
321
|
}
|
|
322
|
+
async function recolourLabel(github, repo, wanted, context) {
|
|
323
|
+
const call = callSignal(context.deadlineMs, context.now, context.shouldInterrupt);
|
|
324
|
+
try {
|
|
325
|
+
await github.request("PATCH /repos/{owner}/{repo}/labels/{name}", {
|
|
326
|
+
owner: repo.owner,
|
|
327
|
+
repo: repo.name,
|
|
328
|
+
name: wanted.name,
|
|
329
|
+
color: wanted.colour,
|
|
330
|
+
request: { signal: call.signal },
|
|
331
|
+
});
|
|
332
|
+
return {
|
|
333
|
+
id: `label:${wanted.name}`,
|
|
334
|
+
summary: `recolour label ${wanted.name}`,
|
|
335
|
+
state: "applied",
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
catch (error) {
|
|
339
|
+
return {
|
|
340
|
+
id: `label:${wanted.name}`,
|
|
341
|
+
summary: `recolour label ${wanted.name}`,
|
|
342
|
+
state: "blocked",
|
|
343
|
+
detail: readFailure(error).detail,
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
finally {
|
|
347
|
+
call.release();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
252
350
|
async function createLabel(github, repo, wanted, context) {
|
|
253
351
|
const call = callSignal(context.deadlineMs, context.now, context.shouldInterrupt);
|
|
254
352
|
try {
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type EventName } from "@bluewombat/manager-kit";
|
|
2
|
+
/** The label each Event lands as on an issue. */
|
|
3
|
+
export type StateLabels = Readonly<Record<EventName, string>>;
|
|
4
|
+
export type StateLabelsResult = {
|
|
5
|
+
ok: true;
|
|
6
|
+
labels: StateLabels | undefined;
|
|
7
|
+
} | {
|
|
8
|
+
ok: false;
|
|
9
|
+
reason: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* The label of every Event, from the `stateLabels` option.
|
|
13
|
+
*
|
|
14
|
+
* Absent, the Events leave no label. Present, it names every Event: an Event
|
|
15
|
+
* with no label would leave the previous one on the issue, and two Events
|
|
16
|
+
* cannot share one, or the issue could not tell them apart.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveStateLabels(named: Record<string, string> | undefined): StateLabelsResult;
|
|
19
|
+
/** The label of this Event, if it is one the state labels cover. */
|
|
20
|
+
export declare function stateLabelOf(labels: StateLabels, event: string): string | undefined;
|
|
21
|
+
/** Whether this label is one of the state labels, whatever the case. */
|
|
22
|
+
export declare function isStateLabel(labels: StateLabels, name: string): boolean;
|
|
23
|
+
//# sourceMappingURL=state-labels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-labels.d.ts","sourceRoot":"","sources":["../src/state-labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEtE,iDAAiD;AACjD,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,GAC7C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,iBAAiB,CAoC/F;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAInF;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { EVENT_NAMES } from "@bluewombat/manager-kit";
|
|
2
|
+
/**
|
|
3
|
+
* The label of every Event, from the `stateLabels` option.
|
|
4
|
+
*
|
|
5
|
+
* Absent, the Events leave no label. Present, it names every Event: an Event
|
|
6
|
+
* with no label would leave the previous one on the issue, and two Events
|
|
7
|
+
* cannot share one, or the issue could not tell them apart.
|
|
8
|
+
*/
|
|
9
|
+
export function resolveStateLabels(named) {
|
|
10
|
+
if (named === undefined) {
|
|
11
|
+
return { ok: true, labels: undefined };
|
|
12
|
+
}
|
|
13
|
+
const known = new Set(EVENT_NAMES);
|
|
14
|
+
for (const key of Object.keys(named)) {
|
|
15
|
+
if (!known.has(key)) {
|
|
16
|
+
return {
|
|
17
|
+
ok: false,
|
|
18
|
+
reason: `"stateLabels" names "${key}", which is not an event (${EVENT_NAMES.join(", ")}).`,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const missing = EVENT_NAMES.filter((event) => named[event] === undefined);
|
|
23
|
+
if (missing.length > 0) {
|
|
24
|
+
return {
|
|
25
|
+
ok: false,
|
|
26
|
+
reason: `"stateLabels" must name every event; missing: ${missing.join(", ")}.`,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const labels = Object.fromEntries(EVENT_NAMES.map((event) => [event, named[event]]));
|
|
30
|
+
const owners = new Map();
|
|
31
|
+
for (const event of EVENT_NAMES) {
|
|
32
|
+
const key = labels[event].toLowerCase();
|
|
33
|
+
const other = owners.get(key);
|
|
34
|
+
if (other !== undefined) {
|
|
35
|
+
return {
|
|
36
|
+
ok: false,
|
|
37
|
+
reason: `"stateLabels" gives "${labels[event]}" to both ${other} and ${event}.`,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
owners.set(key, event);
|
|
41
|
+
}
|
|
42
|
+
return { ok: true, labels };
|
|
43
|
+
}
|
|
44
|
+
/** The label of this Event, if it is one the state labels cover. */
|
|
45
|
+
export function stateLabelOf(labels, event) {
|
|
46
|
+
return EVENT_NAMES.includes(event)
|
|
47
|
+
? labels[event]
|
|
48
|
+
: undefined;
|
|
49
|
+
}
|
|
50
|
+
/** Whether this label is one of the state labels, whatever the case. */
|
|
51
|
+
export function isStateLabel(labels, name) {
|
|
52
|
+
const wanted = name.toLowerCase();
|
|
53
|
+
return EVENT_NAMES.some((event) => labels[event].toLowerCase() === wanted);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=state-labels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-labels.js","sourceRoot":"","sources":["../src/state-labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAStE;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyC;IAC1E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,WAAW,CAAC,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,wBAAwB,GAAG,6BAA6B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;aAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;IAC1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,iDAAiD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SAC/E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAW,CAAC,CAAC,CAC/B,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,wBAAwB,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,QAAQ,KAAK,GAAG;aAChF,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,MAAmB,EAAE,KAAa;IAC7D,OAAQ,WAAiC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvD,CAAC,CAAC,MAAM,CAAC,KAAkB,CAAC;QAC5B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,MAAmB,EAAE,IAAY;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { LineResult, SettledResult } from "@bluewombat/manager-kit";
|
|
2
|
+
import { type SubmissionContext } from "./submission.js";
|
|
3
|
+
/**
|
|
4
|
+
* Cut a branch from another: the line a Feature's Tickets land on.
|
|
5
|
+
*
|
|
6
|
+
* A line that is already there is a success, so asking again after a restart
|
|
7
|
+
* does nothing. A refusal that will not change on a retry (the branch to cut
|
|
8
|
+
* from does not exist, the token cannot write) is a `refused`; anything else
|
|
9
|
+
* is `unavailable` and is tried again.
|
|
10
|
+
*/
|
|
11
|
+
export declare function openLine(input: {
|
|
12
|
+
line: string;
|
|
13
|
+
from: string;
|
|
14
|
+
}, context: SubmissionContext): Promise<LineResult>;
|
|
15
|
+
/** Delete a line nobody will fold. Already gone, protected or unreachable: nothing more to do. */
|
|
16
|
+
export declare function dropLine(line: string, context: SubmissionContext): Promise<void>;
|
|
17
|
+
/** Where a pull request stands: merged by whoever merged it, closed without, or still open. */
|
|
18
|
+
export declare function settledPullRequest(reference: string, context: SubmissionContext): Promise<SettledResult>;
|
|
19
|
+
//# sourceMappingURL=lines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lines.d.ts","sourceRoot":"","sources":["../../src/submission/lines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,UAAU,CAAC,CAgCrB;AAED,kGAAkG;AAClG,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CActF;AAED,+FAA+F;AAC/F,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CAsBxB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { callSignal, readFailure } from "../github/client.js";
|
|
2
|
+
import { numberFromReference } from "./submission.js";
|
|
3
|
+
/**
|
|
4
|
+
* Cut a branch from another: the line a Feature's Tickets land on.
|
|
5
|
+
*
|
|
6
|
+
* A line that is already there is a success, so asking again after a restart
|
|
7
|
+
* does nothing. A refusal that will not change on a retry (the branch to cut
|
|
8
|
+
* from does not exist, the token cannot write) is a `refused`; anything else
|
|
9
|
+
* is `unavailable` and is tried again.
|
|
10
|
+
*/
|
|
11
|
+
export async function openLine(input, context) {
|
|
12
|
+
const call = callSignal(context.deadlineMs, context.now, context.shouldInterrupt);
|
|
13
|
+
try {
|
|
14
|
+
const base = await context.github.request("GET /repos/{owner}/{repo}/git/ref/{ref}", {
|
|
15
|
+
owner: context.repo.owner,
|
|
16
|
+
repo: context.repo.name,
|
|
17
|
+
ref: `heads/${input.from}`,
|
|
18
|
+
request: { signal: call.signal },
|
|
19
|
+
});
|
|
20
|
+
try {
|
|
21
|
+
await context.github.request("POST /repos/{owner}/{repo}/git/refs", {
|
|
22
|
+
owner: context.repo.owner,
|
|
23
|
+
repo: context.repo.name,
|
|
24
|
+
ref: `refs/heads/${input.line}`,
|
|
25
|
+
sha: base.data.object.sha,
|
|
26
|
+
request: { signal: call.signal },
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
// "Reference already exists": the line was cut by an earlier pass.
|
|
31
|
+
if (readFailure(error).status !== 422) {
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return { outcome: "opened" };
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
const failure = readFailure(error);
|
|
39
|
+
return failure.permanent
|
|
40
|
+
? { outcome: "refused", reason: failure.detail }
|
|
41
|
+
: { outcome: "unavailable" };
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
call.release();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** Delete a line nobody will fold. Already gone, protected or unreachable: nothing more to do. */
|
|
48
|
+
export async function dropLine(line, context) {
|
|
49
|
+
const call = callSignal(context.deadlineMs, context.now, context.shouldInterrupt);
|
|
50
|
+
try {
|
|
51
|
+
await context.github.request("DELETE /repos/{owner}/{repo}/git/refs/{ref}", {
|
|
52
|
+
owner: context.repo.owner,
|
|
53
|
+
repo: context.repo.name,
|
|
54
|
+
ref: `heads/${line}`,
|
|
55
|
+
request: { signal: call.signal },
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// The line is not worth a failure.
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
call.release();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/** Where a pull request stands: merged by whoever merged it, closed without, or still open. */
|
|
66
|
+
export async function settledPullRequest(reference, context) {
|
|
67
|
+
const number = numberFromReference(reference);
|
|
68
|
+
if (number === undefined) {
|
|
69
|
+
return "unavailable";
|
|
70
|
+
}
|
|
71
|
+
const call = callSignal(context.deadlineMs, context.now, context.shouldInterrupt);
|
|
72
|
+
try {
|
|
73
|
+
const pull = await context.github.request("GET /repos/{owner}/{repo}/pulls/{pull_number}", {
|
|
74
|
+
owner: context.repo.owner,
|
|
75
|
+
repo: context.repo.name,
|
|
76
|
+
pull_number: number,
|
|
77
|
+
request: { signal: call.signal },
|
|
78
|
+
});
|
|
79
|
+
if (pull.data.merged === true) {
|
|
80
|
+
return "folded";
|
|
81
|
+
}
|
|
82
|
+
return pull.data.state === "closed" ? "closed" : "open";
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return "unavailable";
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
call.release();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=lines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lines.js","sourceRoot":"","sources":["../../src/submission/lines.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FoldResult, SubmissionRequest, SubmissionResult } from "@bluewombat/manager-kit";
|
|
1
|
+
import type { BehindResult, FoldResult, SubmissionRequest, SubmissionResult } from "@bluewombat/manager-kit";
|
|
2
2
|
import { type GithubClient } from "../github/client.js";
|
|
3
3
|
import type { Repository } from "../repo.js";
|
|
4
4
|
/**
|
|
@@ -18,12 +18,22 @@ export type SubmissionContext = {
|
|
|
18
18
|
deadlineMs: number;
|
|
19
19
|
now: () => number;
|
|
20
20
|
shouldInterrupt: () => boolean;
|
|
21
|
-
/** Leave the
|
|
21
|
+
/** Leave the ticket branch on the remote after the fold. Default: delete it. */
|
|
22
22
|
keepBranch?: boolean | undefined;
|
|
23
23
|
};
|
|
24
24
|
export declare function referenceOf(repo: Repository, number: number): string;
|
|
25
25
|
export declare function numberFromReference(reference: string): number | undefined;
|
|
26
26
|
export declare function submitPullRequest(input: SubmissionRequest, context: SubmissionContext): Promise<SubmissionResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the line the pull request is offered to holds commits the pull
|
|
29
|
+
* request does not: it moved on since the work was last brought up to date with
|
|
30
|
+
* it. Asked right before a fold, because what the Gates judged is then not what
|
|
31
|
+
* a squash would put on the line.
|
|
32
|
+
*
|
|
33
|
+
* The line's tip is read as a commit, and the two are compared by commit: a
|
|
34
|
+
* branch name with a slash does not travel well in a compare address.
|
|
35
|
+
*/
|
|
36
|
+
export declare function behindPullRequest(reference: string, context: SubmissionContext): Promise<BehindResult>;
|
|
27
37
|
export declare function foldPullRequest(reference: string, context: SubmissionContext): Promise<FoldResult>;
|
|
28
38
|
/** `commit_title` and `commit_message` for the squash, from what the pull request carries. */
|
|
29
39
|
export declare function commitOf(pullTitle: string, pullBody: string): {
|
|
@@ -36,9 +46,9 @@ export declare function commitOf(pullTitle: string, pullBody: string): {
|
|
|
36
46
|
*/
|
|
37
47
|
export declare function titleOf(input: Pick<SubmissionRequest, "key" | "title">): string;
|
|
38
48
|
/**
|
|
39
|
-
* What the pull request delivers, from what was asked
|
|
40
|
-
*
|
|
41
|
-
* the
|
|
49
|
+
* What the pull request delivers, from what was asked. Nothing here is
|
|
50
|
+
* generated: the intention is the human's words. `Closes #N` lets GitHub close
|
|
51
|
+
* the issue when this is merged.
|
|
42
52
|
*/
|
|
43
|
-
export declare function bodyOf(input: Pick<SubmissionRequest, "key" | "title" | "intention" | "
|
|
53
|
+
export declare function bodyOf(input: Pick<SubmissionRequest, "key" | "title" | "intention" | "description">): string;
|
|
44
54
|
//# sourceMappingURL=submission.d.ts.map
|