-
-
Notifications
You must be signed in to change notification settings - Fork 480
84 lines (78 loc) · 2.1 KB
/
pr.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
name: Check PR
on:
pull_request_target: # zizmor: ignore[dangerous-triggers]
types:
- opened
- edited
- synchronize
jobs:
pr:
if: github.repository == 'oxc-project/oxc'
name: Label and Check PR Title
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5
- name: Validate PR title
id: pr-title
uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
requireScope: true
disallowScopes: |
build
chore
ci
release
revert
types: |
build
chore
ci
docs
feat
fix
perf
refactor
release
revert
style
test
- name: Get category label from PR title
id: get-category
env:
PR_TYPE: ${{ steps.pr-title.outputs.type }}
run: |
case "$PR_TYPE" in
"feat")
CATEGORY="C-enhancement"
;;
"fix")
CATEGORY="C-bug"
;;
"test")
CATEGORY="C-test"
;;
"refactor" | "chore" | "style")
CATEGORY="C-cleanup"
;;
"docs")
CATEGORY="C-docs"
;;
"perf")
CATEGORY="C-performance"
;;
*)
CATEGORY=""
;;
esac
echo "CATEGORY=$CATEGORY" >> $GITHUB_OUTPUT
- name: Add category label
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
if: ${{ steps.get-category.outputs.CATEGORY != '' }}
with:
labels: ${{ steps.get-category.outputs.CATEGORY }}