Problem
The template has no scaffold for the common case of a derived repo that wraps an upstream release and must react when that upstream publishes a new version. Two downstreams have independently converged on the same pattern:
homeassistant-purpleair check-ha-version.yml - resolves the upstream Home Assistant version, writes it into a committed state file (.github/ha-test-versions.json), and opens a rolling, App-authored, signed PR that merge-bot auto-merges.
ptr727/NxWitness - does the equivalent via daily codegen that updates Make/Version.json/Make/Matrix.json.
ptr727/ESPHome-NonRoot now mirrors the purpleair pattern (check-esphome-version.yml + .github/esphome-version.json) for the upstream ESPHome PyPI release.
Each repo reinvents the same shape (resolve upstream -> write committed state file -> rolling bump PR -> merge-bot -> next publish ships it). Nothing in the template documents or scaffolds it, so the next wrapper repo starts from scratch and may regress to a less-good approach (e.g. a direct gh workflow run build trigger, which ESPHome used before this migration).
Suggestion
Document the pattern in AGENTS.md (probably near "Branching Model"/"Release Model") and/or ship a parameterized check-upstream-version-task.yml skeleton: inputs for the resolver command + state-file path + bump-branch prefix, dual-target matrix when the version is shipped content (vs develop-only when it only drives CI), and the peter-evans/create-pull-request rolling-PR + merge-bot wiring. Also worth a note on the two-phase latency tradeoff (a merged bump ships on the next weekly publish, not immediately).
Surfaced while adopting the template in ptr727/ESPHome-NonRoot (see ptr727/ESPHome-NonRoot#61).
Problem
The template has no scaffold for the common case of a derived repo that wraps an upstream release and must react when that upstream publishes a new version. Two downstreams have independently converged on the same pattern:
homeassistant-purpleaircheck-ha-version.yml- resolves the upstream Home Assistant version, writes it into a committed state file (.github/ha-test-versions.json), and opens a rolling, App-authored, signed PR that merge-bot auto-merges.ptr727/NxWitness- does the equivalent via daily codegen that updatesMake/Version.json/Make/Matrix.json.ptr727/ESPHome-NonRootnow mirrors the purpleair pattern (check-esphome-version.yml+.github/esphome-version.json) for the upstream ESPHome PyPI release.Each repo reinvents the same shape (resolve upstream -> write committed state file -> rolling bump PR -> merge-bot -> next publish ships it). Nothing in the template documents or scaffolds it, so the next wrapper repo starts from scratch and may regress to a less-good approach (e.g. a direct
gh workflow runbuild trigger, which ESPHome used before this migration).Suggestion
Document the pattern in AGENTS.md (probably near "Branching Model"/"Release Model") and/or ship a parameterized
check-upstream-version-task.ymlskeleton: inputs for the resolver command + state-file path + bump-branch prefix, dual-target matrix when the version is shipped content (vs develop-only when it only drives CI), and thepeter-evans/create-pull-requestrolling-PR + merge-bot wiring. Also worth a note on the two-phase latency tradeoff (a merged bump ships on the next weekly publish, not immediately).Surfaced while adopting the template in
ptr727/ESPHome-NonRoot(see ptr727/ESPHome-NonRoot#61).