|
14 | 14 | # |
15 | 15 | ################################################################################ |
16 | 16 |
|
17 | | -name: 'Ubuntu Version Sync' |
| 17 | +name: 'Ubuntu Version Sync Check' |
18 | 18 |
|
19 | 19 | on: |
20 | 20 | pull_request: |
21 | 21 | types: [opened, synchronize, reopened] |
22 | 22 |
|
23 | 23 | jobs: |
24 | 24 | check-sync: |
| 25 | + name: Ubuntu File Synchronization Check |
25 | 26 | runs-on: ubuntu-latest |
| 27 | + env: |
| 28 | + BASE_SHA: ${{ github.event.pull_request.base.sha }} |
| 29 | + HEAD_SHA: ${{ github.event.pull_request.head.sha }} |
26 | 30 | steps: |
27 | 31 | - name: 'Checkout code' |
28 | 32 | uses: actions/checkout@v4 |
|
34 | 38 | run: | |
35 | 39 | set -e |
36 | 40 | |
37 | | - MODIFIED_FILES=$(git diff --name-only ${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }}) |
| 41 | + MODIFIED_FILES=$(git diff --name-only $BASE_SHA...$HEAD_SHA) |
38 | 42 | echo "Checking for synchronized file changes..." |
39 | 43 | echo "Modified files in this PR:" |
40 | 44 | echo "$MODIFIED_FILES" |
@@ -63,27 +67,27 @@ jobs: |
63 | 67 | VERSIONS=("ubuntu-20-04" "ubuntu-24-04") |
64 | 68 |
|
65 | 69 | # Check Dockerfiles |
66 | | - for legacy_file in "${{!LEGACY_DOCKERFILES[@]}}"; do |
67 | | - if echo "$MODIFIED_FILES" | grep -q "^${legacy_file}$"; then |
| 70 | + for legacy_file in "${!LEGACY_DOCKERFILES[@]}"; do |
| 71 | + if [[ "${legacy_file}" == infra/* ]] && echo "$MODIFIED_FILES" | grep -q "^${legacy_file}$"; then |
68 | 72 | echo "Legacy file changed: $legacy_file. Verifying counterparts..." |
69 | | - for version in "${{VERSIONS[@]}}"; do |
70 | | - pattern=${{LEGACY_DOCKERFILES[$legacy_file]}} |
71 | | - versioned_file="${{pattern/{{version}}/$version}}" |
72 | | - if ! echo "$MODIFIED_FILES" | grep -q "^${{versioned_file}}$"; then |
| 73 | + for version in "${VERSIONS[@]}"; do |
| 74 | + pattern="${LEGACY_DOCKERFILES[$legacy_file]}" |
| 75 | + versioned_file="${pattern/\{version\}/$version}" |
| 76 | + if ! echo "$MODIFIED_FILES" | grep -q "^${versioned_file}$"; then |
73 | 77 | ERRORS+="\n- Legacy file '${legacy_file}' was changed, but its counterpart '${versioned_file}' was not." |
74 | 78 | fi |
75 | 79 | done |
76 | 80 | fi |
77 | 81 | done |
78 | 82 |
|
79 | 83 | # Check Scripts |
80 | | - for legacy_file in "${{!LEGACY_SCRIPTS[@]}}"; do |
| 84 | + for legacy_file in "${!LEGACY_SCRIPTS[@]}"; do |
81 | 85 | if echo "$MODIFIED_FILES" | grep -q "^${legacy_file}$"; then |
82 | 86 | echo "Legacy script changed: $legacy_file. Verifying counterparts..." |
83 | | - for version in "${{VERSIONS[@]}}"; do |
84 | | - pattern=${{LEGACY_SCRIPTS[$legacy_file]}} |
85 | | - versioned_file="${{pattern/{{version}}/$version}}" |
86 | | - if ! echo "$MODIFIED_FILES" | grep -q "^${{versioned_file}}$"; then |
| 87 | + for version in "${VERSIONS[@]}"; do |
| 88 | + pattern="${LEGACY_SCRIPTS[$legacy_file]}" |
| 89 | + versioned_file="${pattern/\{version\}/$version}" |
| 90 | + if ! echo "$MODIFIED_FILES" | grep -q "^${versioned_file}$"; then |
87 | 91 | ERRORS+="\n- Legacy script '${legacy_file}' was changed, but its counterpart '${versioned_file}' was not." |
88 | 92 | fi |
89 | 93 | done |
|
0 commit comments