Summary
The GitHub Release page for a component release credits the wrong people. On operator/v0.19.0 the auto-generated Contributors footer listed exactly one avatar, @dependabot, for a release whose work came from @ayuskauskas, @lockwobr, @natherz97 and @mohityadav8. cli/v0.4.0 shows no contributors at all and chart/v0.19.0 shows one.
Two separate causes
1. GitHub's own Contributors footer is unusable in a multi-component repo.
GitHub computes that footer by diffing the tag against the previous release in publish order. For operator/v0.19.0 (99f9f002) the previous published release is chart/v0.18.0 (997cac6c), which is a different component's tag and is not an ancestor:
$ git merge-base --is-ancestor chart/v0.18.0 operator/v0.19.0 ; echo $?
1
Because the release branches diverge, the commit set GitHub derives is not the set the release actually contains, and the resulting avatar list is arbitrary. This footer is not configurable, so the only fix is to publish our own list in the notes body.
2. cliff.toml never emits a contributors roll-up.
#552 added per-bullet by [@user] in [#N] attribution, which works. But there is no aggregate section. operator/v0.18.0's notes did carry one:
### Contributors
Thanks to everyone whose work landed in this release:
- @lockwobr
- @ayuskauskas
...
Nothing in the repo generates that. git log -S "Thanks to everyone whose work landed" returns no commits, so it was pasted in by hand at v0.18.0 and quietly disappeared at v0.19.0 when the notes became fully generated.
Proposed fix
Render the section from git-cliff's remote.contributors in the cliff.toml body template. That variable, like the commit.remote.* clauses already there, is only populated on online runs, so it collapses to nothing under --offline and the committed CHANGELOG.md files stay byte-identical: the same "one template, two renderings" contract #552 established.
Things to settle while implementing:
remote.contributors is populated from PR-matched commits, so direct pushes and cherry-picks (e.g. chore(operator): changelog for v0.19) contribute no entry. Decide whether to accept the gap or fall back to commit authors.
- Co-authors:
operator/v0.18.0 credited them per bullet (by @mohityadav8, @lockwobr); git-cliff's remote data does not carry Co-authored-by trailers. Decide whether co-authors belong in the roll-up.
- Exclude bots (
dependabot[bot], github-actions[bot]) from the roll-up, matching what v0.18.0 did, since they are already named on every bullet they authored.
- Applies to
release.yml and cli-release.yaml alike; verify against operator, cli, chart and agent renderings.
Workaround applied
operator/v0.19.0's release body has been hand-edited to append the correct Contributors section. cli/v0.4.0 and chart/v0.19.0 have not been touched.
Summary
The GitHub Release page for a component release credits the wrong people. On operator/v0.19.0 the auto-generated Contributors footer listed exactly one avatar,
@dependabot, for a release whose work came from@ayuskauskas,@lockwobr,@natherz97and@mohityadav8.cli/v0.4.0shows no contributors at all andchart/v0.19.0shows one.Two separate causes
1. GitHub's own Contributors footer is unusable in a multi-component repo.
GitHub computes that footer by diffing the tag against the previous release in publish order. For
operator/v0.19.0(99f9f002) the previous published release ischart/v0.18.0(997cac6c), which is a different component's tag and is not an ancestor:Because the release branches diverge, the commit set GitHub derives is not the set the release actually contains, and the resulting avatar list is arbitrary. This footer is not configurable, so the only fix is to publish our own list in the notes body.
2.
cliff.tomlnever emits a contributors roll-up.#552 added per-bullet
by [@user] in [#N]attribution, which works. But there is no aggregate section.operator/v0.18.0's notes did carry one:Nothing in the repo generates that.
git log -S "Thanks to everyone whose work landed"returns no commits, so it was pasted in by hand at v0.18.0 and quietly disappeared at v0.19.0 when the notes became fully generated.Proposed fix
Render the section from git-cliff's
remote.contributorsin thecliff.tomlbodytemplate. That variable, like thecommit.remote.*clauses already there, is only populated on online runs, so it collapses to nothing under--offlineand the committedCHANGELOG.mdfiles stay byte-identical: the same "one template, two renderings" contract #552 established.Things to settle while implementing:
remote.contributorsis populated from PR-matched commits, so direct pushes and cherry-picks (e.g.chore(operator): changelog for v0.19) contribute no entry. Decide whether to accept the gap or fall back to commit authors.operator/v0.18.0credited them per bullet (by @mohityadav8, @lockwobr); git-cliff's remote data does not carryCo-authored-bytrailers. Decide whether co-authors belong in the roll-up.dependabot[bot],github-actions[bot]) from the roll-up, matching what v0.18.0 did, since they are already named on every bullet they authored.release.ymlandcli-release.yamlalike; verify againstoperator,cli,chartandagentrenderings.Workaround applied
operator/v0.19.0's release body has been hand-edited to append the correct Contributors section.cli/v0.4.0andchart/v0.19.0have not been touched.