Skip to content

Release notes carry no contributors list, and GitHub's auto footer credits the wrong people #562

Description

@lockwobr

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/agentSkyhook agent (package executor)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions