Skip to content

fix: improve cherry-pick handling and version sync process to avoid conflicts - #81

Merged
frontegg-david merged 2 commits into
release/2.15.xfrom
fix-version-cherrypick
Aug 7, 2026
Merged

fix: improve cherry-pick handling and version sync process to avoid conflicts#81
frontegg-david merged 2 commits into
release/2.15.xfrom
fix-version-cherrypick

Conversation

@frontegg-david

@frontegg-david frontegg-david commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Chores

    • Improved release publishing with secure npm trusted publishing and provenance verification.
    • Release notes now generate package links dynamically.
    • Version synchronization is more reliable and keeps lockfiles up to date.
    • Release workflows now recover more cleanly from cherry-pick conflicts.
  • Bug Fixes

    • Added clearer errors when package files contain merge-conflict markers or invalid JSON.
  • Documentation

    • Updated release guidance for npm publishing requirements, configuration, and required tooling.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 24870dbc-f9e2-4299-a9b0-817d46430d17

📥 Commits

Reviewing files that changed from the base of the PR and between d5e1fb0 and 557fc39.

📒 Files selected for processing (1)
  • .github/workflows/publish-release.yml

📝 Walkthrough

Walkthrough

The release workflow now uses npm trusted publishing, validates the npm CLI version, generates package links dynamically, synchronizes versions directly, and regenerates the lockfile. The version-sync script reports merge conflicts and invalid JSON. Conflict cleanup resets the working tree after dismissing the cherry-pick sequencer.

Changes

Release automation

Layer / File(s) Summary
npm publishing and release metadata
.github/RELEASE_WORKFLOW.md, .github/workflows/publish-release.yml
The workflow documents and uses npm trusted publishing through OIDC. It requires npm 11.5.1 or later and derives release links from non-private package metadata.
Version synchronization and conflict recovery
.github/workflows/publish-release.yml, scripts/sync-versions.mjs, .github/workflows/cherry-pick-prompt.yml
The release workflow synchronizes package versions directly, regenerates and stages the lockfile, and updates the synchronization commit message. The sync script detects conflict markers and invalid JSON. Conflict cleanup dismisses the sequencer and resets HEAD.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ReleaseJob as GitHub Actions release job
  participant NpmCli as npm CLI
  participant NpmRegistry as npm registry
  ReleaseJob->>NpmCli: install and validate npm >= 11.5.1
  ReleaseJob->>NpmRegistry: publish packages with OIDC credentials
  ReleaseJob->>ReleaseJob: scan libs/*/package.json for release links
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes to cherry-pick handling and version synchronization.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-version-cherrypick

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/publish-release.yml:
- Around line 101-102: Update the npm installation command in the release
workflow to use the approved exact npm CLI version compatible with .nvmrc
instead of npm@latest, while preserving the existing fallback warning and
minimum-version validation.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 63128eb1-fb5a-43fa-8675-8c1bab7a00e2

📥 Commits

Reviewing files that changed from the base of the PR and between 4aee666 and d5e1fb0.

📒 Files selected for processing (4)
  • .github/RELEASE_WORKFLOW.md
  • .github/workflows/cherry-pick-prompt.yml
  • .github/workflows/publish-release.yml
  • scripts/sync-versions.mjs

Comment thread .github/workflows/publish-release.yml Outdated
@frontegg-david
frontegg-david merged commit a92d001 into release/2.15.x Aug 7, 2026
1 of 2 checks passed
@frontegg-david
frontegg-david deleted the fix-version-cherrypick branch August 7, 2026 00:00
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Cherry-pick Created

A cherry-pick PR to main has been automatically created.

Please review and merge if this change should also be in main.

If the cherry-pick is not needed, close the PR.

frontegg-david added a commit that referenced this pull request Aug 7, 2026
…ss to avoid conflicts (#82)

Cherry-picked from #81 (merged to release/2.15.x)
Original commit: a92d001

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: frontegg-david <69419539+frontegg-david@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant