Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(ci): add changelog check to ci #9989

Merged
merged 2 commits into from
Feb 16, 2024
Merged

Conversation

jtoar
Copy link
Contributor

@jtoar jtoar commented Feb 9, 2024

This PR is a spike on improving the Changelog in our release process. It adds a workflow to our CI that checks to see if a PR updated the CHANGELOG.md file.

In pairing on release, the hardest part is the release notes. If release is going to be more approachable and sustainable, we need to spread the burden of writing release notes, and the best person to write the release notes for a particular PR is the person who wrote it or the person who reviewed it. And the best time to do it is before it's merged! (Not weeks or months after.)

I like reading esbuild's release notes and tried to find out how Evan Wallace writes them. It seems like he just adds a bullet point to the CHANGELOG.md file as the last commit before merging a PR he writes or reviews. I'm not sure if it gets much simpler than that, so I thought we could start there.

Some feedback I'm anticipating is: those instructions are hard to find, this check should comment in the PR. Agree that if you don't know where to look, you won't find them. But commenting in the PR complicates the logic and get noisy fast (we've disabled every bot that comments in threads). One more point: I think updating the Changelog should be on the burden of maintainers, so as long as we know the process it should work out. But happy for any feedback or ideas!

@jtoar jtoar added the release:chore This PR is a chore (means nothing for users) label Feb 9, 2024
@jtoar jtoar added this to the chore milestone Feb 9, 2024
@jtoar jtoar requested a review from Tobbe February 9, 2024 23:21

- `hammer-web` package.
- `hammer-api` package.
For all changelog information since v7.0.0, see [GitHub Releases](https://github.com/redwoodjs/redwood/releases).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should it say "since" or "up until"?

@orta
Copy link
Contributor

orta commented Feb 10, 2024

FWIW, Danger was created for exactly this problem - you could drop a tonne of these individual checks by switching

@Tobbe
Copy link
Member

Tobbe commented Feb 11, 2024

@orta This? https://danger.systems/js/ I've never heard of it before... 🙂

@jtoar
Copy link
Contributor Author

jtoar commented Feb 13, 2024

Thanks @orta I'll take a look!

@jtoar
Copy link
Contributor Author

jtoar commented Feb 16, 2024

I've started looking into danger a bit; think we could use it in place of our detect changes action but need to be sure by testing on my fork. Also need to figure out the OSS token situation and if we can still use it without posting on PRs, or maybe we want to try that out again. Anyway, seeing this as a refactor in the future (maybe next week when I'm working on release tooling)

@jtoar jtoar merged commit 43182f1 into main Feb 16, 2024
41 checks passed
@jtoar jtoar deleted the ds-release/add-changelog-check branch February 16, 2024 23:21
jtoar added a commit that referenced this pull request Feb 17, 2024
…hangelog (#10026)

Follow up to #9989. Adds links
to Redwood's previous releases' release notes and upgrade guides.
jtoar added a commit that referenced this pull request Feb 17, 2024
This PR is a spike on improving the Changelog in our release process. It
adds a workflow to our CI that checks to see if a PR updated the
CHANGELOG.md file.

In pairing on release, the hardest part is the release notes. If release
is going to be more approachable and sustainable, we need to spread the
burden of writing release notes, and the best person to write the
release notes for a particular PR is the person who wrote it or the
person who reviewed it. And the best time to do it is before it's
merged! (Not weeks or months after.)

I like reading [esbuild's release
notes](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) and
tried to find out how Evan Wallace writes them. It seems like he just
adds a bullet point to the CHANGELOG.md file as the last commit before
merging a PR he writes or reviews. I'm not sure if it gets much simpler
than that, so I thought we could start there.

- If a user doesn't update the changelog:

Failing run:
https://github.com/redwoodjs/redwood/actions/runs/7850731400/job/21426621517?pr=9989

  Failing check:

<img width="675" alt="image"
src="https://github.com/redwoodjs/redwood/assets/32992335/97a1773f-317e-4c11-9ec1-2a73c3c40d96">

  Instructions in the check:

<img width="1532" alt="image"
src="https://github.com/redwoodjs/redwood/assets/32992335/21ec9ecf-263f-46dc-9632-00f1ff8cc084">

Some feedback I'm anticipating is: those instructions are hard to find,
this check should comment in the PR. Agree that if you don't know where
to look, you won't find them. But commenting in the PR complicates the
logic and get noisy fast (we've disabled every bot that comments in
threads). One more point: I think updating the Changelog should be on
the burden of maintainers, so as long as we know the process it should
work out. But happy for any feedback or ideas!
jtoar added a commit that referenced this pull request Feb 17, 2024
…hangelog (#10026)

Follow up to #9989. Adds links
to Redwood's previous releases' release notes and upgrade guides.
dac09 added a commit to dac09/redwood that referenced this pull request Feb 19, 2024
* 'main' of github.com:redwoodjs/redwood:
  RSC: Add MultiCellPage to test fixture (redwoodjs#10029)
  RSC chore(tests): Add links to scaffolds in test fixture (redwoodjs#10028)
  docs(metadata): Fix spelling/typos (redwoodjs#10027)
  chore(release): link to previous releases and upgrade guides in the changelog (redwoodjs#10026)
  chore(ci): add changelog check to ci (redwoodjs#9989)
  fix(realtime): update logic for including sseLink (redwoodjs#10025)
  chore(k6 tests): update entry point (redwoodjs#10024)
  feat(server): add docs on the server file (redwoodjs#10019)
  fix(types): Fix TS type in createServer.test.ts (redwoodjs#10023)
dac09 added a commit to dac09/redwood that referenced this pull request Feb 20, 2024
…sc-build

* 'feat/rsc-build' of github.com:dac09/redwood: (119 commits)
  chore(deps): update dependency @playwright/test to v1.41.2 (redwoodjs#10040)
  chore(crwa): update version in e2e test (redwoodjs#10037)
  chore(ci): update yarn.lock for changelog action (redwoodjs#10039)
  chore: bump TSTyche (redwoodjs#10036)
  chore(changelog): add v7 (redwoodjs#10038)
  v7.0.0
  Version docs to 7.0
  chore(docs): align v6 docs with the next branch (redwoodjs#10034)
  chore(docs): align v6 docs with the next branch (redwoodjs#10034)
  fix(server): prefix port/host with api, fix logging (redwoodjs#10035)
  fix(server): prefix port/host with api, fix logging (redwoodjs#10035)
  docs: Removes warning within Mailer documentation about Studio being experimental (redwoodjs#10033)
  docs: Within describeScenario documentation, change optimisation to use American English (redwoodjs#10032)
  docs(metadata): Fix spelling/typos (redwoodjs#10027)
  chore(release): link to previous releases and upgrade guides in the changelog (redwoodjs#10026)
  chore(ci): add changelog check to ci (redwoodjs#9989)
  fix(realtime): update logic for including sseLink (redwoodjs#10025)
  chore(k6 tests): update entry point (redwoodjs#10024)
  feat(server): add docs on the server file (redwoodjs#10019)
  fix(types): Fix TS type in createServer.test.ts (redwoodjs#10023)
  ...
@Josh-Walker-GM Josh-Walker-GM modified the milestones: chore, v8.0.0 Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release:chore This PR is a chore (means nothing for users)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants