From ec6208b68726a27f5a34b3df05c1e515c9af1c02 Mon Sep 17 00:00:00 2001 From: Hunter Johnston <64506580+huntabyte@users.noreply.github.com> Date: Sun, 25 Feb 2024 21:48:46 -0500 Subject: [PATCH] chore: add reproduire (#821) --- .github/ISSUE_TEMPLATE/3-bug_report.yml | 1 - .github/reproduire/needs-reproduction.md | 27 ++++++++++++++++++++++++ .github/workflows/reproduire-close.yml | 23 ++++++++++++++++++++ .github/workflows/reproduire.yml | 16 ++++++++++++++ 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 .github/reproduire/needs-reproduction.md create mode 100644 .github/workflows/reproduire-close.yml create mode 100644 .github/workflows/reproduire.yml diff --git a/.github/ISSUE_TEMPLATE/3-bug_report.yml b/.github/ISSUE_TEMPLATE/3-bug_report.yml index 9d3ba60e2..5734df24f 100644 --- a/.github/ISSUE_TEMPLATE/3-bug_report.yml +++ b/.github/ISSUE_TEMPLATE/3-bug_report.yml @@ -1,6 +1,5 @@ name: "Bug report" description: Report an issue with shadcn-svelte -labels: ["type: bug"] body: - type: markdown attributes: diff --git a/.github/reproduire/needs-reproduction.md b/.github/reproduire/needs-reproduction.md new file mode 100644 index 000000000..0891e9d7f --- /dev/null +++ b/.github/reproduire/needs-reproduction.md @@ -0,0 +1,27 @@ +Please provide a [reproduction](https://shadcn-svelte.com/repro). + +
+More info + +### 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://shadcn-svelte.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) + +
diff --git a/.github/workflows/reproduire-close.yml b/.github/workflows/reproduire-close.yml new file mode 100644 index 000000000..9c99678c6 --- /dev/null +++ b/.github/workflows/reproduire-close.yml @@ -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: "status: needs reproduction" # Label that flags an issue as stale. + only-labels: "status: 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 diff --git a/.github/workflows/reproduire.yml b/.github/workflows/reproduire.yml new file mode 100644 index 000000000..06ebea729 --- /dev/null +++ b/.github/workflows/reproduire.yml @@ -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: "status: needs reproduction"