Skip to content

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

Merged
merged 5 commits into from
Jun 25, 2025
Merged

Repo housekeeping updates #13880

merged 5 commits into from
Jun 25, 2025

Conversation

brophdawg11
Copy link
Contributor

Updates to align with our new governance model

Copy link

changeset-bot bot commented Jun 24, 2025

⚠️ No Changeset found

Latest commit: 54718fa

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Comment on lines 11 to 14
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.
Copy link
Contributor Author

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

Comment on lines -31 to +25
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
Copy link
Contributor Author

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

Copy link
Contributor

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

Comment on lines -41 to -50
- 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
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link
Contributor Author

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.
Copy link
Contributor Author

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

Comment on lines 24 to 31
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)
);
});
Copy link
Contributor Author

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.

run();

async function run() {
let issuesCmd = `gh issue list --search "is:issue state:open label:bug" --limit 250 --json number,body`;
Copy link
Contributor Author

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

Comment on lines 40 to 43
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);
Copy link
Contributor Author

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

Comment on lines 45 to 46
let closeCmd = `gh issue close ${issue.number} -r "not planned"`;
runCmdIfTokenExists(closeCmd);
Copy link
Contributor Author

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 🙂.
Copy link
Member

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.

Copy link
Contributor Author

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 🤖

@brophdawg11 brophdawg11 merged commit de0bf83 into main Jun 25, 2025
5 checks passed
@brophdawg11 brophdawg11 deleted the brophdawg11/sc-script branch June 25, 2025 18:54
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.

3 participants