-
Notifications
You must be signed in to change notification settings - Fork 994
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
Conversation
|
||
- `hammer-web` package. | ||
- `hammer-api` package. | ||
For all changelog information since v7.0.0, see [GitHub Releases](https://github.com/redwoodjs/redwood/releases). |
There was a problem hiding this comment.
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"?
FWIW, Danger was created for exactly this problem - you could drop a tonne of these individual checks by switching |
@orta This? https://danger.systems/js/ I've never heard of it before... 🙂 |
Thanks @orta I'll take a look! |
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) |
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!
* '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)
…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) ...
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.
If a user doesn't update the changelog:
Failing run: https://github.com/redwoodjs/redwood/actions/runs/7850731400/job/21426621517?pr=9989
Failing check:
Instructions in the check:
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!