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: add reproduction route #13

Merged
merged 2 commits into from
Mar 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/reproduire/needs-reproduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Please provide a [reproduction](https://bits-ui.com/repro).

<details>
<summary>More info</summary>

### Why do I need to provide a reproduction?

This project is maintained by a very small team, and we simply don't have the bandwidth to investigate issues that we can't easily replicate. Reproductions enable us to fix issues faster and more efficiently. If you care about getting your issue resolved, providing a reproduction is the best way to do that.

### I've provided a reproduction - what happens now?

Once a reproduction is provided, we'll remove the `needs reproduction` label and review the issue to determine how to resolve it. If we can confirm it's a bug, we'll label it as such and prioritize it based on its severity.

If `needs reproduction` labeled issues don't receive any activity (e.g., a comment with a reproduction link), they'll be closed. Feel free to comment with a reproduction at any time and the issue will be reopened.

### How can I create a reproduction?

You can use [this template](https://bits-ui.com/repro) to create a minimal reproduction. You can also link to a GitHub repository with the reproduction.

Please ensure that the reproduction is as **minimal** as possible. If there is a ton of custom logic in your reproduction, it is difficult to determine if the issue is with your code or with the library. The more minimal the reproduction, the more likely it is that we'll be able to assist.

You might also find these other articles interesting and/or helpful:

- [The Importance of Reproductions](https://antfu.me/posts/why-reproductions-are-required)
- [How to Generate a Minimal, Complete, and Verifiable Example](https://stackoverflow.com/help/mcve)

</details>
23 changes: 23 additions & 0 deletions .github/workflows/reproduire-close.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Close incomplete issues
on:
workflow_dispatch:
schedule:
- cron: "30 1 * * *" # run every day

permissions:
issues: write

jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
with:
days-before-stale: -1 # Issues and PR will never be flagged stale automatically.
stale-issue-label: "needs reproduction" # Label that flags an issue as stale.
only-labels: "needs reproduction" # Only process these issues
days-before-issue-close: 7
ignore-updates: true
remove-stale-when-updated: false
close-issue-message: This issue was closed because it was open for 7 days without a reproduction.
close-issue-label: closed-by-bot
16 changes: 16 additions & 0 deletions .github/workflows/reproduire.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Reproduire
on:
issues:
types: [labeled]

permissions:
issues: write

jobs:
reproduire:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: Hebilicious/reproduire@4b686ae9cbb72dad60f001d278b6e3b2ce40a9ac # v0.0.9-mp
with:
label: needs reproduction
6 changes: 6 additions & 0 deletions sites/docs/src/routes/repro/+page.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { redirect } from "@sveltejs/kit";
import type { PageLoad } from "./$types";

export const load: PageLoad = async () => {
redirect(302, "https://stackblitz.com/github/svecosystem/paneforge-reproduction");
};
Loading