feat: add auto-labeler based off of code changes
Relates to:
This PR addresses the need to automate the labeling of pull requests based on file paths and branch names, enhancing workflow efficiency and organization. https://github.com/ai16z/eliza/issues/1325
Risks
- Risk Level: Low
- Potential Impact: Misconfiguration may lead to incorrect labels being applied, which could cause confusion among contributors.
Background
What does this PR do?
This PR introduces a GitHub Actions workflow that automatically labels pull requests based on the paths of modified files and branch names. It utilizes the actions/labeler action to apply predefined labels, streamlining the triage process.
What kind of change is this?
- Features (non-breaking change which adds functionality)
Documentation changes needed?
- My changes require a change to the project documentation.
- I have updated the documentation accordingly to include information about the new labeling workflow and how to configure it.
Testing
Where should a reviewer start?
Review the .github/labeler.yml file for label configurations and the .github/workflows/labeler.yml file for the workflow setup.
Detailed testing steps
-
Review Configuration Files:
- Ensure that
.github/labeler.ymlcontains accurate label definitions corresponding to file paths and branch naming conventions. - Verify that
.github/workflows/labeler.ymlis correctly configured to trigger on pull request events.
- Ensure that
-
Create Test Pull Requests:
- Submit pull requests that modify files in various directories or branches to test if the appropriate labels are applied automatically.
-
Monitor Workflow Execution:
- Observe the Actions tab in the repository to confirm that the workflow runs as expected and applies the correct labels.
-
Validate Label Application:
- Check the pull requests to ensure that the labels applied match the criteria defined in
.github/labeler.yml.
- Check the pull requests to ensure that the labels applied match the criteria defined in
-
Adjust Configurations if Necessary:
- Based on testing outcomes, refine the label definitions or workflow settings to achieve the desired labeling behavior.
Deployment instructions
No special deployment instructions are required. Once merged, the workflow will be active and apply labels to new pull requests based on the defined criteria.
By implementing this automated labeling system, we aim to improve the efficiency of our pull request management process, ensuring that contributions are accurately categorized and reviewed promptly.