From a6252a239b8c38618d7b6ccd02cecee5a9883c4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Mon, 22 Apr 2024 13:11:28 +0200 Subject: [PATCH 1/6] chore: introduce `nissuer` --- .github/ISSUE_TEMPLATE/bug_report.yml | 50 +++++++++++++++++++ .../workflows/comments/good-first-issue.md | 12 +++++ .github/workflows/comments/invalid-link.md | 50 +++++++++++++++++++ .github/workflows/comments/resolved.md | 5 ++ .github/workflows/triage.yml | 34 +++++++++++++ 5 files changed, 151 insertions(+) create mode 100644 .github/workflows/comments/good-first-issue.md create mode 100644 .github/workflows/comments/invalid-link.md create mode 100644 .github/workflows/comments/resolved.md create mode 100644 .github/workflows/triage.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 90f09cc9f0d3..da3a00b94af3 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -14,6 +14,56 @@ body: description: A clear and concise description of what the bug is validations: required: true + - type: input + id: url + attributes: + label: Reproduction link + description: >- + Please provide a link to your reproduction. Accepted hosts are GitHub, CodeSandbox, and StackBlitz. Note, if the URL is invalid (eg.: 404, or a private repository), we may close the issue. + validations: + required: true + - type: dropdown + id: priority + attributes: + label: Which area(s) are affected? (Select all that apply) + multiple: true + options: + - 'Not sure' + - 'addon: a11y' + - 'addon: actions' + - 'addon: analytics' + - 'addon: backgrounds' + - 'addon: centered' + - 'addon: comments' + - 'addon: contexts' + - 'addon: controls' + - 'addon: cssresources' + - 'addon: design-assets' + - 'addon: docs' + - 'addon: essentials' + - 'addon: events' + - 'addon: graphql' + - 'addon: highlight' + - 'addon: info' + - 'addon: interactions' + - 'addon: jest' + - 'addon: knobs' + - 'addon: links' + - 'addon: measure' + - 'addon: notes' + - 'addon: onboarding' + - 'addon: options' + - 'addon: outline' + - 'addon: queryparams' + - 'addon: storyshots' + - 'addon: storysource' + - 'addon: styling' + - 'addon: themes' + - 'addon: toolbars' + - 'addon: viewport' + - 'addon: visual test' + validations: + required: true - type: textarea id: reproduce attributes: diff --git a/.github/workflows/comments/good-first-issue.md b/.github/workflows/comments/good-first-issue.md new file mode 100644 index 000000000000..2172ed96fd67 --- /dev/null +++ b/.github/workflows/comments/good-first-issue.md @@ -0,0 +1,12 @@ +The issue was marked with the `good first issue` label by a maintainer. + +This means that it is a good candidate for someone interested in contributing to the project, but does not know where to start. + +To get started, read the [Contributing Guide](https://github.com/storybookjs/storybook/tree/next?tab=readme-ov-file#contributing). When you are ready, open a PR and link back to this issue in the form of adding `Fixes #1234` to the PR description, where `1234` is the issue number. This will automatically close the issue when the PR gets merged, making it easier for us to keep track of what has been fixed. + +Please remember to add tests to confirm your code changes will fix the issue and we do not regress in the future. + +If you have any questions, feel free to ask below or on the PR. Generally, you don't need to `@mention` anyone directly, as we will get notified anyway and will respond as soon as we can. + +> [!NOTE] +> There is no need to ask for permission "can I work on this?" Please, go ahead if there is no linked PR :slightly_smiling_face: diff --git a/.github/workflows/comments/invalid-link.md b/.github/workflows/comments/invalid-link.md new file mode 100644 index 000000000000..dd4c42db4a2f --- /dev/null +++ b/.github/workflows/comments/invalid-link.md @@ -0,0 +1,50 @@ +We could not detect a valid reproduction link. **Make sure to follow the bug report template carefully.** + +### Why was this issue closed? + +To be able to investigate, we need access to a reproduction to identify what triggered the issue. We need a link to a **public** GitHub repository, Stackblitz or CodeSandbox. + +The bug template that you filled out has a section called "Reproduction link", which is where you should provide the link to the reproduction. + +- If you did not provide a link or the link you provided is not valid, we will close the issue. +- If you provide a link to a private repository, we will close the issue. +- If you provide a link to a repository but not in the correct section, we will close the issue. + +### What should I do? + +Depending on the reason the issue was closed, you can do the following: + +- If you did not provide a link, please open a new issue with a link to a reproduction. +- If you provided a link to a private repository, please open a new issue with a link to a public repository. +- If you provided a link to a repository but not in the correct section, please open a new issue with a link to a reproduction in the correct section. + +**In general, assume that we should not go through a lengthy onboarding process at your company code only to be able to verify an issue.** + +### My repository is private and cannot be public + +In most cases, a private repo will not be a sufficient **minimal reproduction**, as this codebase might contain a lot of unrelated parts that would make our investigation take longer. Please do **not** make it public. Instead, create a new repository using the templates above, adding the relevant code to reproduce the issue. Common things to look out for: + +- Remove any code that is not related to the issue. (pages, API routes, irrelevant components, etc.) +- Remove any dependencies that are not related to the issue. +- Remove any third-party service that would require us to sign up for an account to reproduce the issue. +- Remove any environment variables that are not related to the issue. +- Remove private packages that we do not have access to. +- If the issue is not related to a monorepo specifically, try to reproduce the issue without a complex monorepo setup + +### I did not open this issue, but it is relevant to me, what can I do to help? + +Anyone experiencing the same issue is welcome to provide a minimal reproduction following the above steps by opening a new issue. + +### I think my reproduction is good enough, why aren't you looking into it quickly? + +We look into every Storybook issue and constantly monitor open issues for new comments. + +However, sometimes we might miss one or two due to the popularity/high traffic of the repository. We apologize, and kindly ask you to refrain from tagging core maintainers, as that will usually not result in increased priority. + +Upvoting issues to show your interest will help us prioritize and address them as quickly as possible. That said, every issue is important to us, and if an issue gets closed by accident, we encourage you to open a new one linking to the old issue and we will look into it. + +### Useful Resources + +- [How to create a Minimal, Complete, and Verifiable example](https://stackoverflow.com/help/mcve) +- [Reporting a Storybook bug](https://github.com/storybookjs/storybook/blob/next/.github/ISSUE_TEMPLATE/bug_report.yml) +- [Contributing to Storybook](https://github.com/storybookjs/storybook/tree/next?tab=readme-ov-file#contributing) diff --git a/.github/workflows/comments/resolved.md b/.github/workflows/comments/resolved.md new file mode 100644 index 000000000000..a848ce3c905d --- /dev/null +++ b/.github/workflows/comments/resolved.md @@ -0,0 +1,5 @@ +This issue has been resolved on a newer version of the package. Please update to the latest version to test it out! + +If you think this issue was closed by mistake, or the issue persists on the newest version, please open a new issue with the latest version of the package. + +Thank you! diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml new file mode 100644 index 000000000000..6e8ce0d4d3f1 --- /dev/null +++ b/.github/workflows/triage.yml @@ -0,0 +1,34 @@ +name: Triage issues + +on: + issues: + types: [opened, labeled] + issue_comment: + types: [created] + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +permissions: + issues: write + +jobs: + triage: + name: Nissuer + runs-on: ubuntu-latest + steps: + - uses: balazsorban44/nissuer@1.10.0 + with: + label-area-prefix: "" + label-area-match: "name" + label-area-section: 'Which area\(s\) are affected\? \(Select all that apply\)(.*)### To Reproduce' + label-comments: | + { + "good first issue": ".github/comments/good-first-issue.md", + "resolved": ".github/comments/resolved.md" + } + reproduction-comment: ".github/comments/invalid-link.md" + reproduction-hosts: "github.com,codesandbox.io,stackblitz.com" + reproduction-link-section: "### Reproduction link(.*)### Which area" + reproduction-invalid-label: "invalid link" + reproduction-issue-labels: "bug," From 9b66eec3d384ee7c52c96b3d7a7f19326eb491ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Mon, 22 Apr 2024 13:17:21 +0200 Subject: [PATCH 2/6] move comments --- .github/{workflows => }/comments/good-first-issue.md | 0 .github/{workflows => }/comments/invalid-link.md | 0 .github/{workflows => }/comments/resolved.md | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename .github/{workflows => }/comments/good-first-issue.md (100%) rename .github/{workflows => }/comments/invalid-link.md (100%) rename .github/{workflows => }/comments/resolved.md (100%) diff --git a/.github/workflows/comments/good-first-issue.md b/.github/comments/good-first-issue.md similarity index 100% rename from .github/workflows/comments/good-first-issue.md rename to .github/comments/good-first-issue.md diff --git a/.github/workflows/comments/invalid-link.md b/.github/comments/invalid-link.md similarity index 100% rename from .github/workflows/comments/invalid-link.md rename to .github/comments/invalid-link.md diff --git a/.github/workflows/comments/resolved.md b/.github/comments/resolved.md similarity index 100% rename from .github/workflows/comments/resolved.md rename to .github/comments/resolved.md From 3124c9dc6dc31b1130d365bf9ba3f148f6ddea28 Mon Sep 17 00:00:00 2001 From: Vanessa Yuen <6842965+vanessayuenn@users.noreply.github.com> Date: Wed, 15 May 2024 15:04:58 +0200 Subject: [PATCH 3/6] Use existing repro field in template --- .github/ISSUE_TEMPLATE/bug_report.yml | 10 +--------- .github/workflows/triage.yml | 6 +++--- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index da3a00b94af3..5b071d80b944 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -14,14 +14,6 @@ body: description: A clear and concise description of what the bug is validations: required: true - - type: input - id: url - attributes: - label: Reproduction link - description: >- - Please provide a link to your reproduction. Accepted hosts are GitHub, CodeSandbox, and StackBlitz. Note, if the URL is invalid (eg.: 404, or a private repository), we may close the issue. - validations: - required: true - type: dropdown id: priority attributes: @@ -71,7 +63,7 @@ body: description: >- Due to the high volume of reports we receive, we can only prioritize bug reports that include a clear reproduction of the problem. Please use [storybook.new](https://storybook.new) to create one, and consult our [documentation](https://storybook.js.org/docs/react/contribute/how-to-reproduce) for guidance. Thank you for your understanding! placeholder: >- - Please provide a link to your reproduction here. If creating a reproduction really isn't feasible, let us know and be sure to include as much detail as you can to help us understand the issue. + Please provide a link to your reproduction. Accepted hosts are GitHub, CodeSandbox, and StackBlitz. Note, if the URL is invalid (eg.: 404, or a private repository), we may close the issue. validations: required: true - type: textarea diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 6e8ce0d4d3f1..544bb70378d6 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -29,6 +29,6 @@ jobs: } reproduction-comment: ".github/comments/invalid-link.md" reproduction-hosts: "github.com,codesandbox.io,stackblitz.com" - reproduction-link-section: "### Reproduction link(.*)### Which area" - reproduction-invalid-label: "invalid link" - reproduction-issue-labels: "bug," + reproduction-link-section: "### To Reproduce(.*)### System" + reproduction-invalid-label: "needs reproduction" + reproduction-issue-labels: "bug,needs triage" From e1a7e34d8cd88d7a2b0215f581be07d99faf45df Mon Sep 17 00:00:00 2001 From: Vanessa Yuen <6842965+vanessayuenn@users.noreply.github.com> Date: Wed, 15 May 2024 15:06:25 +0200 Subject: [PATCH 4/6] don't use label management --- .github/ISSUE_TEMPLATE/bug_report.yml | 42 --------------------------- .github/workflows/triage.yml | 6 +--- 2 files changed, 1 insertion(+), 47 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 5b071d80b944..d2f2a74e7ac4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -14,48 +14,6 @@ body: description: A clear and concise description of what the bug is validations: required: true - - type: dropdown - id: priority - attributes: - label: Which area(s) are affected? (Select all that apply) - multiple: true - options: - - 'Not sure' - - 'addon: a11y' - - 'addon: actions' - - 'addon: analytics' - - 'addon: backgrounds' - - 'addon: centered' - - 'addon: comments' - - 'addon: contexts' - - 'addon: controls' - - 'addon: cssresources' - - 'addon: design-assets' - - 'addon: docs' - - 'addon: essentials' - - 'addon: events' - - 'addon: graphql' - - 'addon: highlight' - - 'addon: info' - - 'addon: interactions' - - 'addon: jest' - - 'addon: knobs' - - 'addon: links' - - 'addon: measure' - - 'addon: notes' - - 'addon: onboarding' - - 'addon: options' - - 'addon: outline' - - 'addon: queryparams' - - 'addon: storyshots' - - 'addon: storysource' - - 'addon: styling' - - 'addon: themes' - - 'addon: toolbars' - - 'addon: viewport' - - 'addon: visual test' - validations: - required: true - type: textarea id: reproduce attributes: diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 544bb70378d6..a4a75e69efdb 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -19,13 +19,9 @@ jobs: steps: - uses: balazsorban44/nissuer@1.10.0 with: - label-area-prefix: "" - label-area-match: "name" - label-area-section: 'Which area\(s\) are affected\? \(Select all that apply\)(.*)### To Reproduce' label-comments: | { - "good first issue": ".github/comments/good-first-issue.md", - "resolved": ".github/comments/resolved.md" + "good first issue": ".github/comments/good-first-issue.md" } reproduction-comment: ".github/comments/invalid-link.md" reproduction-hosts: "github.com,codesandbox.io,stackblitz.com" From 3fe2c162ff6924c60a5185251bfcf6be0abaeac8 Mon Sep 17 00:00:00 2001 From: Vanessa Yuen <6842965+vanessayuenn@users.noreply.github.com> Date: Wed, 15 May 2024 15:16:28 +0200 Subject: [PATCH 5/6] tweak issue comments --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/comments/good-first-issue.md | 8 ++++---- .github/comments/invalid-link.md | 4 ++-- .github/comments/resolved.md | 5 ----- 4 files changed, 7 insertions(+), 12 deletions(-) delete mode 100644 .github/comments/resolved.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index d2f2a74e7ac4..4efdb336bd66 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,7 +1,7 @@ name: Bug report 🐞 description: >- Something is broken and you have a reliable reproduction? Let us know here. - For questions, please use "Question" below. + For questions, please post in GitHub Discussion. title: '[Bug]: ' labels: - needs triage diff --git a/.github/comments/good-first-issue.md b/.github/comments/good-first-issue.md index 2172ed96fd67..ff2aa8c0873f 100644 --- a/.github/comments/good-first-issue.md +++ b/.github/comments/good-first-issue.md @@ -2,11 +2,11 @@ The issue was marked with the `good first issue` label by a maintainer. This means that it is a good candidate for someone interested in contributing to the project, but does not know where to start. -To get started, read the [Contributing Guide](https://github.com/storybookjs/storybook/tree/next?tab=readme-ov-file#contributing). When you are ready, open a PR and link back to this issue in the form of adding `Fixes #1234` to the PR description, where `1234` is the issue number. This will automatically close the issue when the PR gets merged, making it easier for us to keep track of what has been fixed. +To get started, read the [Contributing Guide](https://storybook.js.org/docs/contribute/how-to-contribute). When you are ready, open a PR and link back to this issue in the form of adding `Fixes #1234` to the PR description, where `1234` is the issue number. This will automatically close the issue when the PR gets merged, making it easier for us to keep track of what has been fixed. Please remember to add tests to confirm your code changes will fix the issue and we do not regress in the future. -If you have any questions, feel free to ask below or on the PR. Generally, you don't need to `@mention` anyone directly, as we will get notified anyway and will respond as soon as we can. +If you have any questions, feel free to ask below or hop onto the [Storybook Discord](https://discord.gg/storybook) and ask in the #contributing channel. We're looking forward to your contribution! ✨ -> [!NOTE] -> There is no need to ask for permission "can I work on this?" Please, go ahead if there is no linked PR :slightly_smiling_face: +> [!NOTE] +> There is no need to ask to be assigned or for permission (e.g. "can I work on this?"). Please, go ahead if there is no linked PR. :slightly_smiling_face: diff --git a/.github/comments/invalid-link.md b/.github/comments/invalid-link.md index dd4c42db4a2f..0e498ecf035c 100644 --- a/.github/comments/invalid-link.md +++ b/.github/comments/invalid-link.md @@ -2,9 +2,9 @@ We could not detect a valid reproduction link. **Make sure to follow the bug rep ### Why was this issue closed? -To be able to investigate, we need access to a reproduction to identify what triggered the issue. We need a link to a **public** GitHub repository, Stackblitz or CodeSandbox. +To be able to investigate, we need access to a reproduction to identify what triggered the issue. We need a link to a **public** GitHub repository, Stackblitz or CodeSandbox. Please use [storybook.new](https://storybook.new) to create one, and consult our [documentation](https://storybook.js.org/docs/react/contribute/how-to-reproduce) for guidance. -The bug template that you filled out has a section called "Reproduction link", which is where you should provide the link to the reproduction. +The bug template that you filled out has a section called "To reproduce", which is where you should provide the link to the reproduction. - If you did not provide a link or the link you provided is not valid, we will close the issue. - If you provide a link to a private repository, we will close the issue. diff --git a/.github/comments/resolved.md b/.github/comments/resolved.md deleted file mode 100644 index a848ce3c905d..000000000000 --- a/.github/comments/resolved.md +++ /dev/null @@ -1,5 +0,0 @@ -This issue has been resolved on a newer version of the package. Please update to the latest version to test it out! - -If you think this issue was closed by mistake, or the issue persists on the newest version, please open a new issue with the latest version of the package. - -Thank you! From e8352d07dd72345f749502fc3f30868faeb62669 Mon Sep 17 00:00:00 2001 From: Vanessa Yuen <6842965+vanessayuenn@users.noreply.github.com> Date: Wed, 15 May 2024 15:20:43 +0200 Subject: [PATCH 6/6] Update invalid-link.md --- .github/comments/invalid-link.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/comments/invalid-link.md b/.github/comments/invalid-link.md index 0e498ecf035c..51b084dfe35d 100644 --- a/.github/comments/invalid-link.md +++ b/.github/comments/invalid-link.md @@ -2,7 +2,7 @@ We could not detect a valid reproduction link. **Make sure to follow the bug rep ### Why was this issue closed? -To be able to investigate, we need access to a reproduction to identify what triggered the issue. We need a link to a **public** GitHub repository, Stackblitz or CodeSandbox. Please use [storybook.new](https://storybook.new) to create one, and consult our [documentation](https://storybook.js.org/docs/react/contribute/how-to-reproduce) for guidance. +To be able to investigate, we need access to a reproduction to identify what triggered the issue. We need a link to a **public** GitHub repository, Stackblitz or CodeSandbox. The easiest way to create a reproduction is with [storybook.new](https://storybook.new). The bug template that you filled out has a section called "To reproduce", which is where you should provide the link to the reproduction. @@ -45,6 +45,6 @@ Upvoting issues to show your interest will help us prioritize and address them a ### Useful Resources +- [Create a Storybook reproduction](https://storybook.js.org/docs/react/contribute/how-to-reproduce) - [How to create a Minimal, Complete, and Verifiable example](https://stackoverflow.com/help/mcve) -- [Reporting a Storybook bug](https://github.com/storybookjs/storybook/blob/next/.github/ISSUE_TEMPLATE/bug_report.yml) -- [Contributing to Storybook](https://github.com/storybookjs/storybook/tree/next?tab=readme-ov-file#contributing) +- [Contributing to Storybook](https://storybook.js.org/docs/contribute/how-to-contribute)