Push only the PR's changed files to the submissions realm#662
Merged
Conversation
The realm is shared across open PRs. Force-pushing the whole checkout reset every file to this PR's view of main, silently reverting files other open PRs had modified. Staging just the merge-commit diff and pushing that leaves the rest of the realm untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Staging Submissions PreviewThis PR's content is pushed to the staging submissions realm: https://realms-staging.stack.cards/submissions/ Changed folders:
Updated at 2026-07-17 08:16:59 UTC for commit |
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the push-to-submissions GitHub Actions workflow to avoid clobbering the shared staging submissions realm when multiple PRs push previews concurrently, by pushing only the files changed in the current PR rather than the entire repo checkout.
Changes:
- Stage only the PR’s changed (non-deleted) files into a temp directory and push that directory to the submissions realm.
- Fold the prior “strip realm-config files” behavior into the diff pathspec exclusions (
realm.json,index.json,.boxel-sync.json). - Update the sticky PR comment footer to clarify shared-realm limitations (last-writer-wins on overlapping files; deletions not mirrored).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The comment step recomputed the diff without the pathspec excludes, so it could list files that were never pushed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Problem
The push-to-submissions workflow force-pushes the entire repo checkout to the shared staging submissions realm. Each PR's checkout is
main + only that PR's changes, so every push resets every file on the realm to that PR's view of main — silently reverting modifications other open PRs had already pushed. With multiple PRs open in parallel, whichever pushed last wins across the whole realm, not just on genuinely conflicting files.Fix
Stage only the PR's diff (
git diff HEAD^1 HEADagainst the merge commit, excludingrealm.json/index.json/.boxel-sync.jsonvia pathspec) into a temp directory and push that. Sinceboxel realm pushwithout--deleteonly writes files present locally, the rest of the realm is left untouched.--forcestill resolves add-vs-update from actual remote state, so no sync manifest is needed, and the separate config-stripping step is folded into the pathspec excludes.Remaining (accepted) limitations of the shared realm, now noted in the sticky comment footer:
🤖 Generated with Claude Code