Enhance CI workflow for multi-OS and architecture builds#32
Conversation
Updated the CI workflow to support multiple OS and architectures using a matrix strategy.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #32 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 2 2
Lines 1533 1533
=========================================
Hits 1533 1533 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Pull request overview
Updates the Rust CI workflow to run the build job on multiple operating systems (and nominally multiple architectures) via a GitHub Actions matrix.
Changes:
- Replaced fixed
runs-on: ubuntu-latestwithruns-on: ${{ matrix.os }}. - Added a matrix with OS/target combinations for Linux, macOS, and Windows.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - build: windows-arm64 | ||
| os: windows-latest | ||
| target: aarch64-pc-windows-msvc |
There was a problem hiding this comment.
windows-arm64 is configured to run on windows-latest, which is an x86_64 runner. If the intent is to validate ARM64 Windows, this will not do so unless you add an explicit cross-compilation setup (and potentially skip running tests/coverage for that target). Consider removing this entry or switching to a supported approach for ARM64 validation (cross build only, or a self-hosted ARM64 runner).
| - build: linux-arm64 | ||
| os: ubuntu-latest | ||
| target: aarch64-unknown-linux-gnu |
There was a problem hiding this comment.
linux-arm64 is set to run on ubuntu-latest (x86_64). Without additional cross-compilation/QEMU setup (and without using ${{ matrix.target }} in the steps), this does not actually validate an ARM64 Linux build. Either add the required cross toolchain/configuration and a cargo build --target step, or drop this matrix entry to avoid misleading CI coverage.
Updated GitHub Actions workflow to include testing jobs for multiple OS and improved coverage reporting.
Updated the CI workflow to support multiple OS and architectures using a matrix strategy.