Skip to content

feat(changelog): ✨ link each entry to its PR - #6

Merged
robertodr merged 1 commit into
mainfrom
feat/changelog-pr-links
Oct 28, 2026
Merged

robertodr merged 1 commit into
mainfrom
feat/changelog-pr-links

Conversation

@robertodr

Copy link
Copy Markdown
Member

🤖 AI text below 🤖

Summary

In the release notes of AEGISS v0.1.0, the PR numbers ((#46), …) are not clickable on the release page, and GitHub never autolinks #N in files such as CHANGELOG.md. This PR makes cliff.toml write each entry's PR number as an absolute link:

- **io:** Crash on NaN input ([#13](https://github.com/Algorithmiq/AEGISS/pull/13))
  • Which repository: it comes from GITHUB_REPOSITORY, which GitHub Actions sets to the calling repository, including inside the reusable release workflow and the release-notes action. Consumers change nothing.
  • What becomes a link: only the (#N) that squash-merging appends to the title. A #3 elsewhere in a title stays as written, and commits without a PR number are unchanged.
  • Without GITHUB_REPOSITORY: the number stays plain. The just changelog recipes (the stubs, both variants, and this repository's own) set the variable from the origin remote, so local previews match the release PR.
  • Tests:
    • two new tests in tests/test_cliff.py: with the variable set, and without it;
    • an autouse fixture in conftest.py unsets the variable, because Actions also sets it while running the tests. Three existing tests compare notes and failed when I ran the suite with it set.
  • README: one paragraph about the links.

This changes the changelog format and needs no action from consumers, which the README's versioning rules class as a minor release (v1.1.0). After the release, AEGISS's existing 0.1.0 section in CHANGELOG.md and its release notes can be regenerated with links. The bot only prepends new sections.

Checklist

  • just lint and just test pass (also with GITHUB_REPOSITORY set, as in CI)
  • README.md updated if the stubs, inputs or setup changed
  • Breaking change or deprecation: the Migration section says what consumers must change (not applicable)

The `(#N)` that squash-merging appends to a PR title becomes an absolute
link to the PR, for the repository in GITHUB_REPOSITORY, which GitHub
Actions sets to the calling repository. GitHub doesn't autolink `#N` in
CHANGELOG.md, and the v0.1.0 release notes of AEGISS showed it doesn't do
so reliably on the release page either. Without GITHUB_REPOSITORY the
number stays plain; the consumer `just changelog` recipes set it from the
origin remote. The tests unset it, since Actions also sets it for them.

Assisted-by: Pi:claude-opus-5-5
@robertodr
robertodr merged commit 3e983fd into main Oct 28, 2026
4 checks passed
@robertodr
robertodr deleted the feat/changelog-pr-links branch October 28, 2026 18:47
robertodr pushed a commit that referenced this pull request Oct 28, 2026
Merging this PR releases **v1.1.0**.

It is updated automatically whenever a change lands on `release/1.1`.
Wording fixes to `CHANGELOG.md` can be pushed to this PR, but make them
just before merging: the next update overwrites them.

---


## 1.1.0 (2026-10-28)

### Features

- **changelog:** Link each entry to its PR
([#6](#6))

### Documentation

- **readme:** Describe the release process here instead of the internal
guide ([#4](#4))
- **examples:** Remove the AEGISS migration example
([#5](#5))

Co-authored-by: algorithmiq-release-bot[bot] <349245065+algorithmiq-release-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant