Skip to content

ci: summarize CTest outcomes and retain results - #2127

Closed
Apopal1 wants to merge 1 commit into
boykopovar:mainfrom
Apopal1:fix/test-result-summary
Closed

Apopal1 wants to merge 1 commit into
boykopovar:mainfrom
Apopal1:fix/test-result-summary

Conversation

@Apopal1

@Apopal1 Apopal1 commented Oct 9, 2026 •

Copy link
Copy Markdown

What

Refs #1669 (execution and skip accounting), also #1012.

CTest's headline pass percentage does not distinguish capability skips from disabled or fixture-blocked tests. Add a compact job summary for the existing relinker matrix and Linux/Windows full-build jobs: selected cases, passed, failed, skipped, and not run. List non-passing cases and their CTest completion reasons.

Retain JUnit XML as an Actions artifact (plus the existing full-build log), including test names, durations and captured output. Write summaries and upload results after a test failure. Missing, empty, malformed, inconsistent or unknown-status reports fail the reporting step rather than produce a green-looking zero-test table. Counts refer to selected test cases in the report, not individual repeat attempts.

This is a narrow part of #1669, not a claim to complete its sanitizer, GPU-provenance or release work. Build eligibility, repeat policy, Vulkan requirements and the original CTest exit status are preserved.

#1028 implements expected-skip enforcement, which this PR does not duplicate. Both touch the full-build CTest command; when combining them, reuse one JUnit report and retain the skip-policy check. #988 reports maintenance workflow activity, not CTest outcomes.

Tested

Windows 11, Python 3.11.15, CTest 4.4.4, WinLibs GCC 15.2.0; rebased onto upstream main d70b89989473ba1f6ae13e44e079e67f1f8a44b0.

Resolved the CMake conflict with #2134, retaining both test_summary and pr_overlap_encoding registrations.

  • python -m unittest discover -s tools/tests -v: 27/27 passed, including the summary and overlap-encoding regressions.
  • Windows relinker build and CTest: 41/41 passed; the JUnit summary reports 41 | 41 | 0 | 0 | 0.
  • Full Windows Release build and libs target: passed. Full CTest on Intel UHD Graphics 730: 508 selected, 476 passed, five failed, 27 skipped, zero not run; CTest returned exit 8. The summary correctly reports 508 | 476 | 5 | 27 | 0.
  • All five GPU failures also reproduced on unmodified upstream main d70b8998: agc_driver_buffer_unaligned_base, agc_driver_sdwa_float_selectors, agc_driver_vop1_float_unary, agc_driver_vop3_mad_i64, agc_driver_vopc_compare. This PR changes no native runtime or GPU test sources. The full local suite is not claimed to pass.
  • Test-registration checks passed: eight relinker executables; 444 full-build executables with two documented exclusions and none new.
  • Workflow YAML parsed; all three job paths checked for JUnit generation, failure-path summary, artifact retention and preservation of the original CTest failure status.
  • python tools/check_conventions.py --base upstream/main and git diff --check upstream/main HEAD: passed.

The required GitHub Build workflow remains pending for the updated branch: full Linux/Windows builds and the relinker matrix require a collaborator-triggered run with write access. No final review is requested while those checks are pending. Linux/macOS execution, title/homebrew and PS5 hardware testing were not performed locally. Actions artifact upload and rendering require an actual workflow run.

Checklist

  • Based on current main; no other open PR implements the same reporting change
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt (none added)
  • Unimplemented paths throw; no runtime exports or silent stubs changed
  • No notes, investigation files or images added to the repository
  • New third-party code is a submodule built from source (none added)
  • Generic behaviour, not specific to one title
  • Depends on: none
  • AI-assisted: yes

@github-actions github-actions Bot added build ci .github labels Oct 9, 2026
@github-actions github-actions Bot added the needs rebase Conflicts with main, rebase needed label Oct 9, 2026
@MarcZX10

MarcZX10 commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

I checked the full diff against current main (745b775e2d883c68560b2d87f4ab96a01e221ccf). The branch still conflicts in CMakeLists.txt with #2134, which registers a separate overlap-encoding regression test. These are distinct changes; please rebase on current main and keep both add_test entries (test_summary and pr_overlap_encoding) when resolving the conflict. Please refresh the base commit in the PR description as well.

The checks currently show only the conventions workflow. After updating the branch, please run the required Build workflow for the new head (Linux/Windows full builds and the relinker matrix) before requesting final review. I have not submitted an approval while the branch is conflicted and those checks are absent.

@Apopal1
Apopal1 force-pushed the fix/test-result-summary branch from df3b762 to 723d25d Compare October 9, 2026 11:12
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 9, 2026
@github-actions github-actions Bot added the needs rebase Conflicts with main, rebase needed label Oct 9, 2026
@oneandonlydean

Copy link
Copy Markdown
Collaborator

Closing for now: #1028 already changes how test outcomes are reported, and job summaries and artifacts are a convenience we don't need in CI yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build ci .github needs rebase Conflicts with main, rebase needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants