Skip to content

ci(sync): assign the sync pull request only when it is worth reading - #18

Merged
TitusKirch merged 2 commits into
mainfrom
ci/sync-pr-assignee
Aug 25, 2026
Merged

TitusKirch merged 2 commits into
mainfrom
ci/sync-pr-assignee

Conversation

@TitusKirch

Copy link
Copy Markdown
Member

Summary

The sync 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 somewhere, someone's click or a release, without changing anything the page shows.

The workflow now runs a second comparison against main with those self-moving facts stripped out
as 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.ts fails only when
no 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 held
pull 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.json across ten scenarios: build date only (no PR), the
updatedAt-only case that prompted this (#17), a stars bump and a full release bump with new
version, 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

  • Bug fix
  • New feature
  • Breaking change
  • Documentation
  • Internal / chore

Checklist

  • The project's checks pass locally (lint / format / tests, as applicable)
  • Tests added or updated — or not applicable
  • Docs updated (README / inline help / comments) — or not applicable
  • Commits follow Conventional Commits

Related issues

Note that the sync runs stay red until auto-merge is actually permitted on this repository
(allow_auto_merge is false); that is tracked separately in the infrastructure repo as INF-69.

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.
@TitusKirch
TitusKirch merged commit 8dac1ff into main Aug 25, 2026
5 checks passed
@TitusKirch
TitusKirch deleted the ci/sync-pr-assignee branch October 12, 2026 01:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant