chore: 上流のマージ時に上流の生成物を採用 - #426
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The workflow can resolve upstream_ref against local refs instead of the intended upstream tag and its conflict validation can emit misleading errors for missing/binary conflict paths.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR updates the merge-upstream GitHub Actions workflow to make upstream merges more reliable and to automatically prefer upstream-generated artifacts during conflict resolution, aligning the automated merge output with upstream sources.
Changes:
- Fetch full git history during checkout to support robust merge/ref operations.
- Tighten merge failure handling to continue only for real merge-conflict stops (not other merge errors).
- Auto-resolve conflicts for
tests/ref/by taking upstream (“theirs”) and add guardrails to avoid silently resolving non-text conflicts.
File summaries
| File | Description |
|---|---|
| .github/workflows/merge-upstream.yml | Improves upstream merge automation (full-history fetch, safer merge handling, and upstream-preferred resolution for generated test refs). |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
🟡 Changes recommended
The workflow currently verifies unresolved text conflicts but does not stage them, which will make git commit fail when conflicts exist outside tests/ref/.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
| if ! grep -q '^<<<<<<< ' -- "$file" \ | ||
| || ! grep -qx '=======' -- "$file" \ | ||
| || ! grep -q '^>>>>>>> ' -- "$file"; then | ||
| echo "::error file=$file::Unresolved text conflict without conflict markers" | ||
| exit 1 | ||
| fi | ||
| done < <(git diff --name-only --diff-filter=U -z) |
#415 (comment)