Skip to content

feat: Issue auto labeling and assigining#12475

Merged
Parsaabasi merged 21 commits into
espressif:masterfrom
Parsaabasi:master
Jun 10, 2026
Merged

feat: Issue auto labeling and assigining#12475
Parsaabasi merged 21 commits into
espressif:masterfrom
Parsaabasi:master

Conversation

@Parsaabasi

Copy link
Copy Markdown
Contributor

Description of Change

This will help automate the labeling process and auto assigns the issues to the responsible people according to the areas.

@Parsaabasi Parsaabasi requested a review from lucasssvaz as a code owner March 24, 2026 10:12
@github-actions

github-actions Bot commented Mar 24, 2026

Copy link
Copy Markdown
Contributor
Warnings
⚠️

Some issues found for the commit messages in this PR:

  • the commit message "Add missing BluetoothSerial Owner":
    • summary looks empty
    • type/action looks empty
  • the commit message "Enhance issue-auto-label workflow to dynamically assign labels and assignees based on CODEOWNERS. Updated area label mappings and improved error handling for label application. Added functions for parsing CODEOWNERS and matching paths to owners.":
    • summary should not end with a period (full stop)
    • summary looks empty
    • type/action looks empty
  • the commit message "Potential fix for pull request finding":
    • summary looks empty
    • type/action looks empty
  • the commit message "Potential fix for pull request finding":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "Update issue-auto-label.yml":
    • summary looks empty
    • type/action looks empty
  • the commit message "issue-auto-label":
    • summary looks empty
    • type/action looks empty
  • the commit message "update BLE":
    • summary looks empty
    • type/action looks empty

Please fix these commit messages - here are some basic tips:

  • follow Conventional Commits style
  • correct format of commit message should be: <type/action>(<scope/component>): <summary>, for example fix(esp32): Fixed startup timeout issue
  • allowed types are: change,ci,docs,feat,fix,refactor,remove,revert,test
  • sufficiently descriptive message summary should be between 10 to 72 characters and start with upper case letter
  • avoid Jira references in commit messages (unavailable/irrelevant for our customers)

TIP: Install pre-commit hooks and run this check when committing (uses the Conventional Precommit Linter).

👋 Hello Parsaabasi, we appreciate your contribution to this project!


📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more.

🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project.

Click to see more instructions ...


This automated output is generated by the PR linter DangerJS, which checks if your Pull Request meets the project's requirements and helps you fix potential issues.

DangerJS is triggered with each push event to a Pull Request and modify the contents of this comment.

Please consider the following:
- Danger mainly focuses on the PR structure and formatting and can't understand the meaning behind your code or changes.
- Danger is not a substitute for human code reviews; it's still important to request a code review from your colleagues.
- Resolve all warnings (⚠️ ) before requesting a review from human reviewers - they will appreciate it.
- To manually retry these Danger checks, please navigate to the Actions tab and re-run last Danger workflow.

Review and merge process you can expect ...


We do welcome contributions in the form of bug reports, feature requests and pull requests.

1. An internal issue has been created for the PR, we assign it to the relevant engineer.
2. They review the PR and either approve it or ask you for changes or clarifications.
3. Once the GitHub PR is approved we do the final review, collect approvals from core owners and make sure all the automated tests are passing.
- At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation.
4. If the change is approved and passes the tests it is merged into the default branch.

Generated by 🚫 dangerJS against 0a38764

@lucasssvaz lucasssvaz requested a review from Copilot April 8, 2026 16:37
@lucasssvaz lucasssvaz added the Type: CI & Testing Related to continuous integration, automated testing, or test infrastructure. label Apr 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a GitHub Actions workflow to automatically label issues (based on issue template detection and keyword matching) and auto-assign issues to maintainers based on applied “Area:” labels.

Changes:

  • Introduces a new issue-auto-label workflow triggered on issues opened/edited.
  • Applies labels inferred from issue form templates and keyword scanning of title/body.
  • Auto-assigns issues to specific maintainers when certain area labels are present.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/issue-auto-label.yml Outdated
Comment thread .github/workflows/issue-auto-label.yml Outdated
…signees based on CODEOWNERS. Updated area label mappings and improved error handling for label application. Added functions for parsing CODEOWNERS and matching paths to owners.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 3 comments.

Comment thread .github/workflows/issue-auto-label.yml Outdated
Comment thread .github/workflows/issue-auto-label.yml Outdated
Comment thread .github/workflows/issue-auto-label.yml
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 3 comments.

Comment thread .github/workflows/issue-auto-label.yml Outdated
Comment thread .github/workflows/issue-auto-label.yml Outdated
Comment thread .github/workflows/issue-auto-label.yml Outdated
@lucasssvaz lucasssvaz requested a review from a team as a code owner May 11, 2026 13:01
@Parsaabasi Parsaabasi added the Status: Review needed Issue or PR is awaiting review label May 13, 2026
@me-no-dev

Copy link
Copy Markdown
Member

@Parsaabasi please resolve any non applicable comment from CoPilot

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

Comment thread .github/workflows/issue-auto-label.yml Outdated
Comment thread .github/workflows/issue-auto-label.yml Outdated
Comment thread .github/workflows/issue-auto-label.yml Outdated
Comment thread .github/workflows/issue-auto-label.yml Outdated
Comment thread .github/workflows/issue-auto-label.yml
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

@lucasssvaz lucasssvaz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Parsaabasi Here's what still needs to be addressed:

  1. areaLabelToPath still maps 'Area: BT classic' to /libraries/BLE/ — it should be /libraries/BluetoothSerial/ since we added the CODEOWNERS entry for it.
  2. The workflow re-adds Status: Awaiting triage and Type: Feature request on every edited event. This will fight with triagers who remove/change those labels. Template-based labels should only be applied on opened, not on edited or labeled.
  3. Remove the # Full label list: .github/ISSUE_TEMPLATE/LABELS.md reference — that file doesn't exist.
  4. 'Area: Libraries': '/libraries/__nocodeowners__/x' points to a non-existent path. Either remove it from the map or add a comment explaining it intentionally resolves to no one.
  5. Some keywords are too generic and will cause false positives: component, BT (will trigger on BLE issues too), OT, CI, Tools, Performance. Consider using more specific phrases or matching only against template fields like "Related area".
  6. When triggered by labeled, the workflow re-runs the full keyword scan unnecessarily. It should skip label computation and only run the assignee logic.
  7. Add concurrency: { group: issue-${{ github.event.issue.number }} } to avoid race conditions on rapid edits.
  8. matchesPattern only handles a few hardcoded glob patterns (*, **/ci.yml, /.*, /*.md) and falls back to prefix matching for everything else. If a more complex pattern is added to CODEOWNERS in the future it will silently resolve to the wrong owners. Consider using a proper glob matching library like minimatch or picomatch.

@lucasssvaz lucasssvaz added Status: Awaiting Response Awaiting a response from the author and removed Status: Review needed Issue or PR is awaiting review labels May 27, 2026
@lucasssvaz lucasssvaz added Status: Pending Merge Pull Request is ready to be merged and removed Status: Awaiting Response Awaiting a response from the author labels Jun 8, 2026
@Parsaabasi Parsaabasi merged commit 8eb48ed into espressif:master Jun 10, 2026
17 checks passed
Comment thread .github/CODEOWNERS

@espressif-bot espressif-bot Jun 10, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Release Notes

Area Description Breaking Change Approved
CI & testing Added automatic labeling for issues to streamline the organization process.
Details

Open

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Status: Pending Merge Pull Request is ready to be merged Type: CI & Testing Related to continuous integration, automated testing, or test infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants