diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 8e050404ee..be409e020d 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,20 +1,18 @@ categories: - - title: '🚀 Features' + - title: "🚀 Features" labels: - - 'type: enhancement' - - 'type: epic' - - 'type: feature request' - - title: '🐛 Bug Fixes' + - "type: feature request" + - "type: enhancement" + - "type: epic" + - title: "🐛 Fixes" labels: - - 'type: bug' - - title: '🧰 Maintenance' - labels: - - 'type: chore' - - 'type: ci' - - title: '📖 Documentaion' - labels: - - 'type: documentation' -change-template: '- $TITLE @$AUTHOR (#$NUMBER)' + - "type: bug" + - title: "🧰 Maintenance" + labels: + - "type: chore" + - "type: ci" + - "type: documentation" +change-template: "- $TITLE @$AUTHOR (#$NUMBER)" change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. template: | ## Changes diff --git a/.github/workflows/auto-assign-author.yml b/.github/workflows/auto-assign-author.yml new file mode 100644 index 0000000000..1a120e67f4 --- /dev/null +++ b/.github/workflows/auto-assign-author.yml @@ -0,0 +1,14 @@ +# Auto assign author, tags, and reviewers to pull requests +name: "Auto Author Assign" +on: + pull_request: + types: [opened] +permissions: + pull-requests: write +jobs: + assign-author: + runs-on: ubuntu-latest + steps: + - uses: toshimaru/auto-author-assign@v1.1.0 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/auto-label-conventional-commits.yaml b/.github/workflows/auto-label-conventional-commits.yaml new file mode 100644 index 0000000000..13745d25b4 --- /dev/null +++ b/.github/workflows/auto-label-conventional-commits.yaml @@ -0,0 +1,44 @@ +name: "Auto Label Conventional Commits" +on: + issues: + types: [opened] + pull_request: + types: [opened] + +permissions: + issues: write + pull-requests: write + +jobs: + label_issues: + runs-on: ubuntu-latest + steps: + - name: Label issue + uses: actions/github-script@v5 + with: + script: | + const title = context.payload.issue ? context.payload.issue.title : context.payload.pull_request.title; + const labelMapping = { + 'feat:': 'type: feature request', + 'perf:': 'type: enhancement', + 'fix:': 'type: bug', + 'docs:': 'type: documentation', + 'ci:': 'type: ci', + 'build:': 'type: ci', + 'chore:': 'type: chore', + 'test:': 'type: chore', + 'style:': 'type: chore', + 'refactor:': 'type: chore', + }; + for (const [prefix, label] of Object.entries(labelMapping)) { + if (title.startsWith(prefix)) { + const issue_number = context.payload.issue ? context.issue.number : context.payload.pull_request.number; + github.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issue_number, + labels: [label], + }); + break; + } + }