Description
Summary
Create a new GitHub action that adds/removes "community-contribution-in-progress" label on issues.
- When an external contributor is assigned to an issue, the action should add the "community-contribution-in-progress" label to the issue
- When an external contributor is unassigned from an issue, the action should remove the "community-contribution-in-progress" label
This needs to be a shared action with most of its logic placed in the .github repository. This shared part will then be called from the following repositories:
A. kolibri
B. kolibri-design-system
C. studio
D. ricecooker
E. le-utils
Guidance
Development process
- For ease of development, at first work on your own two repositories
- Test as many areas as possible manually
Later during the review process, we can offer guidance in areas specific to integration with our ecosystem, such as private secrets, etc.
Opening pull requests
To allow for smooth review and testing process, we'd ask you to organize pull requests as follows:
- (1) The 1st pull request with the re-usable shared logic to target the
.github
repository - (2) The 2nd pull request with a small action that re-uses (1) to target the
test-actions
repository. Imaginetest-actions
as a temporary representative of (A-E) repositories listed above.
Only after we have reviewed the two pull requests above, the final 5 pull requests can be open to (A-E) repositories. You will be instructed by a team member when the time comes to do so.
See the following action for an example:
3rd party workflows
- For security and upgrade reasons, we prefer our own implementation together with official 3rd party workflows if needed.
Programming language
- Generally for more complex actions, use JavaScript or Python scripts rather than bash.
Implementation
- To identify external contributors, use their association: it shouldn't be
MEMBER
and neitherOWNER
Acceptance criteria
- The action adds/removes the label when an external contributor is assigned/unassigned an issue
- The action ignores issues assigned/unassigned to core team members