fix(ci): repair upstream sync PR workflow#279
Conversation
Code Coverage OverviewLanguages: JavaScript JavaScript / code-coverage/vitestThe overall coverage remains at 26%, unchanged from the branch. Updated |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 187cdc971a
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 22b83f79fe
ℹ️ 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".
| upstream_branch_ref="${UPSTREAM_REF#refs/heads/}" | ||
| upstream_tag_ref="${UPSTREAM_REF#refs/tags/}" |
There was a problem hiding this comment.
Reuse the normalized dev ref for mirror updates
When a manual run uses the now-supported full branch ref refs/heads/dev, this normalization resolves the upstream commit correctly, but the later mirror update still checks the raw UPSTREAM_REF against dev. With the default update_dev_mirror=true, that run creates the sync PR without force-updating origin/dev, even though the workflow input describes this option as updating the dev mirror when syncing upstream dev. Use the normalized branch name in that condition so both dev and refs/heads/dev take the mirror path.
Useful? React with 👍 / 👎.
Description
Repair the upstream sync PR workflow so scheduled and manual sync runs do not fail when
originandupstreampublish different objects under the same release tag names.The workflow now:
refs/remotes/upstream/*refs/tags/upstream/*instead of clobbering local tagsUPSTREAM_REFagainst upstream branches first, upstream namespaced tags second, and raw commit-ish values lastThis preserves the existing integration-trunk sync flow while allowing upstream tag-based syncs and normal scheduled
devsyncs to complete.Changeset:
fix: isolate upstream sync tag fetchesFixes #
Type of change
Checklist:
Validation:
pnpm lintpnpm fmt:checkpnpm typecheckpnpm knippnpm buildNotes:
27952603603on June 22, 2026:git fetch --tags upstreamfailed because upstreamv1.18.0,v1.18.1, andv1.18.3would clobber tags already fetched fromorigin.pnpm test:runstill fails on the currentorigin/integrationbaseline with a pre-existing unhandled rejection insrc/app/hooks/timeline/useTimelineSync.ts(TypeError: mx.getRoom is not a functionfromuseTimelineSync.test.tsx). This PR does not touch that area.AI disclosure:
AI assistance was used to diagnose the tag-clobber failure in the GitHub Actions logs, update the workflow fetch/ref-resolution logic, and verify the fix against fresh local fetches and the standard repo gate.