Skip to content

Commit 3937dc8

Browse files
Enable Spotless verification for Android Port and add PR comments
- Added `spotless-maven-plugin` to `maven/android/pom.xml` configured for `Ports/Android/src`. - Updated `scripts/build-android-port.sh` to run `spotless:check` using JDK 17. - Updated `.github/workflows/scripts-android.yml` to generate and publish quality reports (including coverage) as a PR comment. - Updated scripts to correctly collect test results and coverage for reporting. - Updated `.github/scripts/generate-quality-report.py` to suppress missing report sections to avoid noise.
1 parent a2d3262 commit 3937dc8

File tree

4 files changed

+31
-13
lines changed

4 files changed

+31
-13
lines changed

.github/scripts/generate-quality-report.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -701,9 +701,8 @@ def build_report(
701701
)
702702
lines.extend([
703703
"",
704-
"### Static Analysis",
705704
])
706-
for block in (
705+
static_analysis_blocks = [
707706
format_spotbugs(
708707
spotbugs,
709708
html_urls.get("spotbugs"),
@@ -724,8 +723,19 @@ def build_report(
724723
archive_urls.get("checkstyle"),
725724
blob_base,
726725
),
727-
):
728-
lines.extend(block)
726+
]
727+
728+
has_findings = False
729+
for block in static_analysis_blocks:
730+
if block:
731+
has_findings = True
732+
break
733+
734+
if has_findings:
735+
lines.append("### Static Analysis")
736+
for block in static_analysis_blocks:
737+
lines.extend(block)
738+
729739
lines.extend(
730740
[
731741
"",

.github/workflows/scripts-android.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -162,15 +162,6 @@ jobs:
162162
if-no-files-found: warn
163163
retention-days: 14
164164
compression-level: 6
165-
- name: Prepare coverage for quality report
166-
if: ${{ always() && matrix.id == 'default' }}
167-
run: |
168-
mkdir -p artifacts/android-coverage-report/site/jacoco
169-
if [ -f artifacts/android-coverage-report/jacocoAndroidReport.xml ]; then
170-
cp artifacts/android-coverage-report/jacocoAndroidReport.xml artifacts/android-coverage-report/site/jacoco/jacoco.xml
171-
else
172-
echo "No coverage XML found at expected path."
173-
fi
174165
- name: Generate quality report summary
175166
if: ${{ always() && matrix.id == 'default' }}
176167
env:

scripts/generate-android-coverage-report.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,14 @@ json.dump(data, summary_path.open("w", encoding="utf-8"), indent=2)
239239
PY
240240

241241
cov_log "Copied Jacoco coverage report to $REPORT_DEST_DIR"
242+
243+
# Prepare layout for generate-quality-report.py
244+
# It expects site/jacoco/jacoco.xml
245+
mkdir -p "$REPORT_DEST_DIR/site/jacoco"
246+
if [ -f "$REPORT_XML_PATH" ]; then
247+
cp "$REPORT_XML_PATH" "$REPORT_DEST_DIR/site/jacoco/jacoco.xml"
248+
fi
249+
242250
if [ -f "$SUMMARY_OUT" ]; then
243251
cov_log "Wrote coverage summary to $SUMMARY_OUT"
244252
fi

scripts/run-android-instrumentation-tests.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,15 @@ for test in "${TEST_NAMES[@]}"; do
222222
fi
223223
done
224224

225+
# Harvest test results for quality report
226+
TEST_RESULTS_DIR="$GRADLE_PROJECT_DIR/app/build/test-results/connectedDebugAndroidTest"
227+
DEST_TEST_DIR="$ARTIFACTS_DIR/android-coverage-report/surefire-reports"
228+
if [ -d "$TEST_RESULTS_DIR" ]; then
229+
ensure_dir "$DEST_TEST_DIR"
230+
cp "$TEST_RESULTS_DIR"/*.xml "$DEST_TEST_DIR/" 2>/dev/null || true
231+
ra_log "Copied test results to $DEST_TEST_DIR"
232+
fi
233+
225234
# ---- Compare against stored references ------------------------------------
226235

227236
COMPARE_ENTRIES=()

0 commit comments

Comments
 (0)