@idea1/cli 1.10.4 → 1.11.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/README.md +74 -32
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +30 -12
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +3 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +5 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/login.d.ts +3 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +15 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +3 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +17 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/release.d.ts +9 -4
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +53 -27
- package/dist/commands/release.js.map +1 -1
- package/dist/lib/project-item-url.d.ts +6 -0
- package/dist/lib/project-item-url.d.ts.map +1 -1
- package/dist/lib/project-item-url.js +11 -0
- package/dist/lib/project-item-url.js.map +1 -1
- package/dist/lib/settings.d.ts +25 -3
- package/dist/lib/settings.d.ts.map +1 -1
- package/dist/lib/settings.js +26 -1
- package/dist/lib/settings.js.map +1 -1
- package/dist/prompts/platform-prompts.d.ts +5 -30
- package/dist/prompts/platform-prompts.d.ts.map +1 -1
- package/dist/prompts/platform-prompts.js +5 -44
- package/dist/prompts/platform-prompts.js.map +1 -1
- package/dist/services/github.d.ts +21 -19
- package/dist/services/github.d.ts.map +1 -1
- package/dist/services/github.js +56 -64
- package/dist/services/github.js.map +1 -1
- package/dist/services/platform-auth.d.ts +44 -0
- package/dist/services/platform-auth.d.ts.map +1 -0
- package/dist/services/platform-auth.js +476 -0
- package/dist/services/platform-auth.js.map +1 -0
- package/dist/services/platform.d.ts +75 -18
- package/dist/services/platform.d.ts.map +1 -1
- package/dist/services/platform.js +254 -191
- package/dist/services/platform.js.map +1 -1
- package/dist/services/setup.d.ts.map +1 -1
- package/dist/services/setup.js +2 -1
- package/dist/services/setup.js.map +1 -1
- package/dist/types/index.d.ts +32 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/workflow/data/team-member.d.ts +9 -2
- package/dist/workflow/data/team-member.d.ts.map +1 -1
- package/dist/workflow/data/team-member.js +8 -1
- package/dist/workflow/data/team-member.js.map +1 -1
- package/dist/workflow/engine/approval-flow.d.ts +28 -11
- package/dist/workflow/engine/approval-flow.d.ts.map +1 -1
- package/dist/workflow/engine/approval-flow.js +52 -17
- package/dist/workflow/engine/approval-flow.js.map +1 -1
- package/dist/workflow/engine/branch-setup.d.ts +1 -1
- package/dist/workflow/engine/branch-setup.js +1 -1
- package/dist/workflow/engine/handlers/approve-pr.d.ts +10 -9
- package/dist/workflow/engine/handlers/approve-pr.d.ts.map +1 -1
- package/dist/workflow/engine/handlers/approve-pr.js +24 -17
- package/dist/workflow/engine/handlers/approve-pr.js.map +1 -1
- package/dist/workflow/engine/release-engine.d.ts +90 -58
- package/dist/workflow/engine/release-engine.d.ts.map +1 -1
- package/dist/workflow/engine/release-engine.js +296 -161
- package/dist/workflow/engine/release-engine.js.map +1 -1
- package/dist/workflow/engine/workflow-engine.d.ts +9 -2
- package/dist/workflow/engine/workflow-engine.d.ts.map +1 -1
- package/dist/workflow/engine/workflow-engine.js +20 -2
- package/dist/workflow/engine/workflow-engine.js.map +1 -1
- package/package.json +2 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -108,6 +108,20 @@ export interface VersionedPackage {
|
|
|
108
108
|
/** The package's folder, relative to the repo root; it holds the package's package.json. */
|
|
109
109
|
path: string;
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* How changes may reach the release branch (`defaults.baseBranch`), the branch a planned release is cut from.
|
|
113
|
+
* A workflow-level policy: it says what the workflow accepts, not which repository host feature enforces it.
|
|
114
|
+
*
|
|
115
|
+
* - `approved-only`: every change reaches the release branch through its own approved change. A commit
|
|
116
|
+
* made directly on the branch stops a release until a repository admin records why it was made there.
|
|
117
|
+
* - `direct-allowed`: a change may also be made directly on the release branch. A release carries such a
|
|
118
|
+
* commit and lists it for its approver to review, with no admin and no recorded reason.
|
|
119
|
+
*
|
|
120
|
+
* The release target branch (`defaults.releaseTargetBranch`) is not configurable: it only ever changes
|
|
121
|
+
* through a release, never directly.
|
|
122
|
+
*/
|
|
123
|
+
export type ReleaseBranchChanges = 'approved-only' | 'direct-allowed';
|
|
124
|
+
export declare const RELEASE_BRANCH_CHANGES: readonly ReleaseBranchChanges[];
|
|
111
125
|
/**
|
|
112
126
|
* Idea1 settings from .idea1/settings.json, overlaid with .idea1/settings.local.json
|
|
113
127
|
*/
|
|
@@ -145,6 +159,24 @@ export interface Idea1Settings {
|
|
|
145
159
|
* bumps those whose folder changed since the last release, before the release PR is opened.
|
|
146
160
|
*/
|
|
147
161
|
versionedPackages?: VersionedPackage[];
|
|
162
|
+
/** How changes may reach the release branch (default `approved-only`). */
|
|
163
|
+
releaseBranchChanges?: ReleaseBranchChanges;
|
|
164
|
+
/**
|
|
165
|
+
* The slug of the GitHub team, in the repository's organization, whose members release the base
|
|
166
|
+
* and hotfix branches. Absent, anyone the release workflow admits releases them.
|
|
167
|
+
*/
|
|
168
|
+
releaserTeam?: string;
|
|
169
|
+
/**
|
|
170
|
+
* A release branch whose releases change only content: `branch` is released into the release
|
|
171
|
+
* target with no version bumps, every file a release of it changes lies under one of `paths`
|
|
172
|
+
* (repository folders or files), and the members of `releaserTeam` approve changes into it and
|
|
173
|
+
* release it. Declared only with a branch and at least one path.
|
|
174
|
+
*/
|
|
175
|
+
contentRelease?: {
|
|
176
|
+
branch?: string;
|
|
177
|
+
paths?: string[];
|
|
178
|
+
releaserTeam?: string;
|
|
179
|
+
};
|
|
148
180
|
};
|
|
149
181
|
}
|
|
150
182
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const RELEASE_BRANCH_CHANGES = ['approved-only', 'direct-allowed'];
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA4HA,MAAM,CAAC,MAAM,sBAAsB,GAAoC,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC"}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A team member's role on the team, as the platform's numeric `TeamRole`.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum TeamRole {
|
|
5
|
+
Admin = 0,
|
|
6
|
+
Editor = 1
|
|
7
|
+
}
|
|
1
8
|
/**
|
|
2
9
|
* A member of the team, as the platform lists them: the teammate a project item can be assigned
|
|
3
10
|
* to. `gitHubUsername` is the member's linked GitHub account, null when none is linked; a member
|
|
4
11
|
* can only be assigned a pull request through a linked account.
|
|
5
12
|
*
|
|
6
|
-
* Mirrors the platform's `
|
|
13
|
+
* Mirrors the platform's `TeamMemberResponse`.
|
|
7
14
|
*/
|
|
8
15
|
export interface TeamMember {
|
|
9
16
|
userId: string;
|
|
10
17
|
email: string;
|
|
11
|
-
role:
|
|
18
|
+
role: TeamRole;
|
|
12
19
|
gitHubUsername: string | null;
|
|
13
20
|
}
|
|
14
21
|
//# sourceMappingURL=team-member.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-member.d.ts","sourceRoot":"","sources":["../../../src/workflow/data/team-member.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"team-member.d.ts","sourceRoot":"","sources":["../../../src/workflow/data/team-member.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A team member's role on the team, as the platform's numeric `TeamRole`.
|
|
3
|
+
*/
|
|
4
|
+
export var TeamRole;
|
|
5
|
+
(function (TeamRole) {
|
|
6
|
+
TeamRole[TeamRole["Admin"] = 0] = "Admin";
|
|
7
|
+
TeamRole[TeamRole["Editor"] = 1] = "Editor";
|
|
8
|
+
})(TeamRole || (TeamRole = {}));
|
|
2
9
|
//# sourceMappingURL=team-member.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-member.js","sourceRoot":"","sources":["../../../src/workflow/data/team-member.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"team-member.js","sourceRoot":"","sources":["../../../src/workflow/data/team-member.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,2CAAU,CAAA;AACZ,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB"}
|
|
@@ -3,9 +3,10 @@ import type { TeamMember } from '../data/team-member.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Stage 1 of change management as it applies to a branch and its PR
|
|
5
5
|
* (change-management-policy.md, "Approval and release gates"): the PR gets its assignee - the approver of record -
|
|
6
|
-
* and the assignee approves
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* and the assignee approves it once the required CI/CD checks pass, which merges it: the Idea1
|
|
7
|
+
* platform records the approval on the PR and merges it as the Idea1 GitHub App, so nobody merges
|
|
8
|
+
* into the base branch as themselves. The approver is a teammate, named by email: the team member a
|
|
9
|
+
* project item is assigned to, whose linked GitHub account is the PR's assignee. Used by the workflow handlers for a project item's branch and by
|
|
9
10
|
* `ready-for-approval` / `approve-pr` for a branch with no project item (an integration branch,
|
|
10
11
|
* for instance). Nothing here reads or writes the item's workflow context on idea1.ai; that stays
|
|
11
12
|
* with the workflow engine.
|
|
@@ -47,19 +48,34 @@ export declare function ensurePrReadyForApproval(input: ReadyForApprovalInput):
|
|
|
47
48
|
* say. The merge still waits for the required checks.
|
|
48
49
|
*/
|
|
49
50
|
export declare const mergeConfirmationOption: CommandOption;
|
|
50
|
-
export interface MergeAsApproverInput {
|
|
51
|
+
export interface MergeAsApproverInput<TApproval> {
|
|
51
52
|
branchName: string;
|
|
52
53
|
baseBranch: string;
|
|
53
54
|
prNumber: number;
|
|
54
55
|
/** The approver already said to merge (`--yes`), so the merge is not confirmed again. */
|
|
55
56
|
confirmed: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Has the platform merge the PR as the signed-in user's approval, once its checks have passed:
|
|
59
|
+
* the platform records the approval on the PR, then the Idea1 GitHub App merges it.
|
|
60
|
+
*/
|
|
61
|
+
approveOnPlatform: () => Promise<TApproval>;
|
|
56
62
|
}
|
|
57
63
|
/**
|
|
58
|
-
* The stage-1 approval: the assignee
|
|
59
|
-
* admin override here (change-management-policy.md, "The automated
|
|
60
|
-
* and the only way past is to fix the build. The caller
|
|
64
|
+
* The stage-1 approval: the assignee approves the PR once the required checks pass, and the
|
|
65
|
+
* platform merges it. There is no admin override here (change-management-policy.md, "The automated
|
|
66
|
+
* gate") - a red or unfinished suite stops it, and the only way past is to fix the build. The caller
|
|
67
|
+
* makes sure the signed-in user is the PR's assignee first (`requireSignedInAssignee`). Returns
|
|
68
|
+
* what the platform's approval returned.
|
|
69
|
+
*/
|
|
70
|
+
export declare function mergeAsApprover<TApproval>(input: MergeAsApproverInput<TApproval>): Promise<TApproval>;
|
|
71
|
+
/**
|
|
72
|
+
* The PR's assignee is its approver of record, and only an assignee approves it: the platform
|
|
73
|
+
* records the approval under the signed-in Idea1 user's linked GitHub account and refuses anyone
|
|
74
|
+
* else, so the CLI refuses first, before any wait for the checks. A PR with no assignee has no
|
|
75
|
+
* approver. A PR into the content release branch (`release.contentRelease`) is approved only by a
|
|
76
|
+
* member of the content release's team, which the platform also checks.
|
|
61
77
|
*/
|
|
62
|
-
export declare function
|
|
78
|
+
export declare function requireSignedInAssignee(branchName: string, baseBranch: string): Promise<void>;
|
|
63
79
|
export interface CleanUpMergedBranchInput {
|
|
64
80
|
branchName: string;
|
|
65
81
|
baseBranch: string;
|
|
@@ -85,9 +101,10 @@ export declare function resolveApproverForBranch(options: Record<string, string>
|
|
|
85
101
|
*/
|
|
86
102
|
export declare function readyForApprovalOnBranchWithNoItem(branchName: string, resolved: Record<string, string>): Promise<void>;
|
|
87
103
|
/**
|
|
88
|
-
* Stage 1 approval for a branch with no project item: the assignee
|
|
89
|
-
* the required checks pass (no override), then the branch is cleaned up. No
|
|
90
|
-
* recorded. The branch need not be checked out - the assignee can approve from
|
|
104
|
+
* Stage 1 approval for a branch with no project item: the assignee approves the branch's PR once
|
|
105
|
+
* the required checks pass (no override), the platform merges it, then the branch is cleaned up. No
|
|
106
|
+
* workflow status is recorded. The branch need not be checked out - the assignee can approve from
|
|
107
|
+
* anywhere in a clone of the repository.
|
|
91
108
|
*/
|
|
92
109
|
export declare function approvePrOnBranchWithNoItem(branchName: string, confirmed: boolean): Promise<void>;
|
|
93
110
|
//# sourceMappingURL=approval-flow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-flow.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/approval-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASlE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD
|
|
1
|
+
{"version":3,"file":"approval-flow.d.ts","sourceRoot":"","sources":["../../../src/workflow/engine/approval-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASlE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD;;;;;;;;;;GAUG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,aAM5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAKhE;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,iBAAiB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0B5F;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAKrC,CAAC;AAEF,MAAM,WAAW,oBAAoB,CAAC,SAAS;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CA6B3G;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBnG;AAWD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF;AAwED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7F;AAED;;;;GAIG;AACH,wBAAsB,kCAAkC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD5H;AAcD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DvG"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { logger } from '../../lib/logger.js';
|
|
2
2
|
import { promptConfirm, promptInput, promptSelect } from '../../lib/prompt.js';
|
|
3
|
-
import { readBranchSettings } from '../../lib/settings.js';
|
|
3
|
+
import { readBranchSettings, readReleaseSettings } from '../../lib/settings.js';
|
|
4
4
|
import * as git from '../../services/git.js';
|
|
5
5
|
import * as github from '../../services/github.js';
|
|
6
6
|
import * as platform from '../../services/platform.js';
|
|
7
7
|
import * as worktree from '../../services/worktree.js';
|
|
8
8
|
import { removeCurrentWorktree, resolveBaseBranch } from '../../services/worktree.js';
|
|
9
|
-
import { CHANGE_KIND,
|
|
9
|
+
import { CHANGE_KIND, createGatedPr, requireReleaseRole, signedInGitHubLogin, validateSourceBranch } from './release-engine.js';
|
|
10
10
|
/**
|
|
11
11
|
* Stage 1 of change management as it applies to a branch and its PR
|
|
12
12
|
* (change-management-policy.md, "Approval and release gates"): the PR gets its assignee - the approver of record -
|
|
13
|
-
* and the assignee approves
|
|
14
|
-
*
|
|
15
|
-
*
|
|
13
|
+
* and the assignee approves it once the required CI/CD checks pass, which merges it: the Idea1
|
|
14
|
+
* platform records the approval on the PR and merges it as the Idea1 GitHub App, so nobody merges
|
|
15
|
+
* into the base branch as themselves. The approver is a teammate, named by email: the team member a
|
|
16
|
+
* project item is assigned to, whose linked GitHub account is the PR's assignee. Used by the workflow handlers for a project item's branch and by
|
|
16
17
|
* `ready-for-approval` / `approve-pr` for a branch with no project item (an integration branch,
|
|
17
18
|
* for instance). Nothing here reads or writes the item's workflow context on idea1.ai; that stays
|
|
18
19
|
* with the workflow engine.
|
|
@@ -82,9 +83,11 @@ export const mergeConfirmationOption = {
|
|
|
82
83
|
isFlag: true
|
|
83
84
|
};
|
|
84
85
|
/**
|
|
85
|
-
* The stage-1 approval: the assignee
|
|
86
|
-
* admin override here (change-management-policy.md, "The automated
|
|
87
|
-
* and the only way past is to fix the build. The caller
|
|
86
|
+
* The stage-1 approval: the assignee approves the PR once the required checks pass, and the
|
|
87
|
+
* platform merges it. There is no admin override here (change-management-policy.md, "The automated
|
|
88
|
+
* gate") - a red or unfinished suite stops it, and the only way past is to fix the build. The caller
|
|
89
|
+
* makes sure the signed-in user is the PR's assignee first (`requireSignedInAssignee`). Returns
|
|
90
|
+
* what the platform's approval returned.
|
|
88
91
|
*/
|
|
89
92
|
export async function mergeAsApprover(input) {
|
|
90
93
|
const { branchName, baseBranch, prNumber } = input;
|
|
@@ -104,9 +107,31 @@ export async function mergeAsApprover(input) {
|
|
|
104
107
|
checks.summary);
|
|
105
108
|
}
|
|
106
109
|
await requireMergeable(branchName, baseBranch);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
return input.approveOnPlatform();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The PR's assignee is its approver of record, and only an assignee approves it: the platform
|
|
114
|
+
* records the approval under the signed-in Idea1 user's linked GitHub account and refuses anyone
|
|
115
|
+
* else, so the CLI refuses first, before any wait for the checks. A PR with no assignee has no
|
|
116
|
+
* approver. A PR into the content release branch (`release.contentRelease`) is approved only by a
|
|
117
|
+
* member of the content release's team, which the platform also checks.
|
|
118
|
+
*/
|
|
119
|
+
export async function requireSignedInAssignee(branchName, baseBranch) {
|
|
120
|
+
const assignees = await github.getPrAssignees(branchName);
|
|
121
|
+
if (assignees.length === 0) {
|
|
122
|
+
throw new Error('This PR has no assignee, so it has no approver of record. Assign one first - the assignee is who ' +
|
|
123
|
+
'approves the change (change-management-policy.md, "Approval and release gates"). For a work-item PR run ' +
|
|
124
|
+
'idea1 ready-for-approval --assignee <teammate email>; otherwise set the assignee on the PR in GitHub.');
|
|
125
|
+
}
|
|
126
|
+
const login = await signedInGitHubLogin();
|
|
127
|
+
const names = assignees.map(assignee => `@${assignee}`).join(', ');
|
|
128
|
+
if (!assignees.some(assignee => assignee.toLowerCase() === login.toLowerCase())) {
|
|
129
|
+
throw new Error(`This PR is assigned to ${names}, its approver(s) of record, not you (@${login}). Have the assignee approve it, or reassign it to yourself first.`);
|
|
130
|
+
}
|
|
131
|
+
logger.info(`Assigned to ${names} - you are the approver of record`);
|
|
132
|
+
const contentRelease = (await readReleaseSettings(await git.getRepoRoot())).contentRelease;
|
|
133
|
+
if (contentRelease !== null && baseBranch === contentRelease.branch) {
|
|
134
|
+
await requireReleaseRole(contentRelease.releaserTeam, 'release.contentRelease.releaserTeam', login, `approve changes into '${baseBranch}'`);
|
|
110
135
|
}
|
|
111
136
|
}
|
|
112
137
|
async function requireMergeable(branchName, baseBranch) {
|
|
@@ -259,9 +284,10 @@ async function promptPrTitle(branchName) {
|
|
|
259
284
|
return promptInput('Enter PR title:', { default: defaultTitle });
|
|
260
285
|
}
|
|
261
286
|
/**
|
|
262
|
-
* Stage 1 approval for a branch with no project item: the assignee
|
|
263
|
-
* the required checks pass (no override), then the branch is cleaned up. No
|
|
264
|
-
* recorded. The branch need not be checked out - the assignee can approve from
|
|
287
|
+
* Stage 1 approval for a branch with no project item: the assignee approves the branch's PR once
|
|
288
|
+
* the required checks pass (no override), the platform merges it, then the branch is cleaned up. No
|
|
289
|
+
* workflow status is recorded. The branch need not be checked out - the assignee can approve from
|
|
290
|
+
* anywhere in a clone of the repository.
|
|
265
291
|
*/
|
|
266
292
|
export async function approvePrOnBranchWithNoItem(branchName, confirmed) {
|
|
267
293
|
await github.ensureGitHubCli();
|
|
@@ -298,11 +324,20 @@ export async function approvePrOnBranchWithNoItem(branchName, confirmed) {
|
|
|
298
324
|
const list = openPrsInto.map(pr => ` #${pr.number} ${pr.headRefName} ${pr.title}`).join('\n');
|
|
299
325
|
throw new Error(`${openPrsInto.length} open PR(s) still target ${branchName}; approve or close them before approving this branch:\n${list}`);
|
|
300
326
|
}
|
|
301
|
-
await
|
|
302
|
-
|
|
327
|
+
await requireSignedInAssignee(branchName, baseBranch);
|
|
328
|
+
const repositoryFullName = await git.getRepositoryFullName();
|
|
329
|
+
await mergeAsApprover({
|
|
330
|
+
branchName,
|
|
331
|
+
baseBranch,
|
|
332
|
+
prNumber: prInfo.number,
|
|
333
|
+
confirmed,
|
|
334
|
+
approveOnPlatform: async () => {
|
|
335
|
+
await platform.approvePullRequest(repositoryFullName, branchName);
|
|
336
|
+
}
|
|
337
|
+
});
|
|
303
338
|
}
|
|
304
339
|
await cleanUpMergedBranch({ branchName, baseBranch, workingPath });
|
|
305
340
|
logger.newline();
|
|
306
|
-
logger.success(`PR merged into ${baseBranch}
|
|
341
|
+
logger.success(`PR merged into ${baseBranch}, with your approval recorded on it`);
|
|
307
342
|
}
|
|
308
343
|
//# sourceMappingURL=approval-flow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-flow.js","sourceRoot":"","sources":["../../../src/workflow/engine/approval-flow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"approval-flow.js","sourceRoot":"","sources":["../../../src/workflow/engine/approval-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export interface BranchCreationChoices {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Collect every branching decision up front (workflow type, branch name, stack branch,
|
|
34
|
-
* integration branch) so all user questions are asked before any slow git or
|
|
34
|
+
* integration branch) so all user questions are asked before any slow git or platform work starts.
|
|
35
35
|
* Decisions already given as options are not asked again.
|
|
36
36
|
*/
|
|
37
37
|
export declare function collectBranchCreationChoices(resolved: Record<string, string>): Promise<BranchCreationChoices>;
|
|
@@ -55,7 +55,7 @@ export const branchCreationOptions = [
|
|
|
55
55
|
];
|
|
56
56
|
/**
|
|
57
57
|
* Collect every branching decision up front (workflow type, branch name, stack branch,
|
|
58
|
-
* integration branch) so all user questions are asked before any slow git or
|
|
58
|
+
* integration branch) so all user questions are asked before any slow git or platform work starts.
|
|
59
59
|
* Decisions already given as options are not asked again.
|
|
60
60
|
*/
|
|
61
61
|
export async function collectBranchCreationChoices(resolved) {
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { type WorkflowStateHandler } from '../workflow-engine.js';
|
|
2
2
|
/**
|
|
3
|
-
* Entering "Approved and Merged":
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
3
|
+
* Entering "Approved and Merged": the PR's assignee approves it, which merges it
|
|
4
|
+
* (change-management-policy.md, "Approval and release gates", stage 1). The approval waits for the
|
|
5
|
+
* required CI/CD checks and there is no override at this stage: a red or unfinished suite stops it.
|
|
6
|
+
* A repository with no CI/CD configured has no suite to wait for, so its PR is approved straight
|
|
7
|
+
* away.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Once the checks pass the item is moved into this state on the platform, which records the
|
|
10
|
+
* signed-in user's approval on the PR, merges it as the Idea1 GitHub App and records the state, all
|
|
11
|
+
* in that one transition. The branch is merged as it stands, so the checks waited for are the checks
|
|
12
|
+
* of what merges. Afterwards the branch and any worktree are cleaned up. A context whose branch is
|
|
13
|
+
* already merged has all the pull request work done, so re-entering this state leaves it as it is.
|
|
13
14
|
*/
|
|
14
15
|
export declare const approvePrHandler: WorkflowStateHandler;
|
|
15
16
|
//# sourceMappingURL=approve-pr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve-pr.d.ts","sourceRoot":"","sources":["../../../../src/workflow/engine/handlers/approve-pr.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"approve-pr.d.ts","sourceRoot":"","sources":["../../../../src/workflow/engine/handlers/approve-pr.ts"],"names":[],"mappings":"AAOA,OAAO,EAA0E,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE1I;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,oBA8D9B,CAAC"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import { logger } from '../../../lib/logger.js';
|
|
2
2
|
import * as git from '../../../services/git.js';
|
|
3
3
|
import * as github from '../../../services/github.js';
|
|
4
|
+
import * as platform from '../../../services/platform.js';
|
|
4
5
|
import { WorkflowBranchState } from '../../data/workflow-context.js';
|
|
5
6
|
import { WorkflowStates } from '../../data/workflow-states.js';
|
|
6
|
-
import { cleanUpMergedBranch, mergeAsApprover, mergeConfirmationOption } from '../approval-flow.js';
|
|
7
|
-
import {
|
|
8
|
-
import { isWorkMerged, requireContext, requireLiveContext } from '../workflow-engine.js';
|
|
7
|
+
import { cleanUpMergedBranch, mergeAsApprover, mergeConfirmationOption, requireSignedInAssignee } from '../approval-flow.js';
|
|
8
|
+
import { RECORDED_BY_PLATFORM, isWorkMerged, requireContext, requireLiveContext } from '../workflow-engine.js';
|
|
9
9
|
/**
|
|
10
|
-
* Entering "Approved and Merged":
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
10
|
+
* Entering "Approved and Merged": the PR's assignee approves it, which merges it
|
|
11
|
+
* (change-management-policy.md, "Approval and release gates", stage 1). The approval waits for the
|
|
12
|
+
* required CI/CD checks and there is no override at this stage: a red or unfinished suite stops it.
|
|
13
|
+
* A repository with no CI/CD configured has no suite to wait for, so its PR is approved straight
|
|
14
|
+
* away.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
16
|
+
* Once the checks pass the item is moved into this state on the platform, which records the
|
|
17
|
+
* signed-in user's approval on the PR, merges it as the Idea1 GitHub App and records the state, all
|
|
18
|
+
* in that one transition. The branch is merged as it stands, so the checks waited for are the checks
|
|
19
|
+
* of what merges. Afterwards the branch and any worktree are cleaned up. A context whose branch is
|
|
20
|
+
* already merged has all the pull request work done, so re-entering this state leaves it as it is.
|
|
20
21
|
*/
|
|
21
22
|
export const approvePrHandler = {
|
|
22
23
|
state: WorkflowStates.ApprovedAndMerged,
|
|
@@ -43,14 +44,20 @@ export const approvePrHandler = {
|
|
|
43
44
|
context.branchState = WorkflowBranchState.Merged;
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
|
-
await
|
|
47
|
-
|
|
47
|
+
await requireSignedInAssignee(context.branchName, context.baseBranch);
|
|
48
|
+
const expectedStatus = transition.currentState ?? '';
|
|
49
|
+
const recorded = await mergeAsApprover({
|
|
48
50
|
branchName: context.branchName,
|
|
49
51
|
baseBranch: context.baseBranch,
|
|
50
52
|
prNumber: prInfo.number,
|
|
51
|
-
confirmed: transition.options[mergeConfirmationOption.longName] === 'true'
|
|
53
|
+
confirmed: transition.options[mergeConfirmationOption.longName] === 'true',
|
|
54
|
+
approveOnPlatform: async () => (await platform.transitionWorkflow(transition.projectItemUrl, expectedStatus, WorkflowStates.ApprovedAndMerged)).workflowContext
|
|
52
55
|
});
|
|
53
|
-
|
|
56
|
+
if (recorded.branchState !== WorkflowBranchState.Merged) {
|
|
57
|
+
throw new Error(`idea1.ai moved ${transition.projectItemUrl} to "${recorded.workflowStatus}" without merging PR #${prInfo.number}.`);
|
|
58
|
+
}
|
|
59
|
+
Object.assign(context, recorded);
|
|
60
|
+
return RECORDED_BY_PLATFORM;
|
|
54
61
|
},
|
|
55
62
|
async complete(transition) {
|
|
56
63
|
const context = requireContext(transition);
|
|
@@ -62,7 +69,7 @@ export const approvePrHandler = {
|
|
|
62
69
|
logger.newline();
|
|
63
70
|
logger.success('Workflow complete!');
|
|
64
71
|
logger.newline();
|
|
65
|
-
logger.hint(`PR merged into ${context.baseBranch}
|
|
72
|
+
logger.hint(`PR merged into ${context.baseBranch}, with your approval recorded on it`);
|
|
66
73
|
logger.hint(`Project item: ${transition.projectItemUrl}`);
|
|
67
74
|
}
|
|
68
75
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve-pr.js","sourceRoot":"","sources":["../../../../src/workflow/engine/handlers/approve-pr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"approve-pr.js","sourceRoot":"","sources":["../../../../src/workflow/engine/handlers/approve-pr.ts"],"names":[],"mappings":"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"}
|