From 942febbb86fb1a6df12ed8ce71edf06ad69072a3 Mon Sep 17 00:00:00 2001 From: Kirill Date: Tue, 16 Jan 2024 18:33:44 +0100 Subject: [PATCH] docs(docs/repo): add labels list to docs. (#3686) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Eclésio Junior --- .github/CONTRIBUTING.md | 28 ++++ .github/labels.yml | 239 +++++++++++++++++++++++++++++++++++ .github/workflows/labels.yml | 23 ++++ docs/docs/repo/labels.md | 52 ++++++++ 4 files changed, 342 insertions(+) create mode 100644 .github/labels.yml create mode 100644 .github/workflows/labels.yml create mode 100644 docs/docs/repo/labels.md diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 23e9936d9e..a2430c3ec3 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -164,6 +164,34 @@ The purpose of this section is to outline the standard naming conventions approv > https://www.freecodecamp.org/news/writing-good-commit-messages-a-practical-guide/ +## Merge Process + +### In General + +A Pull Request (PR) needs to be reviewed and approved by project maintainers. +If a change does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged +`C-simple` and merged faster. + +### Labels + +The set of labels and their description can be found [here](../docs/docs/repo/labels.md). +To change labels update [labels.yml](./labels.yml) file + +### Process + +1. Please use our [Pull Request Template](./PULL_REQUEST_TEMPLATE.md) and make sure all relevant + information is reflected in your PR. +2. Please tag each PR with minimum one `S-*` (scope) label. The respective `S-*` labels should signal the + component that was changed, they are also used by downstream users to track changes and to + include these changes properly into their own releases. +3. If you’re still working on your PR, please submit as “Draft”. Once a PR is ready for review change + the status to “Open”, so that the maintainers get to review your PR. Generally PRs should sit for + 48 hours in order to garner feedback. It may be merged before if all relevant parties had a look at it. +4. PRs will be able to be merged once all reviewers' comments are addressed and CI is successful. + +**Noting breaking changes:** +When breaking APIs, the PR description should mention what was changed alongside some examples on how +to change the code to make it work/compile. ## Contributor Responsibilities diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000000..7aaa12fbd7 --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,239 @@ +--- +- name: Epic + color: "#3E4B9E" + aliases: [] + description: Issue used to track development status of a complex feature, aggregates + several issues + +- name: Feature-branch + color: "#8ceac8" + aliases: [] + description: pull request from feature branch to origin. + +- name: Release + color: "#5319E7" + aliases: [] + description: pull request with next release changes. + +- name: A-tooBig + color: "#FBCA04" + aliases: [] + description: Action needed label. Marks that there is a specific action needed for + issue/PR + +# Action/attention needed label. Marks that there is a specific action needed for issue/PR +- name: A-stale + color: "#FBCA04" + aliases: [] + description: issue or PR is deprecated and needs to be closed. + +- name: A-blocked + color: "#F38160" + aliases: [] + description: issue or PR is blocked until something else changes. + +- name: A-triage + color: "#FBCA04" + aliases: [] + description: issue description needs refactor and/or labeled. + +- name: A-debug + color: "#FBCA04" + aliases: [] + description: issue requires detective debug work to figure out what's going wrong. + +- name: A-design + color: "#FBCA04" + aliases: [] + description: issue requires design work to think about how it would best be accomplished. + +# Describes the type of issue or pull request. +- name: T-bug + color: "#FEF2C0" + aliases: [] + description: this issue covers unexpected and/or wrong behaviour. + +- name: T-feat + color: "#FEF2C0" + aliases: [] + description: this issue/pr is a new feature or functionality. + +- name: T-enhancement + color: "#FEF2C0" + aliases: [] + description: this issue/pr covers improvement of existing functionality. + +- name: T-refactor + color: "#FEF2C0" + aliases: [] + description: this issue/pr covers refactoring of existing code. + +- name: T-security + color: "#FEF2C0" + aliases: [] + description: this issue/pr covers security sensitive problem. + +- name: T-question + color: "#FEF2C0" + aliases: [] + description: this issue/PR is a discussion/question. Further information is requested + +# Complexity label. We operate only 3 complexity levels. +- name: C-simple + color: "#006B75" + aliases: [] + description: Minor changes changes, no additional research needed. Good first issue/review. + +- name: C-complex + color: "#006B75" + aliases: [] + description: Complex changes across multiple modules. Possibly will require additional + research. + +- name: C-chaotic + color: "#006B75" + aliases: [] + description: Unpredictable nature of this task/changes makes its chaotic. + +# Priority level. We only have 3 priority levels, everything else is average by default. +- name: P-critical + color: "#d93f0b" + aliases: [] + description: this must be fixed immediately or contributors or users will be severely + impacted. + +- name: P-high + color: "#FBCA04" + aliases: [] + description: this should be addressed ASAP. + +- name: P-low + color: "#0E8A16" + aliases: [] + description: this is mostly nice to have. + +# Scope this work related to, could be multiple, but usually this means that task needs to be break down. +- name: S-sync-westend + color: "#1D76DB" + aliases: [] + description: related to particular network syncing. + +- name: S-sync-kusama + color: "#1D76DB" + aliases: [] + description: related to particular network syncing. + +- name: S-sync-polkadot + color: "#1D76DB" + aliases: [] + description: related to particular network syncing. + +- name: S-sync-paseo + color: "#1D76DB" + aliases: [] + description: related to particular network syncing. + +- name: S-tests + color: "#1D76DB" + aliases: [] + description: issue related to adding new tests. + +- name: S-doc + color: "#1D76DB" + aliases: [] + description: documentation related. + +- name: S-cli + color: "#1D76DB" + aliases: [] + description: issue related to Gossamer CLI. + +- name: S-ci + color: "#1D76DB" + aliases: [] + description: issue related to continuous integration tasks or piplelines. + +- name: S-crypto + color: "#1D76DB" + aliases: [] + description: issues related to the lib/crypto package. + +- name: S-grandpa + color: "#1D76DB" + aliases: [] + description: issues related to block finality. + +- name: S-babe + color: "#1D76DB" + aliases: [] + description: issues related to block production functionality. + +- name: S-runtime + color: "#1D76DB" + aliases: [] + description: issues related to the lib/runtime package. + +- name: S-telemetry + color: "#1D76DB" + aliases: [] + description: issue related to node telemetry and metrics reports. + +- name: S-rpc + color: "#1D76DB" + aliases: [] + description: issues related to the dot/rpc package. + +- name: S-scale + color: "#1D76DB" + aliases: [] + description: issues related to the pkg/scale package. + +- name: S-trie + color: "#1D76DB" + aliases: [] + description: issues related to the pkg/trie package. + +- name: S-utils + color: "#1D76DB" + aliases: [] + description: issues related to all other lib packages. + +- name: S-network + color: "#1D76DB" + aliases: [] + description: issues related to the dot/network package. + +- name: S-state + color: "#1D76DB" + aliases: [] + description: issues related to dot/state package. + +- name: S-subsystems-overseer + color: "#1D76DB" + aliases: [] + description: issues related to Polkadot host overseer functionality. + +- name: S-subsystems-collator + color: "#1D76DB" + aliases: [] + description: issues related to polkadot host collator subsystem functionality. + +- name: S-subsystems-backing + color: "#1D76DB" + aliases: [] + description: issues related to polkadot host backing subsystem functionality. + +- name: S-subsystems-availability + color: "#1D76DB" + aliases: [] + description: issues related to polkadot host availability subsystem functionality. + +- name: S-subsystems-disputes + color: "#1D76DB" + aliases: [] + description: issues related to polkadot host disputes subsystem functionality. + +- name: S-dependencies + color: "#1D76DB" + aliases: [] + description: issues related to polkadot host disputes subsystem functionality. \ No newline at end of file diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml new file mode 100644 index 0000000000..1a99a40c00 --- /dev/null +++ b/.github/workflows/labels.yml @@ -0,0 +1,23 @@ +on: + push: + branches: [development] + +name: sync-labels + +permissions: + issues: write + +jobs: + labels: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: sync labels + uses: EndBug/label-sync@v2 + with: + config-file: .github/labels.yml + # If you want to delete any additional labels not mentioned in config file, set this to true + delete-other-labels: false + dry-run: false + token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/docs/docs/repo/labels.md b/docs/docs/repo/labels.md new file mode 100644 index 0000000000..49b828ac21 --- /dev/null +++ b/docs/docs/repo/labels.md @@ -0,0 +1,52 @@ +## Labels + + + +Below is the list of labels and their descriptions used in Gossamer repository. + + +- **Epic** - Issue used to track development status of a complex feature, aggregates several issues. +- **Feature-branch** - pull request from feature branch to origin. +- **Release** - pull request with next release changes. +- **`A-`** Action needed label. Marks that there is a specific action needed for issue/PR + - **A-tooBig** - issue or PR needs to be broken down to smaller parts. + - **A-stale** - issue or PR is deprecated and needs to be closed. + - **A-blocked** - issue or PR is blocked until something else changes. + - **A-triage** - issue description needs refactor and/or labeled. + - **A-debug** - issue requires detective debug work to figure out what's going wrong. + - **A-design** - issue requires design work to think about how it would best be accomplished. +- **`T-`** Describes the type of issue or pull request. + - **T-bug** - this issue covers unexpected and/or wrong behaviour. + - **T-feat** - this issue/pr is a new feature or functionality. + - **T-enhancement** - this issue/pr covers improvement of existing functionality. + - **T-refactor** - this issue/pr covers refactoring of existing code. + - **T-security** - this issue/pr covers security sensitive problem. +- **`C-`** Complexity label. We operate only 3 complexity levels. + - **C-simple** - Minor changes changes, no additional research needed. Good first issue/review. + - **C-complex** - Complex changes across multiple modules. Possibly will require additional research. + - **C-chaotic** - Unpredictable nature of this task/changes makes its chaotic. +- **`P-`** Priority level. We only have 3 priority levels, everything else is average by default. + - **P-critical** - this must be fixed immediately or contributors or users will be severely impacted. + - **P-high** - this should be addressed ASAP. **Colour #FBCA04** + - **P-low** - this is mostly nice to have. **Colour #0E8A16** +- **`S-`** Scope this work related to, could be multiple, but usually this means that task needs to be break down. + - **S-sync-[westend | kusama | polkadot | paseo]** - related to particular network syncing. + - **S-tests** - issue related to adding new tests. + - **S-doc** - documentation related. + - **S-cli** - issue related to Gossamer CLI. + - **S-ci** - issue related to continuous integration tasks or piplelines. + - **S-crypto** - issues related to the lib/crypto package. + - **S-grandpa** - issues related to block finality. + - **S-babe** - issues related to block production functionality. + - **S-runtime**- issues related to the lib/runtime package + - **S-telemetry** - issue related to node telemetry and metrics reports. + - **S-rpc** - issues related to the dot/rpc package. + - **S-scale** - issues related to the pkg/scale package. + - **S-utils** - issues related to all other lib packages. + - **S-network** - issues related to the dot/network package. + - **S-state** - issues related to dot/state package. + - **S-subsystems-overseer** - issues related to polkadot host overseer functionality. + - **S-subsystems-collator** - issues related to polkadot host collator subsystem functionality. + - **S-subsystems-backing** - issues related to polkadot host backing subsystem functionality. + - **S-subsystems-availability** - issues related to polkadot host availability subsystem functionality. + - **S-subsystems-disputes** - issues related to polkadot host disputes subsystem functionality.