-
Notifications
You must be signed in to change notification settings - Fork 3
Feature: CI refactor #44
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
Conversation
Abstract testing & linting code out to a separate file to reduce code duplication with the phoenix build workflow. Additionally add cargo deny checks.
The default behaviour for `cargo-deny`'s wildcard ban disallows path or git crates by default for compatibility with crates.io. Since this is a private crate, we should allow these.
Lots of cargo-deny fails that are trivial to fix were resolved and a common crate configuration was added in the root `Cargo.toml` for child crates to inherit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR refactors the CI infrastructure to improve dependency management, add build verification for the Phoenix board, and establish workspace-wide package configuration for consistency across all crates.
Changes:
- Adds
cargo-denyworkflow for dependency security and license compliance checks - Introduces a reusable build workflow and adds Phoenix build verification
- Establishes workspace-wide package metadata (version, authors, license) for all crates
- Migrates dependencies to use workspace inheritance for better consistency
Reviewed changes
Copilot reviewed 18 out of 19 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| Cargo.toml | Adds workspace.package metadata and additional workspace dependencies (bitflags, num-traits, static_cell) |
| deny.toml | Uncomments and configures license allowlist, adds allow-wildcard-paths for path dependencies |
| boards/argus/Cargo.toml | Migrates to workspace package metadata and workspace dependencies |
| boards/argus/.cargo/config.toml | Adds cargo configuration for consistent build settings |
| boards/phoenix/Cargo.toml | Migrates to workspace package metadata and workspace dependencies |
| common/*/Cargo.toml | All common crates migrate to workspace package metadata and workspace dependencies |
| .github/workflows/build.yml | New reusable workflow for common build, lint, and test tasks |
| .github/workflows/phoenix-build.yml | New workflow for Phoenix board build verification |
| .github/workflows/deny.yml | New workflow for cargo-deny dependency checks |
| .github/workflows/argus-build.yml | Refactored to use the new reusable build workflow |
| Cargo.lock | Version updates and dependency cleanup reflecting workspace changes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
There is sadly nothing we can do about atomic-polyfill being depreciated, as the latest version serde-csv-core depends on a version of heapless that depends on atomic-polyfill. |
A buncha changes, including but limited to:
cargo-denyto check for vulnerabilities, license compatibility, and a bunch of other related dependency shenanigans (Closes Add cargo deny to build verification #41)cargo-denythat can be trivially fixed, and a couple other changes that bothered the CI checks (Closes See why the "Check for Formatting/Linting/Semantic Issues" github action has been failing #42)Cargo.tomlfor convenience