@on-par/factory-core 0.9.28-next.9 → 0.9.29-next.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/dist/checkers/app-smoke.d.ts.map +1 -1
- package/dist/checkers/app-smoke.js +4 -1
- package/dist/checkers/app-smoke.js.map +1 -1
- package/dist/checkers/evidence-plan.d.ts +2 -0
- package/dist/checkers/evidence-plan.d.ts.map +1 -1
- package/dist/checkers/evidence-plan.js +13 -6
- package/dist/checkers/evidence-plan.js.map +1 -1
- package/dist/checkers/evidence-selector.d.ts +2 -0
- package/dist/checkers/evidence-selector.d.ts.map +1 -1
- package/dist/checkers/evidence-selector.js +13 -10
- package/dist/checkers/evidence-selector.js.map +1 -1
- package/dist/checkers/evidence-workspace.d.ts +21 -0
- package/dist/checkers/evidence-workspace.d.ts.map +1 -0
- package/dist/checkers/evidence-workspace.js +118 -0
- package/dist/checkers/evidence-workspace.js.map +1 -0
- package/dist/checkers/index.js +1 -1
- package/dist/checkers/index.js.map +1 -1
- package/dist/checkers/internal-exports.d.ts +3 -1
- package/dist/checkers/internal-exports.d.ts.map +1 -1
- package/dist/checkers/internal-exports.js +3 -1
- package/dist/checkers/internal-exports.js.map +1 -1
- package/dist/checkers/resolve-commands.d.ts.map +1 -1
- package/dist/checkers/resolve-commands.js +5 -1
- package/dist/checkers/resolve-commands.js.map +1 -1
- package/dist/config/example.d.ts.map +1 -1
- package/dist/config/example.js +14 -2
- package/dist/config/example.js.map +1 -1
- package/dist/config/index.d.ts +14 -33
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +26 -35
- package/dist/config/index.js.map +1 -1
- package/dist/config/merge-policy.d.ts +36 -0
- package/dist/config/merge-policy.d.ts.map +1 -0
- package/dist/config/merge-policy.js +31 -0
- package/dist/config/merge-policy.js.map +1 -0
- package/dist/config/repo.js +1 -1
- package/dist/config/repo.js.map +1 -1
- package/dist/config/run-config-env.d.ts +5 -0
- package/dist/config/run-config-env.d.ts.map +1 -0
- package/dist/config/run-config-env.js +11 -0
- package/dist/config/run-config-env.js.map +1 -0
- package/dist/config/run-config-ladder.d.ts +18 -0
- package/dist/config/run-config-ladder.d.ts.map +1 -0
- package/dist/config/run-config-ladder.js +110 -0
- package/dist/config/run-config-ladder.js.map +1 -0
- package/dist/config/run-config-source.d.ts +6 -6
- package/dist/config/run-config-source.d.ts.map +1 -1
- package/dist/config/run-config-source.js +16 -15
- package/dist/config/run-config-source.js.map +1 -1
- package/dist/config/runtime-config-keys.d.ts.map +1 -1
- package/dist/config/runtime-config-keys.js +1 -0
- package/dist/config/runtime-config-keys.js.map +1 -1
- package/dist/constitutions/index.d.ts.map +1 -1
- package/dist/constitutions/index.js +8 -0
- package/dist/constitutions/index.js.map +1 -1
- package/dist/environment/process-groups.d.ts +5 -0
- package/dist/environment/process-groups.d.ts.map +1 -1
- package/dist/environment/process-groups.js +19 -0
- package/dist/environment/process-groups.js.map +1 -1
- package/dist/events/config-traits.d.ts +1 -1
- package/dist/events/config-traits.d.ts.map +1 -1
- package/dist/events/config-traits.js +2 -0
- package/dist/events/config-traits.js.map +1 -1
- package/dist/events/queue-traits.d.ts +1 -1
- package/dist/events/queue-traits.d.ts.map +1 -1
- package/dist/events/queue-traits.js +8 -1
- package/dist/events/queue-traits.js.map +1 -1
- package/dist/events/rotation.js +1 -1
- package/dist/events/rotation.js.map +1 -1
- package/dist/fakes/octokit.d.ts +13 -1
- package/dist/fakes/octokit.d.ts.map +1 -1
- package/dist/fakes/octokit.js +13 -0
- package/dist/fakes/octokit.js.map +1 -1
- package/dist/filing/redact.d.ts +1 -0
- package/dist/filing/redact.d.ts.map +1 -1
- package/dist/filing/redact.js +1 -1
- package/dist/filing/redact.js.map +1 -1
- package/dist/harness/opencode-version.d.ts +2 -2
- package/dist/harness/opencode-version.d.ts.map +1 -1
- package/dist/harness/opencode-version.js +3 -3
- package/dist/harness/opencode-version.js.map +1 -1
- package/dist/internal.d.ts +13 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +14 -0
- package/dist/internal.js.map +1 -1
- package/dist/kpis/index.d.ts.map +1 -1
- package/dist/kpis/index.js +2 -1
- package/dist/kpis/index.js.map +1 -1
- package/dist/kpis/park.d.ts.map +1 -1
- package/dist/kpis/park.js +2 -1
- package/dist/kpis/park.js.map +1 -1
- package/dist/kpis/phase.d.ts.map +1 -1
- package/dist/kpis/phase.js +1 -0
- package/dist/kpis/phase.js.map +1 -1
- package/dist/land/changelog.d.ts +8 -0
- package/dist/land/changelog.d.ts.map +1 -0
- package/dist/land/changelog.js +90 -0
- package/dist/land/changelog.js.map +1 -0
- package/dist/land/sync.d.ts.map +1 -1
- package/dist/land/sync.js +93 -32
- package/dist/land/sync.js.map +1 -1
- package/dist/phases/check-evidence.d.ts.map +1 -1
- package/dist/phases/check-evidence.js +5 -1
- package/dist/phases/check-evidence.js.map +1 -1
- package/dist/phases/ship-approval.d.ts +17 -0
- package/dist/phases/ship-approval.d.ts.map +1 -0
- package/dist/phases/ship-approval.js +21 -0
- package/dist/phases/ship-approval.js.map +1 -0
- package/dist/phases/ship-branch-push.d.ts +17 -0
- package/dist/phases/ship-branch-push.d.ts.map +1 -0
- package/dist/phases/ship-branch-push.js +77 -0
- package/dist/phases/ship-branch-push.js.map +1 -0
- package/dist/phases/ship-evidence-comment.d.ts +14 -0
- package/dist/phases/ship-evidence-comment.d.ts.map +1 -0
- package/dist/phases/ship-evidence-comment.js +31 -0
- package/dist/phases/ship-evidence-comment.js.map +1 -0
- package/dist/phases/ship-existing-pr.d.ts +11 -0
- package/dist/phases/ship-existing-pr.d.ts.map +1 -0
- package/dist/phases/ship-existing-pr.js +36 -0
- package/dist/phases/ship-existing-pr.js.map +1 -0
- package/dist/phases/ship-finish.d.ts +15 -0
- package/dist/phases/ship-finish.d.ts.map +1 -0
- package/dist/phases/ship-finish.js +70 -0
- package/dist/phases/ship-finish.js.map +1 -0
- package/dist/phases/ship-git-detail.d.ts +31 -0
- package/dist/phases/ship-git-detail.d.ts.map +1 -0
- package/dist/phases/ship-git-detail.js +71 -0
- package/dist/phases/ship-git-detail.js.map +1 -0
- package/dist/phases/ship-git-remote.d.ts +51 -0
- package/dist/phases/ship-git-remote.d.ts.map +1 -0
- package/dist/phases/ship-git-remote.js +70 -0
- package/dist/phases/ship-git-remote.js.map +1 -0
- package/dist/phases/ship-git.d.ts +4 -79
- package/dist/phases/ship-git.d.ts.map +1 -1
- package/dist/phases/ship-git.js +2 -135
- package/dist/phases/ship-git.js.map +1 -1
- package/dist/phases/ship-main-sync.d.ts +18 -0
- package/dist/phases/ship-main-sync.d.ts.map +1 -0
- package/dist/phases/ship-main-sync.js +34 -0
- package/dist/phases/ship-main-sync.js.map +1 -0
- package/dist/phases/ship-open-pr.d.ts +24 -0
- package/dist/phases/ship-open-pr.d.ts.map +1 -0
- package/dist/phases/ship-open-pr.js +75 -0
- package/dist/phases/ship-open-pr.js.map +1 -0
- package/dist/phases/ship-options.d.ts +81 -0
- package/dist/phases/ship-options.d.ts.map +1 -0
- package/dist/phases/ship-options.js +4 -0
- package/dist/phases/ship-options.js.map +1 -0
- package/dist/phases/ship-reentry.d.ts +20 -0
- package/dist/phases/ship-reentry.d.ts.map +1 -0
- package/dist/phases/ship-reentry.js +47 -0
- package/dist/phases/ship-reentry.js.map +1 -0
- package/dist/phases/ship-types.d.ts +4 -0
- package/dist/phases/ship-types.d.ts.map +1 -1
- package/dist/phases/ship.d.ts +4 -76
- package/dist/phases/ship.d.ts.map +1 -1
- package/dist/phases/ship.js +40 -297
- package/dist/phases/ship.js.map +1 -1
- package/dist/phases/stack-order.d.ts +9 -0
- package/dist/phases/stack-order.d.ts.map +1 -1
- package/dist/phases/stack-order.js +13 -0
- package/dist/phases/stack-order.js.map +1 -1
- package/dist/queue/comment-rework-trigger.d.ts +24 -0
- package/dist/queue/comment-rework-trigger.d.ts.map +1 -0
- package/dist/queue/comment-rework-trigger.js +128 -0
- package/dist/queue/comment-rework-trigger.js.map +1 -0
- package/dist/queue/github-queue.d.ts +4 -2
- package/dist/queue/github-queue.d.ts.map +1 -1
- package/dist/queue/github-queue.js.map +1 -1
- package/dist/queue/internal-exports.d.ts +4 -1
- package/dist/queue/internal-exports.d.ts.map +1 -1
- package/dist/queue/internal-exports.js +3 -1
- package/dist/queue/internal-exports.js.map +1 -1
- package/dist/queue/iterate-command.d.ts +18 -0
- package/dist/queue/iterate-command.d.ts.map +1 -1
- package/dist/queue/iterate-command.js +38 -0
- package/dist/queue/iterate-command.js.map +1 -1
- package/dist/queue/lane-discovery-interval.d.ts +6 -0
- package/dist/queue/lane-discovery-interval.d.ts.map +1 -0
- package/dist/queue/lane-discovery-interval.js +9 -0
- package/dist/queue/lane-discovery-interval.js.map +1 -0
- package/dist/queue/linear-queue-backend.d.ts +17 -0
- package/dist/queue/linear-queue-backend.d.ts.map +1 -0
- package/dist/queue/linear-queue-backend.js +42 -0
- package/dist/queue/linear-queue-backend.js.map +1 -0
- package/dist/queue/linear-queue.d.ts +4 -2
- package/dist/queue/linear-queue.d.ts.map +1 -1
- package/dist/queue/linear-queue.js +79 -2
- package/dist/queue/linear-queue.js.map +1 -1
- package/dist/queue/prerequisite-stack.d.ts +47 -0
- package/dist/queue/prerequisite-stack.d.ts.map +1 -0
- package/dist/queue/prerequisite-stack.js +41 -0
- package/dist/queue/prerequisite-stack.js.map +1 -0
- package/dist/queue/queue-backend.d.ts +11 -5
- package/dist/queue/queue-backend.d.ts.map +1 -1
- package/dist/queue/queue-backend.js +8 -3
- package/dist/queue/queue-backend.js.map +1 -1
- package/dist/queue/review-rework-trigger.d.ts +7 -2
- package/dist/queue/review-rework-trigger.d.ts.map +1 -1
- package/dist/queue/review-rework-trigger.js +16 -8
- package/dist/queue/review-rework-trigger.js.map +1 -1
- package/dist/reports/pr-body.d.ts +5 -2
- package/dist/reports/pr-body.d.ts.map +1 -1
- package/dist/reports/pr-body.js +21 -10
- package/dist/reports/pr-body.js.map +1 -1
- package/dist/router/breaker.d.ts +1 -1
- package/dist/router/breaker.d.ts.map +1 -1
- package/dist/router/breaker.js +3 -2
- package/dist/router/breaker.js.map +1 -1
- package/dist/run/ci-rework-loop.d.ts.map +1 -1
- package/dist/run/ci-rework-loop.js +5 -1
- package/dist/run/ci-rework-loop.js.map +1 -1
- package/dist/run/feedback-github.d.ts +50 -0
- package/dist/run/feedback-github.d.ts.map +1 -0
- package/dist/run/feedback-github.js +87 -0
- package/dist/run/feedback-github.js.map +1 -0
- package/dist/run/feedback-round-hooks.d.ts +19 -0
- package/dist/run/feedback-round-hooks.d.ts.map +1 -0
- package/dist/run/feedback-round-hooks.js +106 -0
- package/dist/run/feedback-round-hooks.js.map +1 -0
- package/dist/run/feedback-round.d.ts +97 -0
- package/dist/run/feedback-round.d.ts.map +1 -0
- package/dist/run/feedback-round.js +275 -0
- package/dist/run/feedback-round.js.map +1 -0
- package/dist/run/linear-run.d.ts +23 -0
- package/dist/run/linear-run.d.ts.map +1 -0
- package/dist/run/linear-run.js +18 -0
- package/dist/run/linear-run.js.map +1 -0
- package/dist/run/outcome.d.ts +9 -0
- package/dist/run/outcome.d.ts.map +1 -1
- package/dist/run/outcome.js +8 -0
- package/dist/run/outcome.js.map +1 -1
- package/dist/run/park-comment.d.ts +9 -0
- package/dist/run/park-comment.d.ts.map +1 -1
- package/dist/run/park-comment.js +12 -0
- package/dist/run/park-comment.js.map +1 -1
- package/dist/run/ports.d.ts +10 -0
- package/dist/run/ports.d.ts.map +1 -1
- package/dist/run/ports.js +12 -0
- package/dist/run/ports.js.map +1 -1
- package/dist/run/pr-run-state.d.ts +102 -0
- package/dist/run/pr-run-state.d.ts.map +1 -0
- package/dist/run/pr-run-state.js +240 -0
- package/dist/run/pr-run-state.js.map +1 -0
- package/dist/run/prerequisite-restack.d.ts +39 -0
- package/dist/run/prerequisite-restack.d.ts.map +1 -0
- package/dist/run/prerequisite-restack.js +79 -0
- package/dist/run/prerequisite-restack.js.map +1 -0
- package/dist/run/review-rework-cap.d.ts +3 -1
- package/dist/run/review-rework-cap.d.ts.map +1 -1
- package/dist/run/review-rework-cap.js +2 -1
- package/dist/run/review-rework-cap.js.map +1 -1
- package/dist/run/review-rework.d.ts +17 -2
- package/dist/run/review-rework.d.ts.map +1 -1
- package/dist/run/review-rework.js +99 -33
- package/dist/run/review-rework.js.map +1 -1
- package/dist/run/run-issue.d.ts +5 -1
- package/dist/run/run-issue.d.ts.map +1 -1
- package/dist/run/run-issue.js +37 -31
- package/dist/run/run-issue.js.map +1 -1
- package/dist/run/run-state-record.d.ts.map +1 -1
- package/dist/run/run-state-record.js +1 -0
- package/dist/run/run-state-record.js.map +1 -1
- package/dist/run/stack-rebase.d.ts +28 -0
- package/dist/run/stack-rebase.d.ts.map +1 -0
- package/dist/run/stack-rebase.js +79 -0
- package/dist/run/stack-rebase.js.map +1 -0
- package/dist/run/stack-restack.d.ts.map +1 -1
- package/dist/run/stack-restack.js +21 -49
- package/dist/run/stack-restack.js.map +1 -1
- package/dist/run/state.d.ts +2 -0
- package/dist/run/state.d.ts.map +1 -1
- package/dist/run/state.js.map +1 -1
- package/dist/utils/command-runner.d.ts.map +1 -1
- package/dist/utils/command-runner.js +4 -1
- package/dist/utils/command-runner.js.map +1 -1
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +4 -1
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/in-place.d.ts +24 -0
- package/dist/utils/in-place.d.ts.map +1 -0
- package/dist/utils/in-place.js +105 -0
- package/dist/utils/in-place.js.map +1 -0
- package/dist/work/internal-exports.d.ts +3 -0
- package/dist/work/internal-exports.d.ts.map +1 -0
- package/dist/work/internal-exports.js +4 -0
- package/dist/work/internal-exports.js.map +1 -0
- package/dist/work/ticket-writeback.d.ts +22 -0
- package/dist/work/ticket-writeback.d.ts.map +1 -0
- package/dist/work/ticket-writeback.js +73 -0
- package/dist/work/ticket-writeback.js.map +1 -0
- package/dist/work/work-key.d.ts +2 -0
- package/dist/work/work-key.d.ts.map +1 -1
- package/dist/work/work-key.js +4 -0
- package/dist/work/work-key.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship-types.d.ts","sourceRoot":"","sources":["../../src/phases/ship-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;2EACuE;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED;;iBAEiB;AACjB,MAAM,MAAM,QAAQ,GAClB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"ship-types.d.ts","sourceRoot":"","sources":["../../src/phases/ship-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,mIAAmI;AACnI,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,WAAW,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;2EACuE;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sGAAsG;IACtG,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED;;iBAEiB;AACjB,MAAM,MAAM,QAAQ,GAClB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
package/dist/phases/ship.d.ts
CHANGED
|
@@ -1,79 +1,7 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import
|
|
3
|
-
import type { ApprovalGate } from '../approvals/index.js';
|
|
4
|
-
import { type LifecycleBus } from '../bus/index.js';
|
|
5
|
-
import type { EventKind } from '../events/kinds.js';
|
|
6
|
-
import { type WalkthroughShipOpts } from './ship-walkthrough.js';
|
|
7
|
-
import { type StackPosition } from './stack-order.js';
|
|
8
|
-
import type { ReviewRouting } from '../review/routing.js';
|
|
9
|
-
import { type CommandRunner } from './ship-git.js';
|
|
10
|
-
import { type PreviewGate } from './ship-preview.js';
|
|
11
|
-
import type { CheckSummary } from '../types/index.js';
|
|
12
|
-
import { type watchChecksWithInfraRerun } from '../utils/ci-watch.js';
|
|
13
|
-
import type { WorkRequest } from '../work/index.js';
|
|
14
|
-
import { findMergedPR, findOpenPR, isPullAlreadyExistsError } from './ship-pr-lookup.js';
|
|
1
|
+
import { type ShipPhaseOptions } from './ship-options.js';
|
|
2
|
+
import { findMergedPR, findOpenPR } from './ship-pr-lookup.js';
|
|
15
3
|
import type { PrLookup, ShipResult } from './ship-types.js';
|
|
16
|
-
export { findMergedPR, findOpenPR
|
|
4
|
+
export { findMergedPR, findOpenPR };
|
|
17
5
|
export type { PrLookup, ShipResult };
|
|
18
|
-
export declare function shipPhase(opts:
|
|
19
|
-
declare function shipPhaseImpl(opts: {
|
|
20
|
-
issue: WorkKey;
|
|
21
|
-
repo: string;
|
|
22
|
-
worktree: string;
|
|
23
|
-
branch: string;
|
|
24
|
-
octokit: Octokit;
|
|
25
|
-
watchCI?: boolean;
|
|
26
|
-
/** Resolved pr.footer; undefined uses the default, empty string omits it. */
|
|
27
|
-
footer?: string;
|
|
28
|
-
/** Stop at the draft PR: skip mark-ready (#3449). */
|
|
29
|
-
draft?: boolean;
|
|
30
|
-
/** Post the evidence pack as a PR comment (pr.evidenceComment); default off. */
|
|
31
|
-
evidenceComment?: boolean;
|
|
32
|
-
log: (type: EventKind, msg: string) => void;
|
|
33
|
-
run?: CommandRunner;
|
|
34
|
-
/** Runs the gh rerun argv for the CI infra rescue (#2365); default runCommand. */
|
|
35
|
-
rerun?: (argv: readonly string[]) => Promise<{
|
|
36
|
-
ok: boolean;
|
|
37
|
-
}>;
|
|
38
|
-
approvalGate?: ApprovalGate;
|
|
39
|
-
checkSummary?: CheckSummary;
|
|
40
|
-
specPath?: string;
|
|
41
|
-
eventsFile?: string;
|
|
42
|
-
startedAt?: string;
|
|
43
|
-
logsDir?: string;
|
|
44
|
-
reworkRounds?: number;
|
|
45
|
-
/** PR classifier decision (#1724), rendered into the evidence pack. */
|
|
46
|
-
reviewRouting?: ReviewRouting;
|
|
47
|
-
/** Model pins that were not honored (#2511), rendered into the evidence pack. */
|
|
48
|
-
pinNotes?: string[];
|
|
49
|
-
/** The run's resolved work request; when its kind is not 'github-issue', the PR
|
|
50
|
-
* title/body come from it instead of fetching the (nonexistent) issue (#507). */
|
|
51
|
-
work?: Pick<WorkRequest, 'id' | 'kind' | 'title' | 'reference'>;
|
|
52
|
-
/** The ADR-0147 slice this run ships; titles the PR `slice k/n` and only the final slice closes the issue. */
|
|
53
|
-
slice?: {
|
|
54
|
-
index: number;
|
|
55
|
-
count: number;
|
|
56
|
-
};
|
|
57
|
-
/** Stack-mode (ADR-0161) position: the PR opens on `stack.base` and its body names the stack order. Ignored for inline work. */
|
|
58
|
-
stack?: StackPosition;
|
|
59
|
-
/** PR base for a non-stack run started from another branch (#3764); default main. */
|
|
60
|
-
baseBranch?: string;
|
|
61
|
-
/** Lane id stamped onto emitted lifecycle events; defaults to `issue-<issue>` (#591). */
|
|
62
|
-
laneId?: string;
|
|
63
|
-
/** Lifecycle bus to emit onto; defaults to the process-wide `lifecycleBus` (#591). */
|
|
64
|
-
bus?: LifecycleBus;
|
|
65
|
-
/** origin/<branch> SHA recorded at worktree creation (#1868). When set, the new-PR push
|
|
66
|
-
* replaces that stale head under a lease on this SHA, and fails closed if the remote moved (#1869). */
|
|
67
|
-
recordedRemoteSha?: string;
|
|
68
|
-
/** SHIP re-entry after a CI rework round (#2816): same open PR, plain push, watch the pushed SHA. */
|
|
69
|
-
reentry?: {
|
|
70
|
-
prNumber: number;
|
|
71
|
-
previousHeadSha?: string;
|
|
72
|
-
};
|
|
73
|
-
/** CI watch deadline (#3569); default DEFAULT_CI_DEADLINE_MS. */
|
|
74
|
-
ciDeadlineMs?: number;
|
|
75
|
-
walkthrough?: WalkthroughShipOpts['walkthrough'];
|
|
76
|
-
previewGate?: PreviewGate;
|
|
77
|
-
ciWatch?: typeof watchChecksWithInfraRerun;
|
|
78
|
-
}): Promise<ShipResult>;
|
|
6
|
+
export declare function shipPhase(opts: ShipPhaseOptions): Promise<ShipResult>;
|
|
79
7
|
//# sourceMappingURL=ship.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI5D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACpC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAIrC,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiB3E"}
|
package/dist/phases/ship.js
CHANGED
|
@@ -1,26 +1,22 @@
|
|
|
1
1
|
// src/phases/ship.ts — SHIP phase: create/verify PR, mark ready for review
|
|
2
|
-
import { issueNumberOf } from '../work/work-key.js';
|
|
3
2
|
import { exec as execCb } from 'node:child_process';
|
|
4
3
|
import { promisify } from 'node:util';
|
|
5
4
|
import { withLifecycle } from '../bus/index.js';
|
|
6
|
-
import { gatherEvidencePack } from '../reports/evidence-pack.js';
|
|
7
|
-
import { briefSummaryLine, renderPrBody, stripBriefIds } from '../reports/pr-body.js';
|
|
8
|
-
import { computeDiffStat } from './ship-diff-stat.js';
|
|
9
|
-
import { lazyWalkthrough } from './ship-walkthrough.js';
|
|
10
|
-
import { renderStackOrderLine } from './stack-order.js';
|
|
11
|
-
import { checkRemoteIsAncestor, describePushFailure, pushAndVerifyRemoteHead, readRemoteBranchSha, shortDetail, verifyRemoteHead, } from './ship-git.js';
|
|
12
|
-
import { publishPreviewReceipt } from '../checkers/preview-receipt.js';
|
|
13
|
-
import { previewFailureReason, runPreviewGate } from './ship-preview.js';
|
|
14
|
-
import { recoverOrStop } from './ship-recovery.js';
|
|
15
|
-
import { watchShipCi } from './ship-ci-watch.js';
|
|
16
|
-
import { markPrReadyWithRetry } from './ship-ready.js';
|
|
17
|
-
import { readRisk, readSpecBody } from './ship-spec.js';
|
|
18
|
-
import { shellEscape } from '../utils/index.js';
|
|
19
5
|
import { GITHUB_ISSUE_SOURCE } from '../work/github-issue.js';
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
6
|
+
import { ticketKeyOf } from '../work/ticket-writeback.js';
|
|
7
|
+
import { requestShipApproval } from './ship-approval.js';
|
|
8
|
+
import { pushNewBranch } from './ship-branch-push.js';
|
|
9
|
+
import { watchShipCi } from './ship-ci-watch.js';
|
|
10
|
+
import { syncExistingPr } from './ship-existing-pr.js';
|
|
11
|
+
import { postEvidenceComment } from './ship-evidence-comment.js';
|
|
12
|
+
import { finishShip } from './ship-finish.js';
|
|
13
|
+
import { openOrFindPr } from './ship-open-pr.js';
|
|
14
|
+
import { SHIP_BASE_BRANCH } from './ship-options.js';
|
|
15
|
+
import { findMergedPR, findOpenPR } from './ship-pr-lookup.js';
|
|
16
|
+
import { pushReentry } from './ship-reentry.js';
|
|
17
|
+
import { lazyWalkthrough } from './ship-walkthrough.js';
|
|
18
|
+
import { syncShipBranchWithMain } from './ship-main-sync.js';
|
|
19
|
+
export { findMergedPR, findOpenPR };
|
|
24
20
|
const exec = promisify(execCb);
|
|
25
21
|
export async function shipPhase(opts) {
|
|
26
22
|
return withLifecycle({
|
|
@@ -37,24 +33,16 @@ export async function shipPhase(opts) {
|
|
|
37
33
|
async function shipPhaseImpl(opts) {
|
|
38
34
|
const { issue, repo, worktree, branch, octokit, watchCI = true, log, run = exec, rerun, approvalGate, checkSummary, } = opts;
|
|
39
35
|
const [owner, repoName] = repo.split('/');
|
|
40
|
-
const
|
|
36
|
+
const ticketKey = ticketKeyOf(opts.work);
|
|
37
|
+
const ticket = ticketKey !== undefined && opts.work ? { key: ticketKey, title: opts.work.title } : undefined;
|
|
38
|
+
const inlineWork = opts.work && opts.work.kind !== GITHUB_ISSUE_SOURCE && !ticket ? opts.work : undefined;
|
|
41
39
|
const stack = inlineWork ? undefined : opts.stack;
|
|
42
40
|
const base = stack?.base ?? opts.baseBranch ?? SHIP_BASE_BRANCH;
|
|
43
41
|
const walkthrough = lazyWalkthrough(run, worktree, { ...opts, base }, log);
|
|
44
42
|
if (approvalGate) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
log('ship', `Starting ship phase for ${branch}`);
|
|
49
|
-
const diffStat = await computeDiffStat(run, worktree, base);
|
|
50
|
-
log('approval_requested', `awaiting approval to ship ${branch}${checkSummary ? ` (checks: ${checkSummary.passes} pass, ${checkSummary.failures} fail, ${checkSummary.skips} skip)` : ''}`);
|
|
51
|
-
const response = await approvalGate({ issue: issueNumberOf(issue), branch, worktree, diffStat, checkSummary });
|
|
52
|
-
if (!response.approved) {
|
|
53
|
-
const reason = response.reason ?? 'denied';
|
|
54
|
-
log('ship_denied', `ship denied for ${branch}: ${reason}`);
|
|
55
|
-
return { ok: false, denied: true, deniedReason: reason };
|
|
56
|
-
}
|
|
57
|
-
log('approval_granted', `approval granted for ${branch}`);
|
|
43
|
+
const denied = await requestShipApproval({ approvalGate, issue, branch, worktree, base, run, checkSummary, log });
|
|
44
|
+
if (denied)
|
|
45
|
+
return denied;
|
|
58
46
|
}
|
|
59
47
|
// Check if a PR already exists (claude route may have created one)
|
|
60
48
|
const openLookup = await findOpenPR(octokit, owner, repoName, branch);
|
|
@@ -67,203 +55,39 @@ async function shipPhaseImpl(opts) {
|
|
|
67
55
|
const reentry = opts.reentry;
|
|
68
56
|
let watchRef = branch;
|
|
69
57
|
let headSha;
|
|
58
|
+
// #3945: open the PR mergeable with main (CHANGELOG/ADR index auto-resolved), or GitHub runs no CI on it.
|
|
59
|
+
const synced = opts.syncMain && !reentry && base === SHIP_BASE_BRANCH
|
|
60
|
+
? await syncShipBranchWithMain({ run, worktree, branch, log })
|
|
61
|
+
: undefined;
|
|
70
62
|
if (reentry) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
let localSha;
|
|
77
|
-
try {
|
|
78
|
-
localSha = (await run('git rev-parse HEAD', { cwd: worktree })).stdout.trim();
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
const reason = `could not read local HEAD on re-entry (${shortDetail(err)})`;
|
|
82
|
-
log('ship', reason);
|
|
83
|
-
return { ok: false, prNumber, reason };
|
|
84
|
-
}
|
|
85
|
-
if (localSha && localSha === reentry.previousHeadSha) {
|
|
86
|
-
const reason = `CI rework produced no new commit on ${branch}`;
|
|
87
|
-
log('ship', reason);
|
|
88
|
-
return { ok: false, prNumber, ciOutcome: 'failure', reason, headSha: localSha };
|
|
89
|
-
}
|
|
90
|
-
try {
|
|
91
|
-
await run(`git push origin ${shellEscape(branch)}`, { cwd: worktree });
|
|
92
|
-
}
|
|
93
|
-
catch (err) {
|
|
94
|
-
const { kind, detail } = describePushFailure(err);
|
|
95
|
-
const reason = `re-entry push of ${branch} failed (${kind}): ${detail}`;
|
|
96
|
-
log('ship', reason);
|
|
97
|
-
return { ok: false, prNumber, reason };
|
|
98
|
-
}
|
|
99
|
-
const remoteHead = await verifyRemoteHead(run, worktree, branch);
|
|
100
|
-
if (remoteHead.status !== 'match') {
|
|
101
|
-
const reason = remoteHead.status === 'mismatch'
|
|
102
|
-
? `remote head ${remoteHead.remoteSha} does not match local HEAD ${remoteHead.localSha} for ${branch} after re-entry push`
|
|
103
|
-
: `could not verify the remote head for ${branch} after re-entry push (${remoteHead.detail})`;
|
|
104
|
-
log('ship', reason);
|
|
105
|
-
return { ok: false, prNumber, reason };
|
|
106
|
-
}
|
|
107
|
-
watchRef = remoteHead.remoteSha;
|
|
108
|
-
headSha = remoteHead.remoteSha;
|
|
109
|
-
log('ship', `re-entry pushed ${branch} @ ${headSha}`);
|
|
63
|
+
const pushed = await pushReentry({ run, worktree, branch, prNumber, reentry, log });
|
|
64
|
+
if ('stop' in pushed)
|
|
65
|
+
return pushed.stop;
|
|
66
|
+
({ watchRef, headSha } = pushed);
|
|
110
67
|
}
|
|
111
68
|
else if (prNumber) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
log('ship', `remote head ${current.remoteSha} matches local HEAD ${current.localSha} for ${branch} — already in sync, not pushing`);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
if (current.status === 'mismatch') {
|
|
119
|
-
const ancestry = await checkRemoteIsAncestor(run, worktree, current.remoteSha, current.localSha);
|
|
120
|
-
if (ancestry.status !== 'ancestor') {
|
|
121
|
-
const reason = ancestry.status === 'diverged'
|
|
122
|
-
? `origin/${branch} @ ${current.remoteSha} has diverged from local HEAD ${current.localSha} (remote has commits local HEAD lacks) on open PR #${prNumber} — not force-pushing`
|
|
123
|
-
: `could not confirm origin/${branch} @ ${current.remoteSha} is an ancestor of local HEAD ${current.localSha} on open PR #${prNumber} (${ancestry.detail})`;
|
|
124
|
-
log('ship', `${reason} — aborting before evidence`);
|
|
125
|
-
return { ok: false, prNumber, reason };
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
const pushed = await pushAndVerifyRemoteHead(run, worktree, branch, `git push -u origin ${shellEscape(branch)}`);
|
|
129
|
-
if (pushed.status !== 'pushed') {
|
|
130
|
-
const reason = pushed.status === 'push-failed'
|
|
131
|
-
? `push of ${branch} to open PR #${prNumber} failed (${pushed.kind}): ${pushed.detail}`
|
|
132
|
-
: pushed.status === 'mismatch'
|
|
133
|
-
? `remote head ${pushed.remoteSha} does not match local HEAD ${pushed.localSha} for ${branch} after push to open PR #${prNumber}`
|
|
134
|
-
: `could not verify the remote head for ${branch} after push to open PR #${prNumber} (${pushed.detail})`;
|
|
135
|
-
log('ship', `${reason} — aborting before evidence`);
|
|
136
|
-
return { ok: false, prNumber, reason };
|
|
137
|
-
}
|
|
138
|
-
log('ship', `remote head ${pushed.remoteSha} matches local HEAD ${pushed.localSha} for ${branch}`);
|
|
139
|
-
}
|
|
69
|
+
const stop = await syncExistingPr({ run, worktree, branch, prNumber, log });
|
|
70
|
+
if (stop)
|
|
71
|
+
return stop;
|
|
140
72
|
}
|
|
141
73
|
if (!prNumber) {
|
|
142
|
-
const stop = await
|
|
74
|
+
const stop = await pushNewBranch({
|
|
143
75
|
run,
|
|
144
76
|
worktree,
|
|
145
77
|
branch,
|
|
146
|
-
issue: inlineWork ? undefined : issue,
|
|
78
|
+
issue: inlineWork || ticket ? undefined : issue,
|
|
147
79
|
octokit,
|
|
148
80
|
owner,
|
|
149
81
|
repoName,
|
|
82
|
+
recordedRemoteSha: opts.recordedRemoteSha,
|
|
150
83
|
log,
|
|
151
84
|
});
|
|
152
85
|
if (stop)
|
|
153
86
|
return stop;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
const recorded = opts.recordedRemoteSha;
|
|
159
|
-
let leased = false;
|
|
160
|
-
if (recorded) {
|
|
161
|
-
// A retry rebuilds the branch from origin/main, so an earlier run's push is stale. Replace it
|
|
162
|
-
// only while the remote is still exactly what was recorded at worktree creation (#1869).
|
|
163
|
-
const current = await readRemoteBranchSha(run, worktree, branch);
|
|
164
|
-
if (current.status === 'unreadable') {
|
|
165
|
-
const reason = `could not read origin/${branch} to check recorded SHA ${recorded} (${current.detail})`;
|
|
166
|
-
log('ship', `${reason} — aborting before push`);
|
|
167
|
-
return { ok: false, reason };
|
|
168
|
-
}
|
|
169
|
-
if (current.sha === null) {
|
|
170
|
-
log('ship', `origin/${branch} recorded @ ${recorded} no longer exists — nothing to replace, plain push`);
|
|
171
|
-
}
|
|
172
|
-
else if (current.sha !== recorded) {
|
|
173
|
-
const reason = `origin/${branch} moved since it was recorded: recorded ${recorded}, current ${current.sha}`;
|
|
174
|
-
log('ship', `${reason} — aborting before push`);
|
|
175
|
-
return { ok: false, reason };
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
pushCmd = `git push ${shellEscape(`--force-with-lease=${branch}:${recorded}`)} -u origin ${shellEscape(branch)}`;
|
|
179
|
-
leased = true;
|
|
180
|
-
log('ship', `replacing stale origin/${branch} @ ${recorded} with a leased push`);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
// A zero-exit push is not proof the remote branch actually carries this run's commits — a
|
|
184
|
-
// concurrent push or an update that silently applied nothing leaves the remote head elsewhere,
|
|
185
|
-
// and a PR opened against it advertises work that is not there (#735). Fail closed, like the
|
|
186
|
-
// push-failure abort (#734).
|
|
187
|
-
const pushed = await pushAndVerifyRemoteHead(run, worktree, branch, pushCmd);
|
|
188
|
-
if (pushed.status === 'push-failed') {
|
|
189
|
-
const pushReason = `git push failed (${pushed.kind}): ${pushed.detail}`;
|
|
190
|
-
log('ship', `${pushReason} — aborting before PR creation`);
|
|
191
|
-
if (leased) {
|
|
192
|
-
return {
|
|
193
|
-
ok: false,
|
|
194
|
-
reason: `leased push of ${branch} over recorded ${recorded} was rejected (${pushed.kind})`,
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
return { ok: false, reason: pushReason };
|
|
198
|
-
}
|
|
199
|
-
if (pushed.status === 'mismatch') {
|
|
200
|
-
const reason = `remote head ${pushed.remoteSha} does not match local HEAD ${pushed.localSha} for ${branch}`;
|
|
201
|
-
log('ship', `${reason} — aborting before PR creation`);
|
|
202
|
-
return { ok: false, reason };
|
|
203
|
-
}
|
|
204
|
-
if (pushed.status === 'unreadable') {
|
|
205
|
-
const reason = `could not verify the remote head for ${branch} (${pushed.detail}); local HEAD ${pushed.localSha ?? 'unknown'}`;
|
|
206
|
-
log('ship', `${reason} — aborting before PR creation`);
|
|
207
|
-
return { ok: false, reason };
|
|
208
|
-
}
|
|
209
|
-
log('ship', `remote head ${pushed.remoteSha} matches local HEAD ${pushed.localSha} for ${branch}`);
|
|
210
|
-
// Get title from issue (skipped for a non-github work source — no such issue exists)
|
|
211
|
-
const title = inlineWork
|
|
212
|
-
? inlineWork.title
|
|
213
|
-
: (await octokit.rest.issues.get({ owner, repo: repoName, issue_number: issueNumberOf(issue) })).data.title;
|
|
214
|
-
const slice = inlineWork ? undefined : opts.slice;
|
|
215
|
-
const finalSlice = !slice || slice.index >= slice.count;
|
|
216
|
-
// A brief is a local file reviewers cannot open, so the body describes it by its title and links the
|
|
217
|
-
// open PR it builds on (a --stack or --base-branch base), never its id, digest or path.
|
|
218
|
-
const basePr = inlineWork && base !== SHIP_BASE_BRANCH ? await findOpenPR(octokit, owner, repoName, base) : undefined;
|
|
219
|
-
const summaryLine = inlineWork
|
|
220
|
-
? briefSummaryLine(title, basePr?.status === 'found' ? basePr.prNumber : undefined)
|
|
221
|
-
: slice
|
|
222
|
-
? `Implements slice ${slice.index}/${slice.count} of #${issue}.`
|
|
223
|
-
: `Implements #${issue}.`;
|
|
224
|
-
const prTitle = inlineWork
|
|
225
|
-
? stripBriefIds(title)
|
|
226
|
-
: slice
|
|
227
|
-
? `${title} — slice ${slice.index}/${slice.count} (#${issue})`
|
|
228
|
-
: `${title} (#${issue})`;
|
|
229
|
-
// Create PR
|
|
230
|
-
try {
|
|
231
|
-
const { data: pr } = await octokit.rest.pulls.create({
|
|
232
|
-
owner,
|
|
233
|
-
repo: repoName,
|
|
234
|
-
head: branch,
|
|
235
|
-
base,
|
|
236
|
-
title: prTitle,
|
|
237
|
-
draft: true,
|
|
238
|
-
body: renderPrBody({
|
|
239
|
-
summaryLine,
|
|
240
|
-
footer: opts.footer,
|
|
241
|
-
stackOrder: stack ? renderStackOrderLine(stack) : undefined,
|
|
242
|
-
specBody: await readSpecBody(opts.specPath),
|
|
243
|
-
checkSummary,
|
|
244
|
-
reworkRounds: opts.reworkRounds,
|
|
245
|
-
risk: await readRisk(opts.specPath),
|
|
246
|
-
walkthrough: await walkthrough.walkthrough(),
|
|
247
|
-
typescriptLines: await walkthrough.counts(),
|
|
248
|
-
closes: inlineWork || !finalSlice ? undefined : issue,
|
|
249
|
-
partOf: !inlineWork && !finalSlice ? issue : undefined,
|
|
250
|
-
}),
|
|
251
|
-
});
|
|
252
|
-
prNumber = pr.number;
|
|
253
|
-
log('pr_opened', `opened PR #${prNumber} for committed work on ${branch} (base ${base})`);
|
|
254
|
-
}
|
|
255
|
-
catch (err) {
|
|
256
|
-
if (!isPullAlreadyExistsError(err))
|
|
257
|
-
throw err;
|
|
258
|
-
const existing = await findOpenPR(octokit, owner, repoName, branch);
|
|
259
|
-
if (existing.status !== 'found') {
|
|
260
|
-
const reason = `pulls.create reported an existing PR for ${branch} but re-querying did not find it (${existing.status === 'error' ? existing.detail : 'no open PR listed'})`;
|
|
261
|
-
log('ship', `${reason} — aborting`);
|
|
262
|
-
return { ok: false, reason };
|
|
263
|
-
}
|
|
264
|
-
prNumber = existing.prNumber;
|
|
265
|
-
log('recovered', `PR #${prNumber} already existed for ${branch}; reusing it`);
|
|
266
|
-
}
|
|
87
|
+
const opened = await openOrFindPr({ opts, inlineWork, ticket, stack, base, owner, repoName, walkthrough });
|
|
88
|
+
if ('stop' in opened)
|
|
89
|
+
return opened.stop;
|
|
90
|
+
prNumber = opened.prNumber;
|
|
267
91
|
}
|
|
268
92
|
if (!prNumber) {
|
|
269
93
|
const reason = `Could not create or find PR for ${branch}`;
|
|
@@ -271,29 +95,7 @@ async function shipPhaseImpl(opts) {
|
|
|
271
95
|
return { ok: false, reason };
|
|
272
96
|
}
|
|
273
97
|
if (!reentry && opts.evidenceComment)
|
|
274
|
-
|
|
275
|
-
let checkedSha;
|
|
276
|
-
try {
|
|
277
|
-
checkedSha = (await run('git rev-parse HEAD', { cwd: worktree })).stdout.trim() || undefined;
|
|
278
|
-
}
|
|
279
|
-
catch { }
|
|
280
|
-
const body = gatherEvidencePack({
|
|
281
|
-
issue,
|
|
282
|
-
checkSummary,
|
|
283
|
-
reworkRounds: opts.reworkRounds,
|
|
284
|
-
specPath: opts.specPath,
|
|
285
|
-
eventsFile: opts.eventsFile,
|
|
286
|
-
startedAt: opts.startedAt,
|
|
287
|
-
logsDir: opts.logsDir,
|
|
288
|
-
reviewRouting: opts.reviewRouting,
|
|
289
|
-
pinNotes: opts.pinNotes,
|
|
290
|
-
headSha: checkedSha,
|
|
291
|
-
walkthrough: await walkthrough.walkthrough(),
|
|
292
|
-
});
|
|
293
|
-
await octokit.rest.issues.createComment({ owner, repo: repoName, issue_number: prNumber, body });
|
|
294
|
-
log('evidence', `posted evidence pack to PR #${prNumber}`);
|
|
295
|
-
}
|
|
296
|
-
catch { }
|
|
98
|
+
await postEvidenceComment({ opts, run, owner, repoName, prNumber, walkthrough, checkedSha: synced?.checkedSha });
|
|
297
99
|
let ciOutcome;
|
|
298
100
|
let ciWatchError;
|
|
299
101
|
if (watchCI) {
|
|
@@ -315,65 +117,6 @@ async function shipPhaseImpl(opts) {
|
|
|
315
117
|
return ci.result;
|
|
316
118
|
({ ciOutcome, ciWatchError } = ci);
|
|
317
119
|
}
|
|
318
|
-
|
|
319
|
-
let previewCheck;
|
|
320
|
-
if (opts.previewGate) {
|
|
321
|
-
const sha = headSha ?? (await run('git rev-parse HEAD', { cwd: worktree })).stdout.trim();
|
|
322
|
-
const publish = (n, r) => publishPreviewReceipt(octokit, owner, repoName, n, r);
|
|
323
|
-
const gateCtx = { log, ciPending, publish, ...(opts.logsDir ? { logsDir: opts.logsDir } : {}) };
|
|
324
|
-
previewCheck = await runPreviewGate(opts.previewGate, { prNumber, headSha: sha }, gateCtx);
|
|
325
|
-
if (previewCheck.status !== 'pass') {
|
|
326
|
-
return {
|
|
327
|
-
ok: false,
|
|
328
|
-
prNumber,
|
|
329
|
-
reason: previewFailureReason(prNumber, previewCheck),
|
|
330
|
-
previewCheck,
|
|
331
|
-
headSha: sha,
|
|
332
|
-
...(ciOutcome ? { ciOutcome } : {}),
|
|
333
|
-
...(ciPending ? { ciPending: true, draft: true } : {}),
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
if (ciWatchError !== undefined) {
|
|
338
|
-
const reason = `CI unknown for PR #${prNumber}: the CI watch failed (${ciWatchError}); leaving PR as draft`;
|
|
339
|
-
log('ship', reason);
|
|
340
|
-
return { ok: false, prNumber, reason, ciPending: true, draft: true, ...(headSha ? { headSha } : {}) };
|
|
341
|
-
}
|
|
342
|
-
// Mark ready for review (if draft). REST pulls.update ignores `draft`;
|
|
343
|
-
// undrafting requires the markPullRequestReadyForReview GraphQL mutation.
|
|
344
|
-
if (opts.draft || ciPending) {
|
|
345
|
-
try {
|
|
346
|
-
const { data: pr } = await octokit.rest.pulls.get({ owner, repo: repoName, pull_number: prNumber });
|
|
347
|
-
if (!pr.draft)
|
|
348
|
-
log('ship', `PR #${prNumber} is already open and not a draft; draft mode leaves it as is`);
|
|
349
|
-
}
|
|
350
|
-
catch { }
|
|
351
|
-
}
|
|
352
|
-
else {
|
|
353
|
-
const flip = await markPrReadyWithRetry(octokit, owner, repoName, prNumber);
|
|
354
|
-
if (!flip.ok) {
|
|
355
|
-
const reason = `could not mark PR #${prNumber} ready for review after one retry: ${flip.detail}`;
|
|
356
|
-
log('warn', reason);
|
|
357
|
-
return {
|
|
358
|
-
ok: false,
|
|
359
|
-
prNumber,
|
|
360
|
-
reason,
|
|
361
|
-
...(ciOutcome === undefined ? {} : { ciOutcome }),
|
|
362
|
-
...(headSha ? { headSha } : {}),
|
|
363
|
-
};
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
const noChecks = ciOutcome === 'no-checks' ? ' (CI skipped: no checks found)' : '';
|
|
367
|
-
const readyLabel = opts.draft || ciPending ? `left as draft${ciPending ? ' (CI pending)' : ''}` : 'ready for review';
|
|
368
|
-
log('ready', `PR #${prNumber} ${readyLabel}${noChecks}`);
|
|
369
|
-
return {
|
|
370
|
-
ok: true,
|
|
371
|
-
prNumber,
|
|
372
|
-
...(ciOutcome === undefined ? {} : { ciOutcome }),
|
|
373
|
-
...(headSha ? { headSha } : {}),
|
|
374
|
-
...(opts.draft || ciPending ? { draft: true } : {}),
|
|
375
|
-
...(ciPending ? { ciPending: true } : {}),
|
|
376
|
-
...(previewCheck ? { previewCheck } : {}),
|
|
377
|
-
};
|
|
120
|
+
return finishShip({ opts, run, owner, repoName, prNumber, headSha, ciOutcome, ciWatchError });
|
|
378
121
|
}
|
|
379
122
|
//# sourceMappingURL=ship.js.map
|
package/dist/phases/ship.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Octokit } from '@octokit/rest';
|
|
2
2
|
import type { EventKind } from '../events/kinds.js';
|
|
3
|
+
import { type PrerequisiteStackTarget } from '../queue/prerequisite-stack.js';
|
|
3
4
|
import { type SlicePlan } from '../readiness/slice-plan.js';
|
|
4
5
|
export declare const STACK_ORDER_MARKER = "<!-- factory:stack-order -->";
|
|
5
6
|
export interface StackPosition {
|
|
@@ -19,6 +20,14 @@ export declare function stackPositionFor(plan: SlicePlan, index: number, parentB
|
|
|
19
20
|
/** The position of slice `index` once its parent is squash-merged: stacked on `main` with no parent PR (#3368). */
|
|
20
21
|
export declare function retargetedStackPosition(plan: SlicePlan, index: number): StackPosition;
|
|
21
22
|
export declare function renderStackOrderLine(p: StackPosition): string;
|
|
23
|
+
/** Stack-order line for an issue stacked on its prerequisite's PR (#3916); `base` is `main` once the prerequisite merged. */
|
|
24
|
+
export declare function renderPrerequisiteStackLine(p: {
|
|
25
|
+
prerequisite: PrerequisiteStackTarget;
|
|
26
|
+
issue: number;
|
|
27
|
+
base: string;
|
|
28
|
+
}): string;
|
|
29
|
+
/** The PR-body stack section for a prerequisite stack: the order line plus the recovery marker (#3916). */
|
|
30
|
+
export declare function prerequisiteStackOrder(prerequisite: PrerequisiteStackTarget | undefined, issue: number | string, base: string): string | undefined;
|
|
22
31
|
/** Replaces the marker line and the line after it; without a marker, inserts after the Summary paragraph or appends. */
|
|
23
32
|
export declare function replaceStackOrderLine(body: string, line: string): string;
|
|
24
33
|
/** Rewrites slice k-1's PR so it names slice k's PR as next. Best-effort: never throws. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-order.d.ts","sourceRoot":"","sources":["../../src/phases/stack-order.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE9E,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AAIjE,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,6HAA6H;IAC7H,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAWjH;AAED,mHAAmH;AACnH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAMrF;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAM7D;AAED,wHAAwH;AACxH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAexE;AAED,2FAA2F;AAC3F,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhB"}
|
|
1
|
+
{"version":3,"file":"stack-order.d.ts","sourceRoot":"","sources":["../../src/phases/stack-order.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAiC,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE9E,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AAIjE,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,6HAA6H;IAC7H,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAWjH;AAED,mHAAmH;AACnH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAMrF;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAM7D;AAED,6HAA6H;AAC7H,wBAAgB,2BAA2B,CAAC,CAAC,EAAE;IAC7C,YAAY,EAAE,uBAAuB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,CAIT;AAED,2GAA2G;AAC3G,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,uBAAuB,GAAG,SAAS,EACjD,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAGpB;AAED,wHAAwH;AACxH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAexE;AAED,2FAA2F;AAC3F,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// src/phases/stack-order.ts — stack mode (ADR-0161): where a slice PR sits in its stack, as a marked body line.
|
|
2
|
+
import { renderPrerequisiteStackMarker } from '../queue/prerequisite-stack.js';
|
|
2
3
|
import { stackSliceBranch } from '../readiness/slice-plan.js';
|
|
3
4
|
export const STACK_ORDER_MARKER = '<!-- factory:stack-order -->';
|
|
4
5
|
const STACK_BASE_BRANCH = 'main';
|
|
@@ -32,6 +33,18 @@ export function renderStackOrderLine(p) {
|
|
|
32
33
|
: ' (top of stack)';
|
|
33
34
|
return `${STACK_ORDER_MARKER}\n**Stack:** slice ${p.index}/${p.count} — stacked on ${stackedOn}${next}`;
|
|
34
35
|
}
|
|
36
|
+
/** Stack-order line for an issue stacked on its prerequisite's PR (#3916); `base` is `main` once the prerequisite merged. */
|
|
37
|
+
export function renderPrerequisiteStackLine(p) {
|
|
38
|
+
const { prerequisite: b } = p;
|
|
39
|
+
const tail = p.base === STACK_BASE_BRANCH ? '(prerequisite merged; stacked on `main`)' : `— stacked on \`${p.base}\``;
|
|
40
|
+
return `${STACK_ORDER_MARKER}\n**Stack:** #${b.issue} PR #${b.prNumber} (\`${b.branch}\`), then #${p.issue} ${tail}`;
|
|
41
|
+
}
|
|
42
|
+
/** The PR-body stack section for a prerequisite stack: the order line plus the recovery marker (#3916). */
|
|
43
|
+
export function prerequisiteStackOrder(prerequisite, issue, base) {
|
|
44
|
+
if (prerequisite === undefined)
|
|
45
|
+
return undefined;
|
|
46
|
+
return `${renderPrerequisiteStackLine({ prerequisite, issue: Number(issue), base })}\n${renderPrerequisiteStackMarker(prerequisite)}`;
|
|
47
|
+
}
|
|
35
48
|
/** Replaces the marker line and the line after it; without a marker, inserts after the Summary paragraph or appends. */
|
|
36
49
|
export function replaceStackOrderLine(body, line) {
|
|
37
50
|
const lines = body.split('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-order.js","sourceRoot":"","sources":["../../src/phases/stack-order.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stack-order.js","sourceRoot":"","sources":["../../src/phases/stack-order.ts"],"names":[],"mappings":"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"}
|