Skip to content

Add ON_CLOSE close-count commit support and update CI compiler matrix - #89

Merged
marcoSanti merged 5 commits into
mainfrom
updated-ci-cd
Sep 23, 2026
Merged

marcoSanti merged 5 commits into
mainfrom
updated-ci-cd

Conversation

@marcoSanti

@marcoSanti marcoSanti commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Summary

Added runtime support for committing ON_CLOSE files after a configured number of closes, and updates the CI/CD pipeline.

Close-count commit support

  • Add Engine::increaseCloseCount(path), which records one logical close for an ON_CLOSE path and returns whether the path is committed after the call. It is also exposed in the Python bindings.
  • Add MonitorInterface::increaseCloseCount(path, threshold), which atomically records a close and commits the path once the threshold is reached. Backends without a persistent counter return std::nullopt.
  • FileSystemMonitor: close counts are persisted on the filesystem. Counts greater than one require CAPIO_METADATA_DIR to point to a trusted, per-run metadata directory that supports atomic exclusive create/unlink.
  • MulticastMonitor: add the COUNT_SET and COUNT_GET message types. Each node keeps the highest count it has seen from each origin. These counts are volatile and eventually consistent.
  • Monitor::increaseCloseCount records the close in every backend that supports counting.
  • Document the new semantics in doxygen/semantics.md.
  • Add tests/cpp/test_runtime_commit.hpp, with runtime configs for filesystem-only, multicast-only and mixed monitor setups.

CI/CD

  • Drop gcc 9-11, whose official images are no longer maintained.
  • Add gcc 14-16.
  • Replace the silkeh/clang images with zhongruoyu/llvm-ports (trixie) and extend clang coverage to versions 13-23.
  • Drop the macos-15-intel runner from the Python bindings workflow, since it is no longer supported. The README now shows macOS x86_64 as having no CI/CD support.
  • Compute coverage inside the main test matrix (Debug, gcc:16) instead of in a separate rebuild job. The Codecov job now only downloads and uploads coverage.xml.

@codecov-commenter

codecov-commenter commented Sep 23, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 77.74086% with 67 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.91%. Comparing base (1b63fb6) to head (e2ade71).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/monitors/FileSystem.cpp 65.83% 22 Missing and 19 partials ⚠️
src/monitors/Multicast.cpp 79.16% 6 Missing and 14 partials ⚠️
src/Engine.cpp 94.91% 1 Missing and 2 partials ⚠️
src/Monitor.cpp 86.36% 1 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #89      +/-   ##
==========================================
- Coverage   95.40%   92.91%   -2.49%     
==========================================
  Files          19       19              
  Lines        1675     1948     +273     
  Branches     1218     1394     +176     
==========================================
+ Hits         1598     1810     +212     
- Misses         33       60      +27     
- Partials       44       78      +34     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

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

@marcoSanti
marcoSanti force-pushed the updated-ci-cd branch 2 times, most recently from 98462c1 to 09488ba Compare September 23, 2026 12:36
@marcoSanti marcoSanti changed the title Updated ci cd Add ON_CLOSE close-count commit support and update CI compiler matrix Sep 23, 2026
@marcoSanti
marcoSanti force-pushed the updated-ci-cd branch 3 times, most recently from c026a76 to 942777b Compare September 23, 2026 13:30
@marcoSanti
marcoSanti force-pushed the updated-ci-cd branch 2 times, most recently from 801874e to af7a93a Compare September 23, 2026 13:51
@marcoSanti
marcoSanti merged commit 6c36cb8 into main Sep 23, 2026
51 checks passed
@marcoSanti
marcoSanti deleted the updated-ci-cd branch September 23, 2026 14:14
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.

2 participants