Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI improvements #334

Merged
merged 1 commit into from
Aug 28, 2024
Merged

CI improvements #334

merged 1 commit into from
Aug 28, 2024

Conversation

tlifschitz
Copy link
Contributor

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.

- Main workflow
- Avoid duplicate runs
- Job dependencies
- Dependencies caching
- Job conditional execution
@kdewald kdewald merged commit bc38ed4 into OpenBluetoothToolbox:main Aug 28, 2024
45 of 48 checks passed
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