Skip to content

Commit 15699e8

Browse files
committed
remove unnecessary whitespace in test script cleanup during coverage object discovery
1 parent 7bbec06 commit 15699e8

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: "Check PR Title"
2+
3+
on:
4+
pull_request:
5+
types: [opened, edited, reopened, synchronize]
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
pr-title:
12+
name: Validate PR title
13+
runs-on: ubuntu-24.04
14+
# Run always except: for 'edited' only run when title changed
15+
if: >-
16+
github.event_name != 'pull_request' ||
17+
github.event.action != 'edited' ||
18+
contains(toJson(github.event.changes), 'title')
19+
steps:
20+
- name: Check out base branch (for script)
21+
uses: actions/checkout@v5
22+
with:
23+
ref: ${{ github.event.pull_request.base.ref }}
24+
- name: Run PR title check
25+
run: |
26+
python3 scripts/check_pr_title.py "${{ github.event.pull_request.title }}"

scripts/check_pr_title.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/usr/bin/env python3
2+
import re
3+
import sys
4+
5+
6+
def main():
7+
# Check that exactly one argument is provided (PR title)
8+
if len(sys.argv) != 2:
9+
print("Usage: check_pr_title.py '<PR title>'")
10+
sys.exit(1)
11+
12+
title = sys.argv[1].strip()
13+
14+
# Regex for [TASK] format
15+
task_pattern = re.compile(
16+
r"^\[TASK\]\s*\d+-\d+\.\s+[А-ЯЁ][а-яё]+ [А-ЯЁ][а-яё]+ [А-ЯЁ][а-яё]+\.\s+[0-9А-Яа-я\-]+\. .+$"
17+
)
18+
19+
# Regex for [DEV] format
20+
dev_pattern = re.compile(r"^\[DEV\]\s+.+$")
21+
22+
# Check both patterns
23+
if task_pattern.match(title) or dev_pattern.match(title):
24+
print("✅ PR title is valid")
25+
sys.exit(0)
26+
else:
27+
print("❌ Invalid PR title format")
28+
sys.exit(1)
29+
30+
31+
if __name__ == "__main__":
32+
main()

0 commit comments

Comments
 (0)