Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR refactors our GitHub Actions workflows to streamline the CI process and enhance efficiency. With these checks back in place, the development loop will be faster, and a basis for a more robust release process in an upcoming PR is established.
Unified CI Workflow: A centralized ci_main workflow that orchestrates all CI checks. This workflow leverages reusable components to run OS-specific checks (ci_windows, ci_linux, ci_macos).
Eliminated Duplicate Runs: Prevent redundant workflow executions when a new commit is pushed to an open pull request, the second triggered workflow is automatically skipped.
Job Dependencies: Enhanced job dependencies to ensure a logical build sequence. Matrix library builds are now run after successful unit tests and example compilation. Similarly, Python and Rust bindings are only built after the C++ compilation.
Conditional Execution: Run only the relevant checks based on modified files. This reduces the CI runtime for incremental changes. All checks still run on the main branch to maintain full coverage.
Improved Caching: Added caching for frequently rebuilt dependencies like gtest and dbus, reducing build times, especially in Linux builds.
Note: all changes have been merged into a single commit because the history was unclear.