3333 steps :
3434 - uses : actions/checkout@v4
3535 with :
36- fetch-depth : 0
36+ fetch-depth : 1
3737
3838 - name : Set up JDK and Maven
3939 uses : actions/setup-java@v3
@@ -43,99 +43,75 @@ jobs:
4343 cache : ' maven'
4444
4545 - name : Run Apache RAT Check
46- id : rat
4746 run : |
4847 echo "Running Apache Rat license check..."
4948 mvn apache-rat:check | tee rat-output.log
5049
51- # Check for build failure
5250 if grep -q "\[INFO\] BUILD FAILURE" rat-output.log; then
53- echo "rat_failed=true" >> $GITHUB_OUTPUT
5451 echo "::error::Apache Rat check failed - build failure detected"
5552 exit 1
5653 fi
57-
58- # If we got here, the check passed
59- echo "rat_failed=false" >> $GITHUB_OUTPUT
60- echo "Apache Rat check passed successfully"
6154
6255 - name : Run NOTICE Year and binary file checks
63- id : additional
6456 run : |
6557 set -o pipefail
6658 chmod +x ./tool/jenkins/rat_check.sh
6759 ./tool/jenkins/rat_check.sh 2>&1 | tee license_checks.txt
68- RAT_CHECK_EXIT_CODE=${PIPESTATUS[0]}
69-
70- # Add summary based on exit code
71- {
72- if [ ${RAT_CHECK_EXIT_CODE} -eq 0 ]; then
73- echo "### ✅ Additional Checks Passed"
74- echo "- NOTICE file year is current"
75- echo "- Version numbers match"
76- echo "- No unexpected binary files found"
77- else
78- echo "### ❌ Additional Checks Failed"
79- echo ""
80- echo "**Check output:**"
81- echo "\`\`\`"
82- cat license_checks.txt
83- echo "\`\`\`"
84- exit 1
85- fi
86- } >> "$GITHUB_STEP_SUMMARY"
8760
8861 - name : Upload Rat check results
8962 if : always()
9063 uses : actions/upload-artifact@v4
9164 with :
9265 name : rat-check-results
93- path : rat-output.log
66+ path : |
67+ rat-output.log
68+ license_checks.txt
9469 retention-days : 7
9570
96- - name : Generate Job Summary
71+ - name : Generate Summary
9772 if : always()
9873 run : |
99- {
100- if [[ ! -f rat-output.log ]]; then
101- echo "### ⚠️ No Output Log Found"
102- exit 0
103- fi
104-
105- # Determine result status
106- if grep -q "\[INFO\] BUILD SUCCESS" rat-output.log; then
107- echo "### ✅ License Check Passed"
108- echo "All files comply with Apache License requirements."
109- else
110- echo "### ❌ License Check Failed"
111- echo ""
112-
113- # Extract and display files with unapproved licenses
114- if grep -q "Files with unapproved licenses:" rat-output.log; then
115- echo "**Files with unapproved licenses:**"
116- echo ""
117- sed -n '/Files with unapproved licenses:/,/\[INFO\] ------------------------------------------------------------------------/p' rat-output.log | \
118- grep -v "\[INFO\] ------------------------------------------------------------------------" | \
119- grep -v "^$" | \
120- head -20 | \
121- sed 's/^/- /'
122- echo ""
123- fi
74+ # Check RAT results
75+ if [[ -f rat-output.log ]] && grep -q "\[INFO\] BUILD SUCCESS" rat-output.log; then
76+ echo "### ✅ License Check Passed" >> "$GITHUB_STEP_SUMMARY"
77+ echo "All files comply with Apache License requirements." >> "$GITHUB_STEP_SUMMARY"
78+ elif [[ -f rat-output.log ]]; then
79+ echo "### ❌ License Check Failed" >> "$GITHUB_STEP_SUMMARY"
80+ echo "" >> "$GITHUB_STEP_SUMMARY"
12481
125- # Show summary statistics
126- if grep -q "Rat check: Summary over all files" rat-output.log; then
127- echo "**Summary:**"
128- grep "Rat check: Summary over all files" rat-output.log | sed 's/\[INFO\] //'
129- fi
82+ if grep -q "Files with unapproved licenses:" rat-output.log; then
83+ echo "**Files with unapproved licenses:**" >> "$GITHUB_STEP_SUMMARY"
84+ echo "" >> "$GITHUB_STEP_SUMMARY"
85+ sed -n '/Files with unapproved licenses:/,/\[INFO\] ------------------------------------------------------------------------/p' rat-output.log | \
86+ grep -v "\[INFO\] ------------------------------------------------------------------------" | \
87+ grep -v "^$" | \
88+ head -20 | \
89+ sed 's/^/- /' >> "$GITHUB_STEP_SUMMARY"
90+ echo "" >> "$GITHUB_STEP_SUMMARY"
13091 fi
131- } >> "$GITHUB_STEP_SUMMARY"
13292
133- - name : Report Status
134- if : always()
135- shell : bash {0}
136- run : |
137- if [[ -f rat-output.log ]] && grep -q "\[INFO\] BUILD SUCCESS" rat-output.log; then
138- exit 0
93+ if grep -q "Rat check: Summary over all files" rat-output.log; then
94+ echo "**Summary:**" >> "$GITHUB_STEP_SUMMARY"
95+ grep "Rat check: Summary over all files" rat-output.log | sed 's/\[INFO\] //' >> "$GITHUB_STEP_SUMMARY"
96+ fi
13997 else
140- exit 1
98+ echo "### ⚠️ No RAT Output Log Found" >> "$GITHUB_STEP_SUMMARY"
99+ fi
100+
101+ # Check additional checks results
102+ echo "" >> "$GITHUB_STEP_SUMMARY"
103+ if [[ -f license_checks.txt ]]; then
104+ if grep -q "Error" license_checks.txt || grep -q "FAILED" license_checks.txt; then
105+ echo "### ❌ Additional Checks Failed" >> "$GITHUB_STEP_SUMMARY"
106+ echo "" >> "$GITHUB_STEP_SUMMARY"
107+ echo "**Check output:**" >> "$GITHUB_STEP_SUMMARY"
108+ echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
109+ cat license_checks.txt >> "$GITHUB_STEP_SUMMARY"
110+ echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
111+ else
112+ echo "### ✅ Additional Checks Passed" >> "$GITHUB_STEP_SUMMARY"
113+ echo "- NOTICE file year is current" >> "$GITHUB_STEP_SUMMARY"
114+ echo "- Version numbers match" >> "$GITHUB_STEP_SUMMARY"
115+ echo "- No unexpected binary files found" >> "$GITHUB_STEP_SUMMARY"
116+ fi
141117 fi
0 commit comments