Skip to content

fix(ci): resolve Windows test failures and stop swallowing test errors#242

Closed
kcenon wants to merge 1 commit into
mainfrom
fix/resolve-windows-ci-failures
Closed

fix(ci): resolve Windows test failures and stop swallowing test errors#242
kcenon wants to merge 1 commit into
mainfrom
fix/resolve-windows-ci-failures

Conversation

@kcenon
Copy link
Copy Markdown
Owner

@kcenon kcenon commented Mar 24, 2026

What

Fix Windows CI test failures caused by upstream monitoring_system dependency tests, and
correct test error handling across all platforms to prevent silent test failures.

Change Type

  • Bugfix (fixes an issue)
  • Chore (CI/workflow improvement)

Affected Components

  • .github/workflows/ci.yml - CI workflow test execution and dependency management

Why

Problem Solved

PRs #239 and #241 were both merged with Windows CI failures (3 monitoring_system tests
failing on Windows: SystemResourceCollectorTest.ContextSwitchMonitoring,
MetricsProviderTest.TemperatureAvailabilityCheck, StressPerformanceTest.HighLoadStressTest).

These failures originated from the monitoring_system dependency, which has since been fixed
upstream (monitoring_system PRs #610 and #611, both merged to main). Since this CI clones
dependencies from HEAD via git clone --depth 1, this PR's CI run will pick up the fixes.

Additionally, test failures were being silently swallowed on all platforms:

  • Unix: ctest ... || echo "Some tests failed" always exits 0
  • Windows: if ($LASTEXITCODE -ne 0) { Write-Host "..." } exits 0 from Write-Host
  • This allowed PRs to be merged even when tests were actually failing

Related Issues

Where

Files Changed

File Type of Change
.github/workflows/ci.yml Fix test error propagation, add dependency version logging

How

Changes Made

  1. Remove error-swallowing patterns: Remove || echo "Some tests failed" from Unix
    test steps and fix Windows PowerShell to explicitly exit $LASTEXITCODE on failure.
    Test failures now properly fail the CI job on all platforms.

  2. Add dependency version logging: New "Log dependency versions" steps (Unix and Windows)
    that print the exact commit SHA of each cloned dependency. This makes it easy to diagnose
    whether a dependency test failure is due to an outdated upstream clone.

  3. Document dependency cloning behavior: Add comments explaining that dependencies are
    cloned from HEAD of each repo's default branch, and that upstream fixes must be merged
    before they take effect in this CI.

Testing

  • This PR triggers a fresh CI run that will clone the latest monitoring_system (which
    includes the Windows test fixes from PRs #610 and #611)
  • All 8 originally-failing tests should now pass (5 were already fixed in the prior
    CI run, and the remaining 3 are fixed by the latest monitoring_system HEAD)
  • The dependency version log will confirm the correct monitoring_system commit was used

The Windows CI has been failing due to monitoring_system dependency
tests (fixed upstream in monitoring_system PRs #610 and #611). This
CI run will pick up those fixes since dependencies are cloned from HEAD.

Additionally, fix test steps that were silently swallowing ctest
failures via `|| echo "Some tests failed"` on Unix and a no-op
`Write-Host` on Windows. Test failures now properly fail the CI job.

Add dependency version logging to make it easier to diagnose which
upstream commit was used when dependency test failures occur.
@kcenon
Copy link
Copy Markdown
Owner Author

kcenon commented Mar 24, 2026

Closing this PR. The "stop swallowing test errors" changes exposed many pre-existing test failures across all platforms that are beyond the scope of the Windows monitoring_system fix. A new, targeted PR will be created.

@kcenon kcenon closed this Mar 24, 2026
@kcenon kcenon deleted the fix/resolve-windows-ci-failures branch April 4, 2026 16:39
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