Skip to content

REF-17: Publish CI test report and fix Node 20 action deprecation - #91

Merged
thomasnymand merged 1 commit into
masterfrom
feature/REF-17-ci-test-report
Jul 6, 2026
Merged

REF-17: Publish CI test report and fix Node 20 action deprecation#91
thomasnymand merged 1 commit into
masterfrom
feature/REF-17-ci-test-report

Conversation

@thomasnymand

Copy link
Copy Markdown
Collaborator

The Build workflow ran mvn clean install but never surfaced the Surefire results, so no test report was visible on the run or PR. It also emitted a Node 20 deprecation warning for the pinned actions.

Changes

  • Publish test summary (first-party, stdlib only): .github/scripts/test-summary.py parses every target/surefire-reports/TEST-*.xml, aggregates across modules, and writes a pass/fail table plus any failing tests to the GitHub run Summary page.
  • Upload Surefire reports as a build artifact (actions/upload-artifact@v6) for offline inspection of failure detail.
  • Both steps use if: always(), so the report is produced even when the Maven step fails on a test failure (otherwise the report would be skipped exactly when it's most useful).
  • Node 20 → Node 24: actions/checkout@v4 → v5, actions/setup-java@v4 → v5, and the new upload-artifact pinned to v6. Verified each action's runs.using: checkout@v5/setup-java@v5 are Node 24, but upload-artifact@v5 is still Node 20, so v6 (the first Node-24 major) is used.

No third-party actions are introduced (first-party only).

Verification

  • Ran the summary script locally against a real Surefire report: correctly parsed 111 tests and listed the failing test with its name/message; the no-reports path emits a clear warning.
  • Workflow YAML checked for tabs/indentation; it will be validated by GitHub on push.

🤖 Generated with Claude Code

The Build workflow ran `mvn clean install` but never surfaced the Surefire
results, so no test report was visible on the run or PR. Add two first-party,
always-run steps:

- Publish test summary: a stdlib-only Python script parses every
  target/surefire-reports/TEST-*.xml and writes an aggregated pass/fail table
  (plus any failing tests) to the GitHub run summary.
- Upload Surefire reports as a build artifact for offline inspection.

Both use `if: always()` so the report is produced even when the Maven step
fails on a test failure.

Also bump the actions off the deprecated Node 20 runtime: checkout v4 -> v5,
setup-java v4 -> v5, and the new upload-artifact pinned to v6 (all Node 24).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@thomasnymand
thomasnymand merged commit 0b18b66 into master Jul 6, 2026
2 checks passed
@thomasnymand
thomasnymand deleted the feature/REF-17-ci-test-report branch July 6, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant