chore(dev): add a safe upstream sync workflow - #80
Conversation
|
Warning Review limit reached
Next review available in: 45 minutes Limit details: You’ve used all 2 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (9)
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. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8efbb8a718
ℹ️ 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".
| exit 1 | ||
| fi | ||
|
|
||
| if ! run_validation; then |
There was a problem hiding this comment.
Preserve validation failures before committing
When a clean merge causes run-tests.sh to fail, invoking run_validation as the condition of if ! disables Bash's set -e behavior throughout the function. The function then reaches the false SYNC_BUILD_APP check, returns success, and the script commits the unvalidated merge and reports success. Capture the function's status explicitly or make each validation command return immediately on failure.
Useful? React with 👍 / 👎.
| run_validation | ||
| git commit --no-edit |
There was a problem hiding this comment.
Reject unstaged fixes before validating the merge
If a user stages a conflict resolution and then adjusts it again—especially after a validation failure—run_validation tests the newer working-tree contents, but git commit --no-edit records the older index contents and still reports success. As confirmed by git commit -h, -a/--all is the option to “commit all changed files”; this call neither uses it nor verifies that the working tree matches the index, so the resulting merge can differ from what passed validation.
Useful? React with 👍 / 👎.
Summary
Why
People who maintain local custom features need to pull upstream releases without losing their work. Binary auto-update and source-level customization are different update paths; this makes that distinction explicit and recoverable.
中文说明
Validation
All checks passed on macOS.