* "Auto-publish" mode: skip the Version Packages PR and ship version+publish in one run. * * The only thing forfeited vs. the default flow is the preview/review gate on version * bumps. Credentials are NOT a differentiator — a single-job non-auto-publish workflow * also carries both PR-write and
(rootDir: string, config: BumpyConfig, plan: ReleasePlan, tag?: string)
| 636 | * --expect-mode is for split-job workflows where each job runs exactly one path. |
| 637 | */ |
| 638 | async function autoPublish(rootDir: string, config: BumpyConfig, plan: ReleasePlan, tag?: string): Promise<void> { |
| 639 | log.step('Running bumpy version...'); |
| 640 | const { versionCommand } = await import('./version.ts'); |
| 641 | await versionCommand(rootDir); |
| 642 | |
| 643 | // Commit the version changes |
| 644 | log.step('Committing version changes...'); |
| 645 | runArgs(['git', 'add', '-A'], { cwd: rootDir }); |
| 646 | const status = tryRunArgs(['git', 'status', '--porcelain'], { cwd: rootDir }); |
| 647 | if (status) { |
| 648 | const commitMsg = await resolveCommitMessage(config.versionCommitMessage, plan, rootDir); |
| 649 | runArgs(['git', 'commit', '-F', '-'], { cwd: rootDir, input: commitMsg }); |
| 650 | runArgs(['git', 'push', '--no-verify'], { cwd: rootDir }); |
| 651 | } |
| 652 | |
| 653 | log.step('Running bumpy publish...'); |
| 654 | const { publishCommand } = await import('./publish.ts'); |
| 655 | await publishCommand(rootDir, { tag }); |
| 656 | } |
| 657 | |
| 658 | // ---- snapshot release flow ---- |
| 659 |
no test coverage detected
searching dependent graphs…