Skip to content

chore(release): add win fallback and node24#1363

Merged
zerob13 merged 1 commit intodevfrom
codex/beta4changelog
Mar 19, 2026
Merged

chore(release): add win fallback and node24#1363
zerob13 merged 1 commit intodevfrom
codex/beta4changelog

Conversation

@zerob13
Copy link
Copy Markdown
Collaborator

@zerob13 zerob13 commented Mar 18, 2026

Summary by CodeRabbit

  • Chores

    • Upgraded GitHub Actions workflows to latest versions for improved compatibility and security.
    • Updated release automation scripts to support cross-platform environments.
  • Documentation

    • Enhanced maintainer release documentation with platform-specific guidance.
    • Added detailed release process instructions for different operating systems.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 18, 2026

📝 Walkthrough

Walkthrough

GitHub Actions across three workflow files are upgraded from v4 to v6 with added Node 24 configuration. Release process documentation is updated with platform-specific guidance for macOS/Linux and Windows maintainers. A new Node.js launcher script replaces the bash invocation for release automation with Windows platform detection.

Changes

Cohort / File(s) Summary
GitHub Workflows
.github/workflows/build.yml, .github/workflows/prcheck.yml, .github/workflows/release.yml
Upgraded actions (checkout, setup-node, upload-artifact, download-artifact) from v4 to v6. Added FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 env var and package-manager-cache: false settings. Control flow remains unchanged.
Release Process Documentation
CONTRIBUTING.md, CONTRIBUTING.zh.md, docs/release-flow.md
Added platform-specific release guidance distinguishing macOS/Linux (pnpm release:ff) from Windows (manual steps). Documented maintainer workflow with integration branch strategy, fast-forward procedures, and release tagging sequence.
Release Script Migration
package.json, scripts/release-fast-forward.mjs, scripts/release-fast-forward.sh
Converted release script invocation from bash to Node.js launcher. New launcher detects Windows platform and directs to manual steps; on other platforms spawns bash script with argument and signal passthrough.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

🐰 hoppy hop – Actions leap from v4 to v6,
Windows gets a gentle pat, "manual's the fix!"
Fast-forward flows with platform-aware grace,
Release processes find their rightful place! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: adding Windows fallback support and Node 24 environment variable for release workflows.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/beta4changelog
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
docs/release-flow.md (1)

104-114: Minor: Consider varying sentence structure per static analysis hint.

The static analysis tool flagged three successive sentences starting with "Confirm" (steps 3, 4, and 5). This is purely a style suggestion and doesn't affect clarity.

💅 Optional wording variation
-4. Confirm `origin/main` can be fast-forwarded to the reviewed release commit.
+4. Verify that `origin/main` can be fast-forwarded to the reviewed release commit.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/release-flow.md` around lines 104 - 114, The three consecutive lines
beginning with "Confirm" (steps 3–5) should be reworded to vary sentence
openings for static analysis; update the step wording around the git checks that
use "git merge-base --is-ancestor <TARGET_SHA> origin/dev" and "git merge-base
--is-ancestor origin/main <TARGET_SHA>" so they use different verbs (e.g.,
"Verify the release commit exists on origin/dev", "Ensure origin/main can be
fast-forwarded to the reviewed release commit", "Check ...") while keeping the
commands and meaning unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/release-flow.md`:
- Around line 104-114: The three consecutive lines beginning with "Confirm"
(steps 3–5) should be reworded to vary sentence openings for static analysis;
update the step wording around the git checks that use "git merge-base
--is-ancestor <TARGET_SHA> origin/dev" and "git merge-base --is-ancestor
origin/main <TARGET_SHA>" so they use different verbs (e.g., "Verify the release
commit exists on origin/dev", "Ensure origin/main can be fast-forwarded to the
reviewed release commit", "Check ...") while keeping the commands and meaning
unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b8377a93-bf1d-43d6-bc9a-4184e46d08c0

📥 Commits

Reviewing files that changed from the base of the PR and between 7f19f6e and 9d2162b.

📒 Files selected for processing (9)
  • .github/workflows/build.yml
  • .github/workflows/prcheck.yml
  • .github/workflows/release.yml
  • CONTRIBUTING.md
  • CONTRIBUTING.zh.md
  • docs/release-flow.md
  • package.json
  • scripts/release-fast-forward.mjs
  • scripts/release-fast-forward.sh

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9d2162bf7b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +9 to +10
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Upgrade pnpm/action-setup before forcing Node 24

Setting FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 here makes every JavaScript action in this workflow run under Node 24, but this workflow still invokes pnpm/action-setup@v2 a few lines below. The pnpm action’s marketplace page now warns that v2 “has stopped working” with newer Node.js versions, so PR checks/builds/releases can start failing before pnpm install even runs. Please either keep these workflows on the current action runtime or bump pnpm/action-setup to a Node-24-compatible major first.

Useful? React with 👍 / 👎.

1. Fetch the latest release refs.

```bash
git fetch origin main dev --prune
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Fetch the release ref before resolving origin/release/*

I checked git fetch -h (git fetch [<options>] [<repository> [<refspec>...]]), so git fetch origin main dev --prune only updates the main and dev refspecs. The very next step resolves origin/release/v…^{commit}, which will be missing in a fresh clone unless that release branch was already fetched locally, so the new Windows/manual fallback can fail at step 2 before any ancestry checks run. Either fetch the release/* ref here or rewrite step 2 around a ref that step 1 guarantees is present.

Useful? React with 👍 / 👎.

@zerob13 zerob13 merged commit fad615e into dev Mar 19, 2026
7 checks passed
@zerob13 zerob13 deleted the codex/beta4changelog branch March 29, 2026 05:41
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