ci: auto-merge daily quickstart refresh PR#29
Open
samestrin wants to merge 1 commit into
Open
Conversation
Daily refresh PRs were opening correctly but never merged, leaving
quickstart-{alibaba,synthetic}.json stale on main (last merge
2026-04-30 while fresh data sat in an unmerged PR for ~10 weeks).
Add a final `gh pr merge --squash --delete-branch` step that runs
when create-pull-request produces a PR, gated on the in-run pytest
+ v2 schema gate that already precede PR creation. No branch
protection or repo auto-merge setting required.
Note: GITHUB_TOKEN merges suppress push events, so the Test Suite
workflow will not re-run on main for auto-merged JSON refreshes;
the refresh is self-validated earlier in the same run.
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.
Why
The daily
update-quickstart.ymlworkflow has been running successfully every day and opening anautomated/quickstart-refreshPR with fresh JSON — but the PR was never merged, soquickstart-alibaba.jsonandquickstart-synthetic.jsonstayed frozen onmain(last merged refresh 2026-04-30). The backlog PR (#20) had been open and re-amended daily for ~10 weeks.What
Add a final step that squash-merges the refresh PR via
gh pr merge --squash --delete-branch, gated oncreate-pull-requestactually producing a PR (pull-request-number != ''). The refresh is already self-validated earlier in the same run:python -m pytest scripts/tests/— scraper unit testspython -m scripts.update_quickstart— runs the v2 schema gate (validate_payload) before atomically writing each JSONso merging without waiting for the separate Test Suite CI on the PR branch is safe for a JSON-only diff. No repo
allow_auto_mergesetting or branch protection required (the native auto-merge path would have required both, and required-checks branch protection would gate all merges on the self-hosted runners being online).Backlog already cleared
PR #20 was squash-merged separately (commit
fdaa5ed) somainnow carries the fresh catalogs (alibaba 5 models, synthetic 6 models, both 2026-07-12). The orphanfeature/powershell-portbranch (151 commits, no PR, idle since 2025-09-04) was also deleted.Known tradeoff
Merges performed by
GITHUB_TOKENdo not emitpushevents, so the Test Suite workflow will not re-run onmainfor these auto-merged JSON refreshes. Acceptable for JSON-only diffs that are self-validated earlier in the same run; flag if you want a PAT-based merge to firepushCI instead.Heads-up on the synthetic diff
The refresh that just landed dropped synthetic from 14 to 6 models. That is most likely real catalog churn at synthetic.new, but the scraper's classifier silently drops any model it can't family+version, and the in-run pytest runs against fixtures (not the live endpoint) — so a scraper regression would not be caught by CI. Worth a one-off sanity check against the live
/openai/v1/modelsendpoint before fully trusting unattended merges.