|
1 | | -# Triggers CodeRabbit's plan feature when a difficulty label is added to an issue. |
2 | | -# Only fires for skill: beginner/intermediate/advanced labels, preventing duplicate runs. |
| 1 | +# Triggers CodeRabbit plan only as an assignment fallback. |
| 2 | +# Primary trigger path is the approved workflow after unlock. |
3 | 3 | name: CodeRabbit Plan Trigger |
4 | 4 | on: |
5 | 5 | issues: |
6 | | - types: [labeled] |
| 6 | + types: [assigned] |
7 | 7 |
|
8 | 8 | permissions: |
9 | 9 | issues: write |
10 | 10 | contents: read |
11 | 11 |
|
12 | 12 | jobs: |
13 | 13 | coderabbit_plan_trigger: |
14 | | - runs-on: ubuntu-latest |
| 14 | + runs-on: hl-sdk-py-lin-md |
15 | 15 | concurrency: |
16 | 16 | group: coderabbit-plan-${{ github.event.issue.number }} |
17 | 17 | cancel-in-progress: false |
18 | | - # Only run when the newly added label is a difficulty label (skill: beginner/intermediate/advanced) |
| 18 | + # Fallback only: assigned, open, unlocked, approved, and difficulty-labeled issue. |
19 | 19 | if: > |
20 | | - github.event.action == 'labeled' && |
| 20 | + github.event.action == 'assigned' && |
21 | 21 | github.event.issue.state == 'open' && |
22 | | - contains(fromJson('["skill: beginner","skill: intermediate","skill: advanced"]'), github.event.label.name) |
| 22 | + github.event.issue.locked == false && |
| 23 | + contains(github.event.issue.labels.*.name, 'approved') && |
| 24 | + ( |
| 25 | + contains(github.event.issue.labels.*.name, 'skill: beginner') || |
| 26 | + contains(github.event.issue.labels.*.name, 'skill: intermediate') || |
| 27 | + contains(github.event.issue.labels.*.name, 'skill: advanced') |
| 28 | + ) |
23 | 29 |
|
24 | 30 | steps: |
25 | 31 | - name: Harden the runner |
|
29 | 35 |
|
30 | 36 | - name: Checkout repository |
31 | 37 | uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 #v6.0.3 |
| 38 | + with: |
| 39 | + persist-credentials: false |
32 | 40 |
|
33 | 41 | - name: Trigger CodeRabbit Plan |
34 | 42 | env: |
|
0 commit comments