diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index 670294732..000000000 --- a/.github/labeler.yml +++ /dev/null @@ -1,22 +0,0 @@ -repo-configuration: - - .github/**/* - - /* - - .vscode/**/* - - .devcontainer/**/* - -documentation: - - docs/**/* - - README.md - - SECURITY.md - - CONTRIBUTING.md - - .tours/**/* - -component-detection: - - src/**/* - - test/**/* - -scripts: - - Scripts/**/* - -build: - - Build/**/* diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index d91914762..77ced9ea8 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -10,20 +10,19 @@ change-template: '- $TITLE by @$AUTHOR (#$NUMBER)' change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. no-changes-template: '- No changes' categories: - - title: '📚 Documentation' + - title: '📝 Documentation' labels: - - 'documentation' + - 'type:docs' - title: '🚀 New Features' labels: - - 'enhancement' + - 'type:feature' - title: '🐛 Bug Fixes' labels: - - 'bug' + - 'type:bug' - title: '🧰 Maintenance' labels: - - 'repo-configuration' - - 'scripts' - - 'build' + - 'type:ci' + - 'type:refactor' version-resolver: major: labels: @@ -38,6 +37,3 @@ version-resolver: template: | ## ⚙️ Changes $CHANGES - - ## 👨🏼‍💻 Contributors - $CONTRIBUTORS diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml deleted file mode 100644 index 7e02c83cf..000000000 --- a/.github/workflows/labeler.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: "Pull Request Labeler" -on: [pull_request] - -jobs: - triage: - runs-on: ubuntu-latest - steps: - - uses: actions/labeler@v2 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file diff --git a/docs/issue-labeling.md b/docs/issue-labeling.md new file mode 100644 index 000000000..24cc687c7 --- /dev/null +++ b/docs/issue-labeling.md @@ -0,0 +1,91 @@ +# Issue labeling + +We try to keep issues well-classified through use of labels. +Any repository collaborator can apply labels according to the below guidelines. + +The general idea is that we have: + +- status (`status:`) +- type (`type:`) +- detector (`detector:`) +- version (`version:`) + +## Label categories + +### Status + +
+ Status labels + + status:requirements + status:blocked + status:ready + status:in-progress + status:waiting-on-response + +
+ +Use these to label the status of an issue. +For example, use `status:requirements` to mean that an issue is not yet ready for development to begin. +If we need the original poster or somebody else to respond to a query of ours, apply the `status:waiting-on-response` label. +All open issues should have some `status:*` label applied, and [this search](https://github.com/microsoft/component-detection/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+-label%3Astatus%3Arequirements+-label%3Astatus%3Aready+-label%3Astatus%3Ain-progress+-label%3Astatus%3Ablocked+-label%3Astatus%3Awaiting-on-response) can identify any which are missing a status label. + +### Type + +
+ Type labels + + type:bug + type:docs + type:feature + type:refactor + type:help + type:ci + +
+ +Use these to label the type of issue. +For example, use `type:bug` to label a bug type issue, and use `type:feature` for feature requests. +Only use `type:refactor` for code changes, don't use `type:refactor` for documentation type changes. +Use the `type:help` label for issues which should be converted to a discussion post. +The `type:ci` label is for issues related to builds or GitHub Actions. + +Any issue which has the label `status:ready` should also have a `type:*` label, and [this search](https://github.com/microsoft/component-detection/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+-label%3Atype%3Abug+label%3Astatus%3Aready+-label%3Atype%3Afeature+-label%3Atype%3Adocs+-label%3Atype%3Arefactor+-label%3Atype%3Aci) can identify any which are missing one. + +### Detector + +Add the relevant `detector:` labels to the issue. +If there are multiple detectors affected, add labels for all of them. + +### Version + +
+ Version labels + + version:major + version:minor + version:patch + +
+ +We use [release drafter](https://github.com/release-drafter/release-drafter) to automatically create new releases. +It generates the next version based on labels of the PRs since the last release. +If no label is applied the default is `version:patch`. + +### Housekeeping + +
+ Housekeeping + + good first issue + help wanted + duplicate + +
+ +Add a label `good first issue` to issues that are small, easy to fix, and do-able for a newcomer. +This label is sometimes picked up by tools or websites that try to encourage people to contribute to open source. + +Add the label `help wanted` to indicate that we need the original poster or someone else to do some work or it is unlikely to get done. + +Add a label `duplicate` to issues/PRs that are a duplicate of an earlier issue/PR.