Skip to content

Add a GitHub Actions workflow for checking changelog entries#15505

Open
Sudha247 wants to merge 2 commits into
ocaml:mainfrom
Sudha247:changelog-github-action
Open

Add a GitHub Actions workflow for checking changelog entries#15505
Sudha247 wants to merge 2 commits into
ocaml:mainfrom
Sudha247:changelog-github-action

Conversation

@Sudha247

@Sudha247 Sudha247 commented Jul 14, 2026

Copy link
Copy Markdown
Member

Description

This uses an existing action from
https://github.com/tarides/changelog-check-action. It checks for changes in the PATH (here: doc/changes). I'll add a no changelog label if this is okay, as recommended by the action.

Related Issue and Motivation

Fixes #15460

Checklist

  • Tests added, if applicable. (NA)
  • Change log entry added for any user-facing changes.
  • Documentation added for any user-facing changes. (NA)

@Sudha247

Copy link
Copy Markdown
Member Author

The job failed on this PR, which is a good sign: https://github.com/ocaml/dune/actions/runs/29338223110/job/87102844622.

@shonfeder

Copy link
Copy Markdown
Member

That is a good sign! Could you also try adding the bypass label to see if that also works as intended?

Comment thread .github/workflows/changelog.yml Outdated
Comment thread .github/workflows/changelog.yml Outdated
@rgrinberg

rgrinberg commented Jul 15, 2026

Copy link
Copy Markdown
Member

I'm back to working on ocaml-lsp where this check has been present for a while. I don't know how many missing change log entries it has caught (my guess is that not very many), but it's been very annoying when splitting work into multiple PR's. I don't want to block this if other people are benefitting from this. However. if other contributors don't find this valuable either, I think we'll get rid of it.

@shonfeder

shonfeder commented Jul 15, 2026

Copy link
Copy Markdown
Member

@rgrinberg a number of recent changes here have been missing log entries. Do you have any suggestions for a less annoying way of preventing that omission?

By my reckoning, taking a second to add a label to a PR to skip the check when needed probably saves time over all the back and forth of needing followup PRs and revisions to changelog and release notes, even if the latter only happens once a month. I reckon needing to fix a missing changelog can easily take 30 mins, which would pay for about 1800 instances of needing to skip a changelog check when it wasn't needed (assuming that takes about 1 second).

That said, I of course don't want to add friction to development that isn't worth the cost, so happy to consider better alternatives.

Here are some recent missing changelog entries requiring rework, from just the last few weeks:

Fixes ocaml#15460

This uses an existing action from
https://github.com/tarides/changelog-check-action. It checks for changes in the
PATH (here: `doc/changes`). I'll add a `no changelog`
label if this is okay, as recommended by the action.

Signed-off-by: Sudha Parimala <sudharg247@gmail.com>
@Sudha247
Sudha247 force-pushed the changelog-github-action branch from 5ecaf46 to 5093550 Compare July 15, 2026 08:59
Signed-off-by: Sudha Parimala <sudharg247@gmail.com>
@Sudha247
Sudha247 force-pushed the changelog-github-action branch from 5093550 to 9f1eac5 Compare July 15, 2026 11:53
@Alizter

Alizter commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

@Sudha247 Is it possible to have per-user opt-outs? I.e. a list of users for which this action should not run?

@Sudha247

Copy link
Copy Markdown
Member Author

I think it's technically possible, but I'm not in favour of doing it. It wouldn't set the right precedent for contributors - it might be confusing why the job runs on certain PRs and not on others, unless one looks into the GitHub Actions source files.

One alternative we could consider: for a set of users, we could apply the no changelog label by default, which they can remove if they'd like to add a changelog. @Alizter @rgrinberg, would this work for you?

@Alizter

Alizter commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

@Sudha247 I think making that the default kind of defeats the entire point. I think for all contributors except for rgrinberg, having this behaviour is a plus, due to the difference in the quantity of PRs. By having an opt-out list, which hopefully stays a singleton, we can satisfy both sides.

I'm not sure I understand your precedent point, could you elaborate further?

@Sudha247

Copy link
Copy Markdown
Member Author

To clarify: I suggested making no changelog the default only for rgrinberg (or a specific set of users), not for everyone. My main concern is transparency - if we're bypassing the changelog check for certain users, that should be visible in the PR itself, rather than hidden in the workflow files. Otherwise it's unclear to contributors why the job runs on some PRs and not others.

@Alizter

Alizter commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Adding "no changelog" automatically for only Rudi seems like a better suggestion than disabling workflows.

@rgrinberg

Copy link
Copy Markdown
Member

No need to special case me. I can change my own workflow to automatically fill this label if need be.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add a ci job to require a changelog entry

4 participants