Skip to content

Conversation

@mercersoft
Copy link
Collaborator

  • Added cycodt test execution step producing JUnit XML (cycodt run with --output-format junit).
  • Added cleanup of legacy inception TRX files to prevent interference.
  • Introduced TRX to JUnit conversion step using global dotnet tool trx2junit.
  • Updated artifact upload to include both TRX and converted JUnit XML files plus cycodt log (test-results artifact).
  • Added separate publishing steps:
    • Publish JUnit results (dorny/test-reporter with reporter: java-junit).
    • Publish original TRX results (dorny/test-reporter with reporter: dotnet-trx).
  • Renamed test step label to clarify its output (Test (.NET - TRX)).
  • Ensured JUnit generation without modifying test projects by using conversion instead of direct junit logger.
  • Maintained existing build/versioning and artifact uploads for cycod, cycodt, and cycodmd.

Also fixed directory path with symlink issue for MacOS to fix test failures on MacOS.

…e symbolic links are resolved on MacOS. This fixes test failures on MacOS
Add debugging of TRX files
publish each trx file separately so we know why one fails.
Removed first added debug section
Detailed TRX scan
use JUnit instead of trx for test results.
fixed --format to --output-format
convert trx to junit output before publishing using dorny
Remove dorny-failure branch from push trigger
removed debug step
changed name of WF to simply CI again
Removed dorny-failure from push branches
removed empty line
removed extraneous space character to reduce diffs
@mercersoft mercersoft requested a review from robch November 26, 2025 00:04
cycodt run --log ./TestResults/test-results-cycodt.log --output-file ./TestResults/test-results-cycodt.xml --output-format junit
- name: Clean up inception test TRX files
- name: Clean up inception test result files
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not include this in previous step, as its related to previous step?

rm -f tests/cycodt-yaml/inception-layer-1/*.trx || true
echo "Cleaned up inception test legacy TRX files"
- name: Convert TRX to JUnit XML
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't required for cycodt yaml tests, yes? as we're outputing in junit directly, correct? if so, then, i'd suspect we don't need this for the TRX from dotnet test, as that doesn't seem to be the one that was having difficulty uploading, right? i'm unsure, but I'd like to check first... it's a bit non-standard to have .net tests uploaded in junit format... and, if we want that, we can probably just ask dotnet test to output in that format... and not have this step of the process....

echo "Cleaned up inception test legacy TRX files"
- name: Convert TRX to JUnit XML
if: always()
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't always condition mean it'll actually run even if the build fails? which, wouldn't be required? why mark as always?

- name: Upload test results
uses: actions/upload-artifact@v4
if: always() # Upload test results even if tests fail
if: always()
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why remove comment?

- name: Publish JUnit results
uses: dorny/[email protected]
if: always() # Run this step even if previous steps failed
if: always()
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why remove comment?

src/cycod/bin/Release/net9.0/linux-x64/publish/
src/cycod/bin/Release/net9.0/osx-x64/publish/
- name: Publish .NET TRX results
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and then, we also publish the .net TRX results for the dotnet test based tests? i'm a bit confused then, why we need to convert any TRX files to junit xml above...

Copy link
Owner

@robch robch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments inline... Also, don't we need to do similar for the other pipeline? the publish one? there are two pipelines (action workflows)... one for CI and one for Releasing bits... same folder, different file.

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.

3 participants