Repository navigation
ci(upstream-sync): fix a short-circuit that could never fire, and don't stack sync PRs - #84
Merged
Merged
Conversation
…'t stack sync PRs The up-to-date check compared `git rev-parse HEAD` against upstream's HEAD. Those can never be equal: ptyxis-port is upstream plus our patch set, so its tip is by definition not upstream's tip. The check has therefore always answered "not up to date" and every run has done a full rebase attempt, including runs with nothing to import. The question it meant to ask is whether upstream's HEAD is already *contained* in ours, which is `git merge-base --is-ancestor`. Second guard: stand down while an `upstream-sync/*` PR is still open. Two such branches are sitting on this repo from June. A second sync opened before the first is dealt with covers an overlapping commit range, so the two conflict with each other rather than with upstream -- which is the opposite of the small-mechanical-diff property the whole strategy is built on. Both fixes come from work done in the hanthor/blueshell fork; the daily cadence they were written for does not, since the weekly rebase is not what was failing. UPSTREAM_SYNC.md documents the guards, the `upstream-sync` label as a prerequisite (it does not survive a repo transfer, which broke every conflict-path run between 2026-08-17 and 2026-09-06 while leaving clean weeks looking green), and how upstream Ghostty is published from this repo without sharing any source with the fork. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EMBRswEeeX2kzVSwpbxCoy
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.
Two independent bugs in
upstream-sync.yml, both salvaged from work done in thehanthor/blueshellfork.1. The up-to-date short-circuit has never fired
Those can never be equal.
ptyxis-portis upstream plus our patch set, so its tip is by definition not upstream's tip. The check has always answered "not up to date", and every run has done a full rebase attempt including runs with nothing to import. The question it meant to ask is whether upstream's HEAD is already contained in ours —git merge-base --is-ancestor.2. Sync PRs stack
Nothing stopped a run from opening a second
upstream-sync/*branch while the previous one was still open. Two such branches are sitting on this repo from June (upstream-sync/2026-06-08,upstream-sync/2026-06-15). Overlapping ranges conflict with each other rather than with upstream — the opposite of the small, mechanical diff the whole strategy is built on. The run now stands down while one is open.Not ported
The fork also moved this to a daily cadence. Left at weekly: the cadence isn't what was failing, and the site now states weekly.
Context: the label
Separately fixed already (no code change here, documented in
UPSTREAM_SYNC.md): labels don't survive a repo transfer, sogh issue create --label upstream-synchad been erroring on the conflict path since the 2026-08-17 move — which is why every conflicting week failed silently while clean weeks looked green. Label recreated 2026-09-06.🤖 Generated with Claude Code
https://claude.ai/code/session_01EMBRswEeeX2kzVSwpbxCoy