77 - reopened
88 - synchronize
99
10- workflow_dispatch :
11-
1210permissions :
1311 pull-requests : write
1412
1513jobs :
16-
17- # ------------------------------------------------------------
18- # Auto-label new pull requests
19- # ------------------------------------------------------------
20- auto-label-new-prs :
21- if : github.event_name == 'pull_request'
14+ auto-label-prs :
2215 runs-on : ubuntu-latest
2316
2417 steps :
@@ -29,95 +22,53 @@ jobs:
2922 const pr = context.payload.pull_request;
3023 const branch = pr.head.ref;
3124
32- let labels = ['gssoc-26'];
25+ let labels = ['gssoc-2026', 'needs review'];
26+
27+ // Difficulty Labels
28+ if (branch.startsWith('level1/')) {
29+ labels.push('level:beginner');
30+ }
31+
32+ if (branch.startsWith('level2/')) {
33+ labels.push('level:intermediate');
34+ }
35+
36+ if (branch.startsWith('level3/')) {
37+ labels.push('level:advanced');
38+ }
39+
40+ if (branch.startsWith('level4/')) {
41+ labels.push('level:critical');
42+ }
3343
34- if (branch.startsWith('fix/')) {
35- labels.push('bug');
44+ // Type Labels
45+ if (branch.includes('fix/')) {
46+ labels.push('type:bug');
3647 }
3748
38- if (branch.startsWith ('feat/')) {
39- labels.push('enhancement ');
49+ if (branch.includes ('feat/')) {
50+ labels.push('type:feature ');
4051 }
4152
42- if (branch.startsWith ('docs/')) {
43- labels.push('documentation ');
53+ if (branch.includes ('docs/')) {
54+ labels.push('type:docs ');
4455 }
4556
46- if (branch.startsWith('style /')) {
47- labels.push('ui ');
57+ if (branch.includes('refactor /')) {
58+ labels.push('type:refactor ');
4859 }
4960
50- if (branch.startsWith ('test/')) {
51- labels.push('testing');
61+ if (branch.includes ('test/')) {
62+ labels.push('type: testing');
5263 }
5364
54- if (branch.startsWith('refactor /')) {
55- labels.push('refactor ');
65+ if (branch.includes('style /')) {
66+ labels.push('type:design ');
5667 }
5768
5869 await github.rest.issues.addLabels({
5970 owner: context.repo.owner,
6071 repo: context.repo.repo,
6172 issue_number: pr.number,
6273 labels
63- });
64-
65- # ------------------------------------------------------------
66- # Apply labels to ALL existing PRs
67- # ------------------------------------------------------------
68- label-existing-prs :
69- if : github.event_name == 'workflow_dispatch'
70- runs-on : ubuntu-latest
71-
72- steps :
73- - name : Label all existing PRs
74- uses : actions/github-script@v7
75- with :
76- script : |
77- const pulls = await github.paginate(
78- github.rest.pulls.list,
79- {
80- owner: context.repo.owner,
81- repo: context.repo.repo,
82- state: 'all'
83- }
84- );
85-
86- for (const pr of pulls) {
87-
88- const branch = pr.head.ref;
89- let labels = ['gssoc-26'];
90-
91- if (branch.startsWith('fix/')) {
92- labels.push('bug');
93- }
94-
95- if (branch.startsWith('feat/')) {
96- labels.push('enhancement');
97- }
98-
99- if (branch.startsWith('docs/')) {
100- labels.push('documentation');
101- }
102-
103- if (branch.startsWith('style/')) {
104- labels.push('ui');
105- }
106-
107- if (branch.startsWith('test/')) {
108- labels.push('testing');
109- }
110-
111- if (branch.startsWith('refactor/')) {
112- labels.push('refactor');
113- }
114-
115- await github.rest.issues.addLabels({
116- owner: context.repo.owner,
117- repo: context.repo.repo,
118- issue_number: pr.number,
119- labels
120- });
121-
122- console.log(`Labels added to PR #${pr.number}`);
123- }
74+ });
0 commit comments