Sync unstable from upstream on a schedule - #67
Merged
Merged
Conversation
Merges valkey-io/valkey unstable into this repo's unstable daily and pushes it directly, so the fork does not drift and findings are not raised against code upstream already fixed. Pushes with a deploy key because the protect-unstable ruleset blocks direct pushes and a deploy key is the only bypass actor a personal repository accepts. Signed-off-by: Madelyn Olson <madelyneolson@gmail.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.
This fork is 66 commits behind
valkey-io/valkeyand was last synced on 2026-08-31, so the triage batch raised findings against code upstream had already fixed. #62 is one: half of it is a backport of valkey-io/valkey#4653, needed only because the base is stale. This adds a daily job that mergesupstream/unstableand pushes it, with no pull request in the loop.Details
Why a deploy key
The
protect-unstableruleset coversrefs/heads/unstablewithdeletion,non_fast_forward,pull_requestandrequired_status_checks, and had no bypass actors, so nothing could push without a PR.GitHub Actions cannot be added as a bypass actor on a personal repository:
RepositoryRoleadmin is accepted but does not help, becausegithub-actions[bot]holds no repository role. A deploy key is the only actor type that both this repository accepts and the job can authenticate as, so the ruleset now has one bypass actor of typeDeployKey, and the job checks out viassh-keyusing theUPSTREAM_SYNC_DEPLOY_KEYsecret.Note that GitHub normalises
DeployKeybypass toactor_id: null, meaning all deploy keys bypass, not only this one. There is currently exactly one.Merge, not fast-forward
596da45a0("Add AI-driven development workflow") exists only here and must survive: it carriesclaude-issue.yml,claude-pr.yml,CLAUDE.mdanddocs/ai-workflow.md. The job tries--ff-onlyfirst and falls back to a real merge, so that commit is preserved. All four files are additions, sogit merge-treecurrently reports no conflicts againstupstream/unstable.Failure behaviour
On conflict the job aborts the merge, fails, and opens or comments on a single
Upstream sync needs a manual mergeissue rather than opening one per run. Nothing is force-pushed andnon_fast_forwardis still enforced against everything else.Consequence worth knowing
Pushing to
unstabletriggers this repository's copy of the full valkey CI, includingci.yml. A daily sync therefore means a daily CI run on a personal account.Closes #14.
This was generated by AI but verified, with love, by a human.