chore: release main#225
Merged
Merged
Conversation
theagenticguy
added a commit
that referenced
this pull request
Jun 11, 2026
…hes (#226) ## The actual root cause (npm stuck at 0.7.4) After collapsing to one published component (#222, `package-name: "@opencodehub/cli"`, no `component`), release-please **infers** the component from the package-name scope as `cli`. But the release PR (branch `release-please--branches--main`, title `chore: release main`) carries **no** component. In `buildRelease`'s standalone-component check this mismatches: ``` ⚠ PR component: undefined does not match configured component: cli ``` So release-please builds **zero** candidate releases for the merged release PR → tags nothing → `release_created=false` → the `workflow_call` to `release.yml` never fires → npm never publishes. The *"untagged, merged release PRs outstanding - aborting"* message is only the **downstream symptom** in `createPullRequests` (it refuses to open a new PR while a merged `autorelease: pending` PR exists). Found by reading the failing run's `Building releases` trace (line 50). #225's branch/title are identical to PRs that released fine — so it wasn't a branch-name issue; it's the inferred-vs-empty component mismatch. ## Fix One line: `"component": ""` on the `.` package, so the configured component is empty and matches the PR's empty parsed component. ## Expected sequence on merge 1. `createReleases` finds the outstanding `autorelease: pending` **#225**, now component-matches → builds + tags **v0.7.6**, flips #225 → `autorelease: tagged`, sets `release_created=true`. 2. `release-please.yml` release job fires → `workflow_call` → `release.yml` → **npm publish 0.7.6** (entry workflow = `release-please.yml` → matches the trusted publisher → OIDC succeeds). 3. `createPullRequests` then opens a fresh **0.7.7** PR for this config-fix commit. This finally unsticks the published CLI via the automated (trusted-publisher-matching) path — no npm-account change needed. Co-authored-by: T <t@example.com>
theagenticguy
added a commit
that referenced
this pull request
Jun 11, 2026
…LI starvation (#227) ## Why the single-component approach failed (proven from source) The collapse to one root package (#222, #226) **structurally cannot create a release** in release-please v17.6.0: - `this.component = options.component || normalizeComponent(packageName)` — the `||` falsy-coerces `component: ""`, so it derives `cli` from `@opencodehub/cli`. - `buildRelease`'s standalone-component check (single release entry) then compares the release PR's component (`undefined` — branch `release-please--branches--main`) against `cli` → mismatch → **zero releases built**, `release_created=false`, npm never publishes. - Observed live: `⚠ PR component: undefined does not match configured component: cli`. `component: ""` provably can't fix it. ## Why two components is the correct shape With **2 components** the aggregate release PR has 2 release entries (`length === 2`), so that broken standalone-component check is **skipped entirely** — which is exactly why this scheme released reliably for 20+ versions. Reverting is the proven path, not a regression. ## The original bug, fixed properly The starvation bug you hit (private root absorbs every commit → ran to 0.8.5, while the published cli only saw `packages/cli/**` → starved at 0.7.4) is now fixed with the purpose-built **`linked-versions`** plugin: ```json "plugins": [{ "type": "linked-versions", "groupName": "opencodehub", "components": ["root", "cli"] }] ``` linked-versions keeps root + cli in lockstep — any commit that bumps root bumps cli to the same version. **The published CLI now advances on every release**, which is the actual fix you asked for. ## State reconciliation - Manifest reseeded to the last component-format tags: `root 0.8.5`, `cli 0.7.4` (both tags exist → clean boundary detection, no giant-changelog risk). - `package.json` versions aligned (root 0.8.5, cli 0.7.4 = npm latest). - Cleared the stuck `autorelease: pending` label on the abandoned single-component PR #225. - The bare `v0.7.4`/`v0.7.5` bootstrap tags from the abandoned attempt are inert under this config (no component → don't match). ## Expected on merge release-please opens a release PR bumping **both** components to **0.8.6** (linked, highest+patch). Merging it → `release_created=true` → tags `root-v0.8.6` + `cli-v0.8.6` → automated `release-please.yml → release.yml` chain → **npm publishes `@opencodehub/cli@0.8.6`** via the matching trusted-publisher OIDC path. (npm jumps 0.7.4 → 0.8.6; forward + valid. cli now tracks the unified line.) Co-authored-by: T <t@example.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 Automated release via release-please
0.7.6
0.7.6 (2026-06-11)
Bug Fixes
This PR was generated with Release Please. See documentation.