Skip to content

Conversation

@rbarker-dev
Copy link
Member

@rbarker-dev rbarker-dev commented Nov 3, 2025

Description

This pull request introduces improvements to how output directories and test artifacts are managed and uploaded for Otter integration and container tests. The changes make the test environments more configurable, ensure logs and reports are better organized per test, and update CI workflows to use the new artifact locations.

Test Environment and Output Directory Enhancements:

  • Added an outputDirectory() method to the TestEnvironment interface and implemented it in ContainerTestEnvironment, allowing tests to specify and retrieve their output directories for artifacts. [1] [2]
  • Refactored ContainerTestEnvironment to accept a custom output directory, defaulting to build/aggregateTestContainer, and updated constructors accordingly. [1] [2] [3]
  • Introduced a new abstract BaseIntegrationTest class that sets up a unique output directory for each test run and provides factory methods for creating TurtleTestEnvironment and ContainerTestEnvironment instances with the correct output paths.

JUnit Extension and Lifecycle Improvements:

  • Updated the OtterTestExtension JUnit extension to set up a unique output directory for each test before execution and store it in the extension context, supporting both "turtle" and "container" environments via a factory function. [1] [2] [3]
  • Added a new Lifecycle record to manage the lifecycle of a TestEnvironment within the JUnit extension context.

CI/CD Workflow Updates:

  • Changed artifact upload paths in .github/workflows/node-zxc-compile-application-code.yaml and .github/workflows/zxc-execute-otter-tests.yaml to use the new aggregated directories, improving log organization and retention. [1] [2] [3]
  • Updated workflow manifest and test result file references to match new output locations and naming conventions. [1] [2] [3] [4]

These changes make test output management more robust and flexible, simplify artifact uploads, and ensure that logs and reports are consistently organized per test run.

Related Issue(s)

Closes #21957

@rbarker-dev rbarker-dev self-assigned this Nov 3, 2025
@rbarker-dev rbarker-dev added the github_actions Pull requests that update Github Actions code. label Nov 3, 2025
@lfdt-bot
Copy link

lfdt-bot commented Nov 3, 2025

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@codecov
Copy link

codecov bot commented Nov 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

Impacted file tree graph

@@             Coverage Diff              @@
##               main   #21979      +/-   ##
============================================
+ Coverage     70.89%   70.94%   +0.04%     
  Complexity    24432    24432              
============================================
  Files          2668     2668              
  Lines        104410   104336      -74     
  Branches      10966    10955      -11     
============================================
- Hits          74020    74019       -1     
+ Misses        26344    26274      -70     
+ Partials       4046     4043       -3     

see 20 files with indirect coverage changes

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@codacy-production
Copy link

codacy-production bot commented Nov 3, 2025

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.05% (target: -1.00%)
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (88c39cf) 104315 78021 74.79%
Head commit (db4b187) 104241 (-74) 78017 (-4) 74.84% (+0.05%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#21979) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

@rbarker-dev
Copy link
Member Author

Local testing passes:

image

@rbarker-dev rbarker-dev marked this pull request as ready for review November 5, 2025 00:08
@rbarker-dev rbarker-dev requested review from a team as code owners November 5, 2025 00:08
@rbarker-dev
Copy link
Member Author

andrewb1269
andrewb1269 previously approved these changes Nov 5, 2025
andrewb1269
andrewb1269 previously approved these changes Nov 5, 2025
andrewb1269
andrewb1269 previously approved these changes Nov 5, 2025
Copy link
Contributor

@andrewb1269 andrewb1269 left a comment

Choose a reason for hiding this comment

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

Review and approve the workflow and build.gradle.kts file.

@rbarker-dev rbarker-dev force-pushed the 21957-otter-tests-capture-all-logs-during-otter-ci-steps-for-test-analysis branch from f4b3f5e to a356ece Compare November 6, 2025 14:20
@rbarker-dev
Copy link
Member Author

XTS Dry Run with Otter Tests After Rebase.

remove deprecated junit_files option and use files

Signed-off-by: Roger Barker <[email protected]>
@rbarker-dev rbarker-dev requested review from andrewb1269 and nathanklick and removed request for leninmehedy November 6, 2025 15:25
@poulok poulok marked this pull request as draft November 12, 2025 20:52
@poulok poulok closed this Nov 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update Github Actions code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Otter Tests: Capture all logs during otter CI steps for test analysis

6 participants