|
1 | | -name: PR Description Validation |
| 1 | +name: PR Title Validation |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | pull_request: |
5 | 5 | branches: [develop] |
6 | 6 | types: [opened, edited, synchronize] |
7 | 7 |
|
8 | 8 | jobs: |
9 | | - validate-pr-description: |
| 9 | + validate-pr-title: |
10 | 10 | runs-on: ubuntu-latest |
11 | 11 | steps: |
12 | 12 | - name: Checkout code |
13 | 13 | uses: actions/checkout@v4 |
14 | 14 |
|
15 | | - - name: Validate PR Description |
| 15 | + - name: Validate PR Title |
16 | 16 | env: |
17 | 17 | PR_TITLE: ${{ github.event.pull_request.title }} |
18 | 18 | PR_BODY: ${{ github.event.pull_request.body }} |
@@ -74,40 +74,16 @@ jobs: |
74 | 74 | return 0 |
75 | 75 | } |
76 | 76 | |
77 | | - # Track validation results |
78 | | - TITLE_VALID=true |
79 | | - DESCRIPTION_VALID=true |
80 | | - |
81 | | - # Validate PR Title |
| 77 | + # Validate PR Title (always required) |
82 | 78 | echo "=== Validating PR Title ===" |
83 | 79 | if ! validate_ticket "$PR_TITLE" "PR title"; then |
84 | | - TITLE_VALID=false |
85 | | - fi |
86 | | - |
87 | | - echo "" |
88 | | - echo "=== Validating PR Description ===" |
89 | | - # Validate PR Description |
90 | | - if [ -n "$PR_BODY" ]; then |
91 | | - if ! validate_ticket "$PR_BODY" "PR description"; then |
92 | | - DESCRIPTION_VALID=false |
93 | | - fi |
94 | | - else |
95 | | - echo "ERROR: PR description is empty." |
96 | | - echo "Both PR title and description must contain valid ticket IDs." |
97 | | - DESCRIPTION_VALID=false |
98 | | - fi |
99 | | - |
100 | | - echo "" |
101 | | - echo "=== Validation Summary ===" |
102 | | - echo "PR Title: $([ "$TITLE_VALID" = true ] && echo "PASSED" || echo " FAILED")" |
103 | | - echo "PR Description: $([ "$DESCRIPTION_VALID" = true ] && echo "PASSED" || echo "FAILED")" |
104 | | - |
105 | | - # Exit with error if either validation failed |
106 | | - if [ "$TITLE_VALID" = false ] || [ "$DESCRIPTION_VALID" = false ]; then |
107 | 80 | echo "" |
108 | | - echo "VALIDATION FAILED: Both PR title and description must contain valid ticket IDs from the approved list: ${VALID_TICKET_IDS[@]}" |
| 81 | + echo "VALIDATION FAILED: PR title must contain a valid ticket ID from the approved list: ${VALID_TICKET_IDS[@]}" |
109 | 82 | exit 1 |
110 | 83 | fi |
111 | 84 | |
112 | 85 | echo "" |
113 | | - echo "ALL VALIDATIONS PASSED! Both PR title and description contain valid ticket IDs." |
| 86 | + echo "=== PR Title Validation PASSED ===" |
| 87 | + echo "Ticket ID found in PR title." |
| 88 | + echo "" |
| 89 | + echo "ALL VALIDATIONS PASSED! PR title contains a valid ticket ID." |
0 commit comments