Add GitHub Actions workflow for Rust tests, linting, formatting, and coverage on macOS and Linux#2
Conversation
|
@copilot Also add linting as a separate action that runs in parallel to the tests. Use |
Added Clippy linting as a separate job that runs in parallel with the test jobs. The linting job:
Also fixed a clippy warning it discovered: FFI functions that take raw pointers are now properly marked as Commit: c5e12ab |
|
@copilot Is it possible for the linting to behave differently on Linux and macOS? If yes, please use a matrix execution for the linting that covers macOS, too. |
Yes, Clippy can behave differently on Linux and macOS when:
Updated the linting job to use matrix execution on both Commit: 5ad9f92 |
|
@copilot Please address my review comments from above! |
All review comments addressed in c74b3fb:
|
ef3d0d7 to
6908eeb
Compare
|
GHA reports a warning for One of the most sensible suggestions therein seems to be the following:
@copilot Can you analyse possible alternatives and suggest a sustainable solution? |
Analysis of alternatives:
Sustainable solution implemented: Replaced
Benefits:
Commit: 617ddb3 |
|
We're not measuring test coverage yet. @copilot Can you add |
Added CI Integration:
Local Usage (added to README): # Install (one-time)
cargo install cargo-llvm-cov
# Terminal output
cargo llvm-cov
# HTML report (opens in browser)
cargo llvm-cov --open
# LCOV format
cargo llvm-cov --lcov --output-path lcov.infoNow runs 8 jobs in parallel (4 checks × 2 OSes). Codecov requires Commit: 3c2196f |
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
13b4ea0 to
66f31ac
Compare
|
I've squashed the commits to allow us to better track the changes. I'm merging now to take away the distraction. @robert197 Please, take a look at the changes to the Rust code anyway! It's a single commit that we can easily undo, just in case it doesn't make sense. |
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.