-
-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Repo housekeeping updates #13880
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
Repo housekeeping updates #13880
Conversation
|
Please note that **all** bugs must have a **minimal** reproduction, meaning | ||
that it is not just pointing to a deployed site or a branch in your existing | ||
application. Please refer to the [Bug/Issue Process Guidelines](https://github.com/remix-run/react-router/blob/main/GOVERNANCE.md#bugissue-process) | ||
for more information. |
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.
Slimmed this down a bit and linked off to the more-detailed version
3. Follow the instructions and submit a pull request with a failing bug report test! | ||
## Option 2: Continue filling out this form | ||
3. Follow the instructions to create a failing bug report test | ||
4. Link to your forked branch with the failing test in this issue |
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.
I changed this to result in an issue being filed instead of a PR. The issue can point to the fork with the failing e2e test, and then we as maintainers can easily check out the fork and run the failing test and work on a fix. But having a PR with a bug report test always felt a bit odd to me:
- The PR isn't actually fixing anything or adding functionality
- The Issue isn't actually tracked anywhere as a bug
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.
Makes sense to me! Thanks for reconsidering what had been written for a while at this point
- type: dropdown | ||
id: mode | ||
attributes: | ||
label: I'm using React Router as a... | ||
description: See https://reactrouter.com/home for explanation | ||
options: | ||
- library | ||
- framework | ||
validations: | ||
required: true |
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.
The vast majority of users never seemed to change this anyway so I got rid of it? With a reproduction it'll be easy enough for us to see which mode they're in I think.
run: pnpm install --frozen-lockfile | ||
|
||
- name: 🚪 Close Issues | ||
run: node --experimental-strip-types ./scripts/close-without-repro.ts --dryRun |
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.
Github action we can trigger manually to run the script
@@ -139,5 +139,3 @@ To get a feature accepted and implemented in React Router, it will go through th | |||
|
|||
- A proposal enters **Stage 5 — Stable** once it receives **Stage 4 — Stabilization** PR approvals from at least 50% of the SC members and is merged to `dev` | |||
- This will include the stable feature in `nightly` releases and the next normal SemVer release | |||
|
|||
[mermaid]: https://mermaid.live/edit#pako:eNqVkm9r2zAQxr_KcTDYwAn-E8eOGYXGScdeFEYzGLQuQ4nPjsCWjCx3beN89yn2rJKX06tDd8_vnpPuhAeZEyZYVPLP4ciUhp-bTIA5t0_fc2LPMJvd9L8U1wQ_lGxky6oe1k8Z7jQrCdyve3Xzecp8yfB5VK8H3XQPrGmUfDFBoWQNPuxSuKd6T6rtIbUwD2aQStHynBTTXAqLS0fcA_C6qagmobkogbXQiVazfUW_e9hYjm84t1VzZFa_mfTXRpiGilirIXQ_gSyubG0tLjC4NekP2naiKarly8WJtQGNooK_9nBn5QsjN9GeV_z9eqq7_3f1zWLDf9iKDA8drEnVjOfmL08Xeob6aB4qw8SEORWsq3SGmTib0q7JmaZtzrVUmBSsaslB1mm5exMHTLTqaCracFYqVtuqhglMTviKySqYh4toFUfxIo6DyPUdfMPEW0ZzNwjNvb9wYz8Ko7OD71IagjuPo1UQL1dLb7F0PS8IB9zjkBx70mDpflzJYTMdVLIrj7Z_qS4jjtWKhFmUVHZCYxKe_wLxVeMU |
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.
unused
@@ -0,0 +1,9 @@ | |||
To align with our new [Open Governance](https://remix.run/blog/rr-governance) model, we are now requiring that all issues have a [minimal reproduction](https://github.com/remix-run/react-router/blob/main/GOVERNANCE.md#bugissue-process). To that end, we're doing some housekeeping in the repo to clean up existing issues that do not have a reproduction. This should get us down to a more manageable number of issues and allow us to be more responsive to existing and newly filed issues. |
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.
This is the comment that our github bot will post on issued when it closes them because they're missing a reproduction
scripts/close-without-repro.ts
Outdated
let noReproIssues = issues.filter(({ body }) => { | ||
return ( | ||
!/https?:\/\/stackblitz\.com\//.test(body) && | ||
!/https?:\/\/codesandbox\.io\//.test(body) && | ||
// Look for github links excluding user-uploaded screenshots | ||
!/https?:\/\/github\.com\/(?!user-attachments)/.test(body) | ||
); | ||
}); |
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.
Decently reliable check for "having a reproduction" as those issues which contain a stackblitz/codesandbox/github repo link in the issue body.
scripts/close-without-repro.ts
Outdated
run(); | ||
|
||
async function run() { | ||
let issuesCmd = `gh issue list --search "is:issue state:open label:bug" --limit 250 --json number,body`; |
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.
Only look at issues with the bug
label
scripts/close-without-repro.ts
Outdated
let commentCmd = `gh issue comment ${issue.number} -F ./scripts/close-without-repro-comment.md`; | ||
let commentResult = runCmdIfTokenExists(commentCmd); | ||
console.log(`Commented on issue #${issue.number}: ${commentResult}`); | ||
await sleep(250); |
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.
Comment on the issue with the contents of our markdown file
scripts/close-without-repro.ts
Outdated
let closeCmd = `gh issue close ${issue.number} -r "not planned"`; | ||
runCmdIfTokenExists(closeCmd); |
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.
Close the issue as not planned
@@ -0,0 +1,9 @@ | |||
To align with our new [Open Governance](https://remix.run/blog/rr-governance) model, we are now requiring that all issues have a [minimal reproduction](https://github.com/remix-run/react-router/blob/main/GOVERNANCE.md#bugissue-process). To that end, we're doing some housekeeping in the repo to clean up existing issues that do not have a reproduction. This should get us down to a more manageable number of issues and allow us to be more responsive to existing and newly filed issues. | |||
|
|||
We're using a Github actions script to identify issues without a reproduction by looking for a [StackBlitz](https://stackblitz.com/), [CodeSandbox](https://codesandbox.io/), or [Github](https://github.com) link in the issue body. This won't be perfect, so if this issue has a reproduction on another platform, please comment back on here and we can re-open the issue. Similarly, if there's a reproduction buried in a comment, please move the link into the description and comment back. Please tag `@brophdawg11` or `@brookslybrand` in your comment so we get a notification as well 🙂. |
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.
I really like how you spell out the logic here and admit that it might not be perfect.
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.
beep boop bot make mistake sometimes 🤖
Updates to align with our new governance model