mirror of
https://github.com/ChainSafe/lodestar.git
synced 2026-01-09 15:48:08 -05:00
github: update bot labels (#3135)
* github: update labeler labels to match new * github: fix stale bot labels * github: use srvaroa/labeler@v0.8 * github: fix labeler credentials * github: lint label yaml * github: improve labeler readability * github: use go regex for labeler * github: update bulldozer to latest config * github: update changelog exclude label * github: update bulldozer conditions * github: add dependabot config * docs: describe labels for contributors
This commit is contained in:
@@ -10,11 +10,69 @@ merge:
|
||||
trigger:
|
||||
# Pull requests with any of these labels (case-insensitive) are added to
|
||||
# the trigger.
|
||||
labels: ["bulldozer-merge-when-ready"]
|
||||
labels: ["status5-mergeready", "status6-bulldozer"]
|
||||
|
||||
# Pull requests where the body or any comment contains any of these
|
||||
# substrings are added to the trigger.
|
||||
#comment_substrings: ["==MERGE_WHEN_READY=="]
|
||||
|
||||
# Pull requests where any comment matches one of these exact strings are
|
||||
# added to the trigger.
|
||||
#comments: ["Please merge this pull request!"]
|
||||
|
||||
# Pull requests where the body contains any of these substrings are added
|
||||
# to the trigger.
|
||||
#pr_body_substrings: ["==MERGE_WHEN_READY=="]
|
||||
|
||||
# Pull requests targeting any of these branches are added to the trigger.
|
||||
#branches: ["develop"]
|
||||
|
||||
# Pull requests targeting branches matching any of these regular expressions are added to the trigger.
|
||||
#branch_patterns: ["feature/.*"]
|
||||
|
||||
# "ignore" defines the set of pull request ignored by bulldozer. If the
|
||||
# section is missing, bulldozer considers all pull requests. It takes the
|
||||
# same keys as the "trigger" section.
|
||||
ignore:
|
||||
labels: ["status0-blocked", "status1-donotmerge", "status2-onice"]
|
||||
|
||||
# "method" defines the merge method. The available options are "merge",
|
||||
# "rebase", "squash", and "ff-only".
|
||||
method: merge
|
||||
method: squash
|
||||
|
||||
# Allows the merge method that is used when auto-merging a PR to be different based on the
|
||||
# target branch. The keys of the hash are the target branch name, and the values are the merge method that
|
||||
# will be used for PRs targeting that branch. The valid values are the same as for the "method" key.
|
||||
# Note: If the target branch does not match any of the specified keys, the "method" key is used instead.
|
||||
branch_method:
|
||||
develop: squash
|
||||
master: squash
|
||||
|
||||
# "options" defines additional options for the individual merge methods.
|
||||
#options:
|
||||
# "squash" options are only used when the merge method is "squash"
|
||||
#squash:
|
||||
# "title" defines how the title of the commit message is created when
|
||||
# generating a squash commit. The options are "pull_request_title",
|
||||
# "first_commit_title", and "github_default_title". The default is
|
||||
# "pull_request_title".
|
||||
#title: "pull_request_title"
|
||||
|
||||
# "body" defines how the body of the commit message is created when
|
||||
# generating a squash commit. The options are "pull_request_body",
|
||||
# "summarize_commits", and "empty_body". The default is "empty_body".
|
||||
#body: "empty_body"
|
||||
|
||||
# If "body" is "pull_request_body", then the commit message will be the
|
||||
# part of the pull request body surrounded by "message_delimiter"
|
||||
# strings. This is disabled (empty string) by default.
|
||||
#message_delimiter: ==COMMIT_MSG==
|
||||
|
||||
# "required_statuses" is a list of additional status contexts that must pass
|
||||
# before bulldozer can merge a pull request. This is useful if you want to
|
||||
# require extra testing for automated merges, but not for manual merges.
|
||||
#required_statuses:
|
||||
#- "ci/circleci: ete-tests"
|
||||
|
||||
# If true, bulldozer will delete branches after their pull requests merge.
|
||||
delete_after_merge: true
|
||||
@@ -30,4 +88,13 @@ update:
|
||||
# "trigger" defines the set of pull requests that should be updated by
|
||||
# bulldozer. It accepts the same keys as the trigger in the "merge" block.
|
||||
trigger:
|
||||
labels: ["bulldozer-update"]
|
||||
labels: ["status3-needsreview", "status4-needschanges", "status9-workinprogress"]
|
||||
|
||||
# "ignore" defines the set of pull requests that should not be updated by
|
||||
# bulldozer. It accepts the same keys as the ignore in the "merge" block.
|
||||
ignore:
|
||||
labels: ["status5-mergeready", "status6-bulldozer"]
|
||||
|
||||
# If true, bulldozer will ignore updating draft pull requests, unless they
|
||||
# explicitly match a configured trigger condition.
|
||||
ignore_drafts: true
|
||||
|
||||
92
.github/dependabot.yml
vendored
Normal file
92
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/api"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/beacon-state-transition"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/cli"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/config"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/db"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/fork-choice"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/light-client"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/lodestar"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/params"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/spec-test-runner"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/spec-test-util"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/types"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/utils"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/validator"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
labels:
|
||||
- "meta9-dependencies"
|
||||
93
.github/labeler.yml
vendored
93
.github/labeler.yml
vendored
@@ -1,33 +1,60 @@
|
||||
StateTransition:
|
||||
- packages/beacon-state-transition/**/*
|
||||
- packages/spec-test-runner/**/*
|
||||
- packages/spec-test-util/**/*
|
||||
|
||||
CLI:
|
||||
- packages/cli/**/*
|
||||
|
||||
Types:
|
||||
- packages/types/**/*
|
||||
|
||||
Config:
|
||||
- packages/config/**/*
|
||||
- packages/params/**/*
|
||||
|
||||
Validator:
|
||||
- packages/validator/**/*
|
||||
|
||||
Api:
|
||||
- packages/lodestar/src/api/**/*
|
||||
|
||||
Network:
|
||||
- packages/lodestar/src/network/**/*
|
||||
- packages/lodestar/src/sync/**/*
|
||||
|
||||
Eth1:
|
||||
- packages/lodestar/src/eth1/**/*
|
||||
|
||||
Benchmarks:
|
||||
- packages/lodestar/test/benchmarks/**/*
|
||||
|
||||
CI:
|
||||
- .github/**/*
|
||||
---
|
||||
version: 1
|
||||
labels:
|
||||
- label: "mod1-beaconchain"
|
||||
files:
|
||||
- "packages/lodestar/.*"
|
||||
- label: "mod2-validator"
|
||||
files:
|
||||
- "packages/validator/.*"
|
||||
- label: "mod3-lightclient"
|
||||
files:
|
||||
- "packages/light-client/.*"
|
||||
- label: "mod4-api"
|
||||
files:
|
||||
- "packages/lodestar/src/api/.*"
|
||||
- "packages/api/.*"
|
||||
- label: "mod5-cli"
|
||||
files:
|
||||
- "packages/cli/.*"
|
||||
- label: "mod6-statetransition"
|
||||
files:
|
||||
- "packages/beacon-state-transition/.*"
|
||||
- "packages/spec-test-runner/.*"
|
||||
- "packages/spec-test-util/.*"
|
||||
- label: "mod7-types"
|
||||
files:
|
||||
- "packages/types/.*"
|
||||
- label: "mod8-params"
|
||||
files:
|
||||
- "packages/params/.*"
|
||||
- label: "mod9-utils"
|
||||
files:
|
||||
- "packages/utils/.*"
|
||||
- label: "moda-config"
|
||||
files:
|
||||
- "packages/config/.*"
|
||||
- "packages/params/.*"
|
||||
- label: "modb-database"
|
||||
files:
|
||||
- "packages/db/.*"
|
||||
- label: "modc-forkchoice"
|
||||
files:
|
||||
- "packages/fork-choice/.*"
|
||||
- label: "modd-spectests"
|
||||
files:
|
||||
- "packages/spec-test-runner/.*"
|
||||
- "packages/spec-test-util/.*"
|
||||
- label: "scope4-benchmarks"
|
||||
files:
|
||||
- "packages/lodestar/test/benchmarks/.*"
|
||||
- label: "scope5-networking"
|
||||
files:
|
||||
- "packages/lodestar/src/network/.*"
|
||||
- "packages/lodestar/src/sync/.*"
|
||||
- label: "scopea-eth1"
|
||||
files:
|
||||
- "packages/lodestar/src/eth1/.*"
|
||||
- label: "scopeb-ci"
|
||||
files:
|
||||
- ".github/.*"
|
||||
|
||||
27
.github/stale.yml
vendored
27
.github/stale.yml
vendored
@@ -12,18 +12,19 @@ onlyLabels: []
|
||||
|
||||
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
|
||||
exemptLabels:
|
||||
- "PR state: on-ice"
|
||||
- "Good First Issue"
|
||||
- "Status: On Ice"
|
||||
- "Priority: 4 - Low"
|
||||
- "Priority: 3 - Medium"
|
||||
- "Priority: 2 - High"
|
||||
- "Priority: 1 - Critical"
|
||||
- "discussion"
|
||||
- "Discussion"
|
||||
- "Epic"
|
||||
- "Good First Issue"
|
||||
- "help wanted"
|
||||
- "meta0-goodfirstissue"
|
||||
- "meta1-helpwanted"
|
||||
- "meta6-discussion"
|
||||
- "prio0-critical"
|
||||
- "prio2-high"
|
||||
- "prio5-medium"
|
||||
- "q5-substantial"
|
||||
- "q7-involved"
|
||||
- "q9-epic"
|
||||
- "status0-blocked"
|
||||
- "status1-donotmerge"
|
||||
- "status2-onice"
|
||||
- "status7-opendiscussion"
|
||||
|
||||
# Set to true to ignore issues in a project (defaults to false)
|
||||
exemptProjects: false
|
||||
@@ -35,7 +36,7 @@ exemptMilestones: true
|
||||
exemptAssignees: true
|
||||
|
||||
# Label to use when marking as stale
|
||||
staleLabel: bot:stale
|
||||
staleLabel: meta7-botstale
|
||||
|
||||
# Comment to post when marking as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
|
||||
6
.github/workflows/label.yml
vendored
6
.github/workflows/label.yml
vendored
@@ -6,6 +6,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event.pull_request.head.repo.full_name == github.repository
|
||||
steps:
|
||||
- uses: actions/labeler@v2
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
- uses: srvaroa/labeler@v0.8
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
|
||||
1
.github/workflows/release.yml
vendored
1
.github/workflows/release.yml
vendored
@@ -75,6 +75,7 @@ jobs:
|
||||
sinceTag: "${{ needs.tag.outputs.previous_tag }}"
|
||||
maxIssues: "0"
|
||||
stripGeneratorNotice: "true"
|
||||
excludeLabels: "meta8-excludefromchangelog"
|
||||
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
|
||||
@@ -55,7 +55,7 @@ docker-compose -f docker/docker-compose.local.yml up -d
|
||||
Unsure where to begin contributing to Lodestar? Here are some ideas!
|
||||
|
||||
- :pencil2: See any typos? See any verbiage that should be changed or updated? Go for it! Github makes it easy to make contributions right from the browser.
|
||||
- :mag_right: Look through our [outstanding unassigned issues](https://github.com/ChainSafe/lodestar/issues?q=is%3Aopen+is%3Aissue+no%3Aassignee). _(Hint: look for issues labeled "good first issue"!)_
|
||||
- :mag_right: Look through our [outstanding unassigned issues](https://github.com/ChainSafe/lodestar/issues?q=is%3Aopen+is%3Aissue+no%3Aassignee). _(Hint: look for issues labeled `meta0-goodfirstissue` or `meta1-helpwanted`!)_
|
||||
- :speech_balloon: Join our [Discord chat](https://discord.gg/aMxzVcr)!
|
||||
[](https://discord.gg/aMxzVcr)
|
||||
|
||||
@@ -102,6 +102,102 @@ We're currently experimenting with hosting the majority of lodestar packages and
|
||||
- Make sure that the tests are still passing:
|
||||
- run `yarn test:unit` from the command line
|
||||
|
||||
## Label Guide
|
||||
|
||||
Issues and pull-requests are subject to the following labeling guidelines.
|
||||
|
||||
- Each PR **must have** a `status.*` label indicating the status.
|
||||
- Each Issue or PR **must have** a `mod.*` or `scope.*` label indicating which parts of the code are relevant.
|
||||
- All other labels allow for further evaluation, e.g., priority, amount of work required, etc.
|
||||
|
||||
Label descriptions can be found below.
|
||||
|
||||
###### `status.*` Pull Request Status
|
||||
|
||||
Status labels only apply to pull requests.
|
||||
* `status0-blocked`: This is blocked by another issue that requires resolving first.
|
||||
* `status1-donotmerge`: Merging this issue will break the build. Do not merge!
|
||||
* `status2-onice`: This work is on ice as per the reasons described by the author.
|
||||
* `status3-needsreview`: This pull-request needs a review.
|
||||
* `status4-needschanges`: This pull-request has issues that needs to be addressed first.
|
||||
* `status5-mergeready`: This pull-request has been reviewed well and can be merged.
|
||||
* `status6-bulldozer`: Pull request is reviewed and can be merged (used by the bulldozer bot).
|
||||
* `status7-opendiscussion`: This work is still being discussed.
|
||||
* `status9-workinprogress`: This work is still in progress and not ready for review.
|
||||
|
||||
###### `mod.*` Relevant Modules and Components
|
||||
|
||||
The Module labels should be applied to all issues and pull requests if possible.
|
||||
* `mod1-beaconchain`: The @chainsafe/lodestar beacon-chain module.
|
||||
* `mod2-validator`: The @chainsafe/lodestar-validator module.
|
||||
* `mod3-lightclient`: The @chainsafe/lodestar-light-client module.
|
||||
* `mod4-api`: The @chainsafe/lodestar-api module.
|
||||
* `mod5-cli`: The @chainsafe/lodestar-cli module.
|
||||
* `mod6-statetransition`: The @chainsafe/lodestar-beacon-state-transition module.
|
||||
* `mod7-types`: The @chainsafe/lodestar-types module.
|
||||
* `mod8-params`: The @chainsafe/lodestar-params module.
|
||||
* `mod9-utils`: The @chainsafe/lodestar-utils module.
|
||||
* `moda-config`: The @chainsafe/lodestar-config module.
|
||||
* `modb-database`: The @chainsafe/lodestar-db module.
|
||||
* `modc-forkchoice`: The @chainsafe/lodestar-fork-choice module.
|
||||
* `modd-spectests`: The @chainsafe/lodestar-spec-test-* modules.
|
||||
|
||||
###### `scope.*` Scope Indicator
|
||||
|
||||
Scope is comparable to Module labels but less strict with the definition of components. It applies to both, issues and pull requests.
|
||||
* `scope1-audits`: Resolves issue identified in the first audit.
|
||||
* `scope2-memory`: Issues to reduce and improve memory usage.
|
||||
* `scope3-performance`: Performance issue and ideas to improve performance.
|
||||
* `scope4-benchmarks`: All issues with regards to benchmarking.
|
||||
* `scope5-networking`: All issues related to networking, gossip, and libp2p.
|
||||
* `scope6-metrics`: All issues with regards to the exposed metrics.
|
||||
* `scope7-ssz`: All issues related to SSZ serialization and deserialization.
|
||||
* `scope8-bls`: All issues related to BLS and cryptography used.
|
||||
* `scope9-testnetdebugging`: Issues uncovered through running a node on a public testnet.
|
||||
* `scopea-eth1`: All issues related to the Eth1 provider.
|
||||
* `scopeb-ci`: All issues related to the Continuous Integration and Github Workflows.
|
||||
* `scopec-documentation`: All issues related to the Lodestar documentation.
|
||||
|
||||
###### `prio.*` Prioritization Indicator
|
||||
|
||||
A simple indicator of issue prioritization. It mainly applies to issues.
|
||||
* `prio0-critical`: Drop everything to resolve this immediately.
|
||||
* `prio2-high`: Resolve issues as soon as possible.
|
||||
* `prio5-medium`: Resolve this some time soon (tm).
|
||||
* `prio7-low`: This is nice to have.
|
||||
* `prio9-none`: We might get back to this one day (maybe).
|
||||
|
||||
###### `q.*` Effort Quantization
|
||||
|
||||
Effort estimations can help planning to tackle issues that are particulary easy or difficult with regard of work force required. It mainly applies to issues (before work is started).
|
||||
* `q0-trivial`: Can be fixed by anyone with access to a computer.
|
||||
* `q2-easy`: Can be fixed by copy and pasting from StackOverflow.
|
||||
* `q3-medium`: A fair chunk of work, not necessarily very hard but not trivial either
|
||||
* `q5-substantial`: Can be fixed by a developer with decent experience.
|
||||
* `q7-involved`: Can be fixed by a team of developers and probably takes some time.
|
||||
* `q9-epic`: Can only be fixed by John Skeet. ;)
|
||||
|
||||
###### `spec.*` Eth2 Consensus Spec Version Target
|
||||
|
||||
Issues that target a specific version of the Eth2 consensus spec, shall be tagged accordingly.
|
||||
* `spec0-phase0`: Issues targeting the initial Eth2 spec version.
|
||||
* `spec1-altair`: Issues targeting the Altair Eth2 spec version.
|
||||
* `spec3-merge`: Issues targeting the merge Eth2 spec version.
|
||||
* `spec5-phase1`: Issues targeting the Phase1 Eth2 spec version.
|
||||
* `spec7-phase2`: Issues targeting the Phase2 Eth2 spec version.
|
||||
|
||||
###### `meta.*` Meta Labels to organize Miscelaneous Issues
|
||||
|
||||
* `meta0-goodfirstissue`: Good first issues for newcomers and first-time contributors.
|
||||
* `meta1-helpwanted`: The author indicates that additional help is wanted.
|
||||
* `meta2-breakingchange`: Introduces breaking changes to DB, Validator, Beacon Node, or CLI interfaces. Handle with care!
|
||||
* `meta4-cosmetic`: The changes introduces are barely touching any code.
|
||||
* `meta5-technicaldebt`: Issues introducing or resolving technical debts.
|
||||
* `meta6-discussion`: Indicates a topic that requires input from various developers.
|
||||
* `meta7-botstale`: Label for stale issues (applied by the stale bot).
|
||||
* `meta8-excludefromchangelog`: This work is not relevant for the changelog (used by Github actions). Use sparingly!
|
||||
* `meta9-dependencies`: Pull requests that update a dependency (used by Dependabot).
|
||||
|
||||
## Community
|
||||
|
||||
Come chat with us on [Discord](https://discord.gg/aMxzVcr) and join our public weekly planning meetings!
|
||||
|
||||
Reference in New Issue
Block a user