Repository navigation
ci(sync): assign the sync pull request only when it is worth reading - #18
Merged
Merged
Conversation
The pull request carried an assignee on every run, so the notification said nothing: most runs move only `updatedAt`, `stars` or the version and URLs inside `downloads`, and each of those follows a commit, a click or a release without changing what the page shows. A second comparison now strips those out as well, and only what is left over draws an assignee. The platform/format pairs stay in it on purpose, because the build fails only when no asset at all matches the platform table: one installer missing from a release would otherwise take a download button off the page unseen.
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.
Summary
The sync pull request carried an assignee on every run, so the notification said nothing. Most runs
move only
updatedAt,starsor the version and URLs insidedownloads, and each of those followsa commit somewhere, someone's click or a release, without changing anything the page shows.
The workflow now runs a second comparison against
mainwith those self-moving facts stripped outas well, and only what is left over draws an assignee: a licence, the archived flag, a platform that
dropped out of
downloads, and every editorial change, whose parsed shape is visible nowhere else.The platform/format pairs deliberately stay in that comparison, because
build.tsfails only whenno asset matches the platform table — one installer quietly missing from a release would otherwise
take a download button off the page unseen.
Auto-merge is unchanged and stays on in both cases: what an assignee is asked is "is this right?",
not "should this land?", and the answer to a wrong entry is a commit under
projects/, never a heldpull request — which the next run would re-point out from under the reader anyway.
The pull request is now created unassigned and assigned afterwards via
gh pr edit --add-assignee,so one an earlier run opened unassigned still picks one up once a later run finds something worth
reading. Nothing ever unassigns it again.
Verified against the current
projects.jsonacross ten scenarios: build date only (no PR), theupdatedAt-only case that prompted this (#17), a stars bump and a full release bump with newversion, URLs and sizes all stay unassigned; a licence change, the archived flag, a dropped
installer, edited prose, a removed project and a changed technology list each draw one.
Type of change
Checklist
Related issues
Note that the sync runs stay red until auto-merge is actually permitted on this repository
(
allow_auto_mergeisfalse); that is tracked separately in the infrastructure repo as INF-69.