|
18 | 18 | # Modified by Datazip Pvt. Ltd. in 2026 |
19 | 19 | # Original work Copyright The Apache Software Foundation (ASF) |
20 | 20 |
|
21 | | -name: license-check |
22 | | - |
| 21 | +name: Modification-Header-Check |
| 22 | + |
23 | 23 | on: |
24 | | - push: |
25 | | - branches: |
26 | | - - "*" |
27 | 24 | pull_request: |
28 | 25 | branches: |
29 | 26 | - "master" |
30 | 27 | - "staging" |
31 | | - |
| 28 | + |
32 | 29 | jobs: |
33 | | - license-check: |
| 30 | + modification-header-check: |
34 | 31 | runs-on: ubuntu-latest |
35 | | - |
| 32 | + |
36 | 33 | steps: |
37 | 34 | - name: Checkout code |
38 | 35 | uses: actions/checkout@v4 |
39 | 36 | with: |
40 | 37 | fetch-depth: 0 |
41 | | - |
| 38 | + |
42 | 39 | - name: Check modifications header |
43 | 40 | run: | |
44 | 41 | echo "Checking modified files..." |
45 | | - |
46 | | - CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) |
47 | | - if [ "$CURRENT_BRANCH" = "staging" ]; then |
48 | | - BASE_BRANCH="origin/master" |
49 | | - else |
50 | | - BASE_BRANCH="origin/staging" |
51 | | - fi |
52 | | - |
53 | | - CHANGED_FILES=$(git diff --name-only $BASE_BRANCH...HEAD) |
54 | | - DATAZIP_MODIFICATION_YEAR_REGEX="Modified by Datazip Pvt. Ltd. in [0-9]{4}" |
| 42 | +
|
| 43 | + BASE_BRANCH=${{ github.base_ref }} |
| 44 | + CHANGED_FILES=$(git diff --name-only origin/$BASE_BRANCH...HEAD) |
| 45 | + DATAZIP_MODIFICATION_YEAR_REGEX="Modified by Datazip Pvt\. Ltd\. in [0-9]{4}" |
55 | 46 | ASF_ORIGINAL_WORK_NOTICE_REGEX="Original work Copyright The Apache Software Foundation \\(ASF\\)" |
56 | 47 | NOT_MODIFIED_FILES="" |
57 | 48 | for file in $CHANGED_FILES; do |
58 | 49 | if [[ ! -f "$file" ]]; then |
59 | 50 | continue |
60 | 51 | fi |
61 | | - if ! sed -n '18p' "$file" | grep -q -E "$DATAZIP_MODIFICATION_YEAR_REGEX" || ! sed -n '19p' "$file" | grep -q -E "$ASF_ORIGINAL_WORK_NOTICE_REGEX"; then |
| 52 | +
|
| 53 | + if ! head -40 "$file" | grep -q -E "$DATAZIP_MODIFICATION_YEAR_REGEX" || ! head -40 "$file" | grep -q -E "$ASF_ORIGINAL_WORK_NOTICE_REGEX"; then |
62 | 54 | NOT_MODIFIED_FILES+="$file"$'\n' |
63 | 55 | fi |
64 | 56 | done |
65 | | - |
| 57 | +
|
66 | 58 | if [ -n "$NOT_MODIFIED_FILES" ]; then |
67 | | - echo "ERROR: The following files do not have Modifications header:" |
| 59 | + echo "::error::The following files are missing required modification headers:" |
68 | 60 | echo "$NOT_MODIFIED_FILES" |
69 | 61 | exit 1 |
70 | 62 | fi |
71 | | - |
| 63 | +
|
72 | 64 | echo "All modified files have Modifications header" |
0 commit comments