Repository navigation
fix(ci): keep catalog updates from releases that land together - #15
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Silo Kody — review completeReview finished. Check the inline comments for findings and verify each suggestion against the code and tests. Reviewing changes in Silo
Review settingsReview OptionsThe following review options are enabled or disabled:
|
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 48 minutes. View limit detailsLimit details: You’ve used the included review currently available. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f4aa5c0d18
ℹ️ 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".
| # the push loop below resolves their races. | ||
| concurrency: | ||
| group: plugin-catalog-update | ||
| group: plugin-catalog-update-${{ inputs.repo || github.event.client_payload.repo }} |
There was a problem hiding this comment.
Coordinate the legacy updater with the new groups
When the manual Update Manifest workflow overlaps a repository dispatch, this new per-repository group no longer matches .github/workflows/update-manifest.yml's unchanged plugin-catalog-update group. Those workflows can now edit and push manifest.json concurrently, but the legacy workflow still uses a single git pull --rebase origin main at lines 54–67 rather than this retry loop; if the dispatch pushes first—especially when both update the same or adjacent entry—the rebase can conflict and the requested manual update fails. Put the legacy updater under the same coordination/retry strategy before allowing these groups to run independently.
Useful? React with 👍 / 👎.
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. |
Problem
Related issue: N/A
Validation tasks: none
When several plugins release at about the same time, the catalog keeps only some of them. The Trakt, Simkl, and MDBList v0.2.0 releases fired three
plugin_release_publisheddispatches within a minute, and only Trakt reachedmanifest.json:repository_dispatchrun checks outmainas it was when the release fired. MDBList's run started after Trakt's had pushed, edited the stalemanifest.json, and then failedgit pull --rebasewith a conflict on the neighboring Trakt entry.Approach
main, rebuilds the entry withcmd/update-catalog, commits, and pushes. A rejected push retries on the newmain(up to five attempts) instead of rebasing a conflicting edit. An unchanged catalog still exits without a commit.Validation
silo-plugin-watchprovider-mdblistand-simklv0.2.0 releases. The Simkl run lost the first push, retried on top of the MDBList commit, and succeeded. The resulting catalog lists Floppy, MDBList, Simkl, and Trakt.Risks
Low. Ingestion still runs the same
cmd/update-catalog. The legacyupdate-manifest.ymlkeeps its own shared group.Checklist
AI Disclosure
🤖 Generated with Claude Code
Note
Fix catalog-update workflow to handle releases landing together
Macroscope summarized f4aa5c0.