Project board / issue / PR automation
- Dominant language
- C++
- Stars
- 25.7k
- Forks
- 6.2k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 21
Description
Replaces #8969 as the catch-all issue for board automation.
There have been a lot of ideas flying around related to boards so I thought I'd gather them in a single issue. Ultimately we may want to split it into smaller issues if some parts turn out to require significantly more effort but I think most of these will be fairly easy and the biggest bottleneck here is making decisions about what exactly we want and how to achieve it. For this a single list is easier to manage and update.
1. **Welcome note for external contributors**
- [x] Automatically posting a short message welcoming the contributor in new external PRs (https://github.com/ethereum/solidity/blob/develop/.github/workflows/welcome-external-pr.yml).
- Should link to the [Contributing](https://docs.soliditylang.org/en/latest/contributing.html) page.
- Should link to the [review checklist](https://github.com/ethereum/solidity/blob/develop/ReviewChecklist.md).
- Should invite the contributor to ask questions on #solidity-dev.
- [ ] Needs decision: what about solc-js?
2. **Handling stale issues**
- Initial implementation: #13499.
- [x] Needs decision: specific rules what and when to warn/close.
- [ ] Needs decision: what about solc-js?
- [x] Do dry-run and evaluate results.
- [x] Enable.
3. **Handling stale PRs**
- Initial implementation: #13522.
- [ ] Needs decision: specific rules what and when to warn/close.
- [ ] Needs decision: what about solc-js?
- [x] Do dry-run and evaluate results.
- [x] Enable.
4. **Board automation**
- [x] Adding new issues in the solidity repo to the `Triage` column on the board (https://github.com/ethereum/solidity/blob/develop/.github/workflows/triage.yml). Note: It only works for project boards at repository level (i.e. GH Project Classic).
- [ ] Blocker: permissions for the bot (https://github.com/ethereum/devops/issues/1128).
- [ ] Moving triaged issues to the right column
- An issue is considered triaged when it has at least the effort and impact labels.
- An triaged issue without a desirability label goes to a column for issues that need a decision.
- An triaged issue with a desirability label but with `needs design` goes to design backlog.
- An triaged issue with a desirability label and without `needs design` goes to implementation backlog.
- [ ] Moving PRs with `takeover` label to the `Takeover` column on the focus board. Add removing them when the label is removed.
- [ ] Handling issues from solc-js as well in all of the above.
- [ ] Automatically archive issues after a release has been posted on GitHub
5. **Automatic PR labeling**
- [x] `external contribution` label for PRs submitted from people not in the [Solidity team](https://github.com/orgs/ethereum/teams/solidity).
- [ ] Adding `has-dependencies` label for PRs or issues that have "Depends on #".
- [ ] Labels for simple cases where PRs touch only selected files (we'll have to still apply then manually in mixed cases):
- `documentation` label for PRs touching only files inside `docs/`, `README`s and maybe a few other docs files we have.
- `testing` if the PR only touches tests.
- `optimizer` if the PR only touches optimizer source.
- [ ] Handling PRs from solc-js as well in all of the above (when it makes sense).
6. **Random assignments**
- [ ] Needs decision: do we want this?
- [ ] Randomly assigning team members to issues that need triage.
- [ ] Randomly assigning team members as reviewers for external PRs.
Contributor guide
Research direction
Start by reading the existing workflows at .github/workflows/welcome-external-pr.yml and .github/workflows/triage.yml, then review the initial implementations in #13499 and #13522. Inventory the unchecked board, labeling, and assignment items and the decisions they require; this issue is complete only when the remaining scope is split into concrete, agreed tasks or implemented workflows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, github-actions
- Domain
- devops, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100