Files
KomhandClaude Opus 5 552b8686d7 feat(release-dispatch): merge the push-mode update PR automatically (#337)
An upstream release ping opened a PR and stopped there, waiting for a
maintainer, while the daily sweep merged the identical pins unattended at
06:17 UTC. That gap is what upstreams see: zbcoding dropped the Notify
FlatPark step from ImpastoPaint's release job because "each ping opens an
update PR that only their side can merge, and nothing about their setup
suggests those merges are automatic".

Merge it here on the daily sweep's terms, with two things the sweep cannot
be as strict about:

- the diff must be exactly the pinged app's <id>.yml / <id>.metainfo.xml,
  since push mode knows which app it asked for (the sweep can only require
  "some app's manifest or metainfo");
- the payload was already unpacked with the app's own apply_extra.sh two
  steps up, before the PR was opened at all.

Also install appstreamcli: update-pins validates upstream's release notes
before writing a <release> into the metainfo, but silently skips that when
the validator is missing, and this job now merges those notes unattended.

Same AUTO_MERGE_PINS kill switch as the sweep rather than a second variable,
the same post-merge publish dispatch (a GITHUB_TOKEN push triggers no
workflow), and the same cleanup of the orphaned pr-checks run left behind by
--delete-branch.

No per-app opt-in: the sweep already merges every app's pins unattended, so
gating push mode per app would only delay the same bytes by a day.

Co-authored-by: Claude Opus 5 <[email protected]>
2026-09-10 22:58:53 +08:00
..