Repository navigation
ci: the search index reaches master through a pull request opened with FRAMERS_BUMP_TOKEN, since master is protected - #13
Conversation
…i/codex-index with FRAMERS_BUMP_TOKEN and pushes nothing to master, leaves that pull request to the run of a later change to the index's inputs, and the landing label follows the index pull request's Test Suite and rename-guard as it follows the bump's
|
Warning Review limit reached
This review includes 9 billable files and costs up to $2.25.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 27 minutes for your next included review. View limit details
Comment |
Reviewer's GuideThis PR expands CI coverage for moving search-index publication into a protected-branch pull request: it validates the workflow’s FRAMERS_BUMP_TOKEN-based creation, artifact and change-ordering behavior, and ensures the landing-label automation independently follows both the dependency-bump and index pull requests. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
…codex-index with FRAMERS_BUMP_TOKEN instead of pushing the index to master, which master's required checks refuse; it publishes from master only, one run at a time, leaves the pull request to the run of a later change to the index's inputs, and archives and downloads with upload-artifact v7 and download-artifact v8; the landing label follows that pull request's Test Suite and rename-guard as it follows the bump's
…ndex, the landing label follows that pull request's guards, master's protection is described, and the guides commit a manual re-index or a tutorial change on a branch and open a pull request, since master refuses a direct push
…uest starts from it and merges without a conflict after master took an earlier index pull request, and its ordering step reads the run's commit by its id and fails, deciding nothing, when it cannot
…st carries the index alone and merges without a conflict after master took an earlier index pull request; its ordering step reads the run's commit by its id, and a comparison that cannot be made fails the step instead of skipping the publish
… comparison that cannot be made fails the step
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
PR Summary by QodoPublish the search index through a PR to protected master
AI Description
Diagram
High-Level Assessment
Files changed (9)
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c37deae641
ℹ️ 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".
Code Review by Qodo
1. An older index pull request can merge
|
…efault keeps one and lets an older commit's run that begins waiting later cancel the newer commit's, and with every run kept only the run of the commit whose inputs master's head holds publishes, whatever order the runs take their turns in
… an older commit's run that begins waiting later no longer cancels the newer commit's publish, and each run decides when its turn comes
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
After the merge: merged at 08:22:33 UTC as 54c66d9 under master's protection, the five required checks green on 254f551.
|
master is protected since 21 October: Unit Tests, Vocabulary & NLP Tests, Cache Tests, Integration Tests and guard must pass, administrators included. That refuses the index publish. auto-index.yml's publish-artifacts job commits the four index files and runs
git pushto master withGITHUB_TOKEN, as github-actions[bot] (the last one is d19e45b, 04:01 UTC on 21 October, from run 39541416722), and a commit made in a job has none of the required checks. GitHub's rule ("About protected branches", Require status checks before merging, https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging):So the next push to master that changes
weaves/,scripts/orschema/would end in a red publish job and no index. This moves the publish to a pull request, in the pattern of #7 for the weekly bump.The change
.github/workflows/auto-index.yml:ci/codex-index, withpeter-evans/create-pull-requestat the commit the bump pins (22a9089, v7.0.11), carryingcodex-index.json,codex-search.json,codex-report.jsonandcodex-blocks.json. No step runsgit pushorgit commit.ref: master), whichever commit the run built. create-pull-request starts the pull request from the branch checked out (src/create-or-update-branch.tsat v7.0.11), so the pull request carries the index alone and merges without a conflict even after master took an earlier index pull request; from the run's own commit, both sides would have changed the index files since their merge base.FRAMERS_BUMP_TOKEN, so the pull request's own events start Test Suite and rename-guard. Opened withGITHUB_TOKEN, itspull_requestruns would wait for an approval with no job, and its required checks would never report (ci: open the bump pull request with FRAMERS_BUMP_TOKEN so its Test Suite and rename-guard jobs run #7 quotes GitHub's rule).[skip ci]. GitHub skips thepull_requestworkflows of a pull request whose head commit carries it, and then "checks associated with that workflow will remain in a 'Pending' state. A pull request that requires those checks to be successful will be blocked from merging" ("Skipping workflow runs", https://docs.github.com/en/actions/how-tos/manage-workflow-runs/skip-workflow-runs).::error::annotation whenFRAMERS_BUMP_TOKENis empty. The workflow'sGITHUB_TOKENdrops tocontents: read(it had the repository default, write), and the publish job installs and runs none of the repository's code, since it holds a token that reaches past this repository.main, a branch this repository does not have), one run at a time:concurrencywithcancel-in-progress: false, so two runs never push the branch at once, andqueue: max, which keeps every waiting run in the order each began to wait. GitHub's default keeps one waiting run and replaces it with the next one that begins waiting, whichever commit is newer ("Control the concurrency of workflows and jobs", https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/control-workflow-concurrency).weaves,scripts,schemaand the workflow file, the paths whose change starts the workflow. When they differ, a later push changed them and its run publishes, so this run skips the download and the pull request instead of putting an older index on it. When they match, no later run publishes, so this one does. A comparison that cannot be made, a failed fetch or a failed diff, fails the step, and nothing is published.upload-artifact@v7anddownload-artifact@v8, as ci: upload-artifact v7 and download-artifact v8, the current majors, which run on Node.js 24 #12 moved the other workflows'..github/workflows/landing-follows-the-bump-checks.ymlfollowsci/codex-indexbesidechore/bump-framers-deps: itsworkflow_runbranches and its job'sifname both, and its script takes the branch from the run and returns at once for any other. The rest of the script is unchanged, so the index pull request gets thelandinglabel once its Test Suite and rename-guard pass on its head, and loses it as the bump's does. Its name becomes "Landing follows the bump and index checks".Docs:
.github/WORKFLOWS.mddescribes the index publish, the label workflow's second branch and master's protection;README.mdand the secret table name the index beside the bump forFRAMERS_BUMP_TOKEN;docs/DEVELOPMENT.md,docs/RECATALOG_GUIDE.mdanddocs/BLOCK_TAGGING_TUTORIAL.mdcommit a manual re-index or a tutorial change on a branch and open a pull request, since master refuses a direct push.Tests, first
tests/index-pull-request.test.js(new, 24 cases) reads auto-index.yml: nogit pushorgit commit; the pull request step's token, base, branch,delete-branch, no label input, and the commit the bump pins; the read-onlyGITHUB_TOKEN; the first step run withbash -ewith the secret empty and set; master only; the checkout of master's head; no skip marker in the commit message or the title;add-pathsequal to the files the build archives, each tracked here; one run at a time with every waiting run kept; and the ordering step, run in scratch repositories against master's head cloned at depth 1 as actions/checkout leaves it, after master changes a strand, a script, a schema or the workflow (it leaves the pull request), or only the README, or takes an index pull request, or changes a strand and changes it back (it publishes), and with a run commit the remote does not have (it fails, writing no decision). It also runs the step for three runs, the first commit, an older change and a newer one, in three turn orders: only the newer change's run publishes in each.tests/bump-framers-deps.test.jsreads the label workflow's second branch from auto-index.yml and runs its script for the index branch: both guards passed, one failed, the bump branch's runs on the same commit, and a run from another branch, which makes no API call.queue: max; on 254f551, run 39567352802 passed all 303.After the merge
The merge changes
.github/workflows/auto-index.yml, so it starts the workflow on master. When the built index differs from master's, the publish job opens the first pull request fromci/codex-index, its Test Suite and rename-guard run, and the label workflow labels it. That run, the pull request and its label go in a comment here.Reviews
queue: max, test first in aeceb70; answered in its thread and resolved. Its review of the head, 254f551, requested by comment: "Didn't find any major issues."Risks
🤖 Generated with Claude Code