chore: sync prod into staging to unblock release PR #1346#1347
Merged
Conversation
release: to prod
release: to prod
release: To Prod
release: to prod
release: To Prod
release: To Prod
Conflict in drizzle/meta/_journal.json: both prod (PR #1340) and staging added the byte-identical idx 83 entry independently, plus staging added idx 84 (employee_only_signup_block) and a trailing newline. Resolved by keeping staging's superset (82, 83, 84). No migration content changed - this only reconciles the journal.
🧹 PR Environment Cleaned UpThe PR environment has been successfully deleted. Deleted Resources:
All resources have been cleaned up and will no longer incur costs. |
ℹ️ No PR Environment to Clean UpNo PR environment was found for this PR. This is expected if:
|
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
Release PR #1346 (staging -> prod) is
DIRTY/CONFLICTING. Single conflict:drizzle/meta/_journal.jsonRoot cause
PR #1340 (release: To Prod) was squash-merged instead of merged as a merge commit. Every previous staging -> prod release was a merge commit (2 parents); #1340 has 1 parent.
A merge commit preserves shared ancestry. A squash takes staging's tree and creates a brand-new commit on prod with no parent link back. So after #1340:
75eb2849(from squash-merging hotfix(security): drop global Database Query plugin block #1339 into staging)adaabe1f(squash of staging into prod)90f2d7ae-- from before either side had the hotfixWhen this PR's parent #1346 opens, git does a 3-way merge from that pre-hotfix base. Both sides modified the tail of
_journal.json. Git can't tell the edits are logically the same; it just sees overlapping changes and conflicts.No one pushed directly to prod. No force push, no branch protection bypass. The wrong option was selected in the GitHub merge dropdown on #1340.
Three-way state on the conflicting file:
90f2d7aeblock_executions_for_deactivated_users)origin/prod(after #1340)drop_db_integration_block)origin/stagingemployee_only_signup_block)Resolution
This PR merges
origin/prodintostagingand keeps staging's version of_journal.json(strict superset: 82 + 83 + 84). The merge restores shared ancestry so PR #1346 becomes a clean merge.git diff origin/staging HEADis empty for non-merge content.git merge-base --is-ancestor origin/prod HEADis true after this merge.Once this lands, PR #1346 should auto-flip to
MERGEABLE.Prevention (not in this PR -- needs follow-up)
The repo currently allows all three merge methods on every base branch:
Options to stop a recurrence:
allow_squash_mergerepo-wide. Forces merge commits everywhere; feature PRs lose the squash option.prod: fail if the new merge commit has fewer than 2 parents. Cheap, targeted, doesn't break feature PR ergonomics. Recommended.Out of scope
build-images / buildon #1346 failed withNo space left on deviceon a self-hosted runner. Infra issue, unrelated to this conflict. Re-run after this PR lands and the runner host is cleaned up.