Skip to content

Cloud CI never publishes its test results: cloud runners write no JUnit XML #1026

Open

Description

@stevevanhooser

Problem

In each cloud test workflow, the "Publish test results" step finds no report file, so the test-result checks it posts on PRs are always empty. From the Cloud CI run on #1025:

Preparing 1 report as configured.
Found and parsed 0 test report files.
ℹ️ - Cloud CI 1 test results - No test results found!

Pass/fail still works: the MATLAB step itself fails when a test fails. What is lost:

  • per-test results and annotations on the PR;
  • any summary of incomplete tests ("Filtered by assumption").

Skipped tests are therefore visible only by reading the raw job log.

Cause

All three cloud workflows run mikepenz/action-junit-report with report_paths: 'docs/reports/test-results.xml':

  • test-cloud-prod.yml
  • test-cloud-api.yml
  • test-cloud-api-crossplatform.yml

Their runners never write that file:

  • tools/tasks/testCloudApiPart.m, called through testCloudApiProdPart, creates a TestRunner.withTextOutput and calls runner.run(...) without adding an XML plugin.
  • tools/tasks/testCloudApi.m does the same.

The no-cloud suite works because tools/tasks/testToolboxNoCloud.m adds:

runner.addPlugin(XMLPlugin.producingJUnitFormat(fullfile(outputDirectory, 'test-results.xml')));

Fix

  1. In testCloudApiPart.m and testCloudApi.m, before runner.run, create docs/reports/ if it doesn't exist and add matlab.unittest.plugins.XMLPlugin.producingJUnitFormat(fullfile(projectRootDir, 'docs', 'reports', 'test-results.xml')). The path should match what testToolboxNoCloud writes.
  2. Once the reports are written, consider setting the action's include_passed or detailed_summary so the check also lists incomplete (assumption-filtered) tests, not just failures.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions