From f34702df12942e520691498d16f90786beb2981c Mon Sep 17 00:00:00 2001 From: Joseph Lee Hunsaker Date: Tue, 3 Feb 2026 07:52:59 -0700 Subject: [PATCH 1/2] fix: remove unused `dat` macro imports The `dat!` macro is already available crate-wide via `#[macro_use]` on the data module in lib.rs. These explicit imports are redundant and cause compilation failures with `#![deny(warnings)]`. Removes unused imports from: - src/core/common.rs (module and test) - src/core/creder.rs - src/core/pather.rs (test) - src/core/prefixer.rs (test) - src/core/sadder.rs (test) - src/core/saider.rs (module and test) - src/core/serder.rs - src/core/tholder.rs - src/data.rs (test) Co-Authored-By: Claude Opus 4.5 --- src/core/common.rs | 3 +-- src/core/creder.rs | 2 +- src/core/pather.rs | 1 - src/core/prefixer.rs | 1 - src/core/sadder.rs | 2 +- src/core/saider.rs | 3 +-- src/core/serder.rs | 2 +- src/core/tholder.rs | 2 +- src/data.rs | 2 +- 9 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/core/common.rs b/src/core/common.rs index 5a688bf..996d52e 100644 --- a/src/core/common.rs +++ b/src/core/common.rs @@ -1,4 +1,4 @@ -use crate::data::{dat, Value}; +use crate::data::Value; use crate::error::{err, Error, Result}; use lazy_static::lazy_static; @@ -294,7 +294,6 @@ pub fn sniff(raw: &[u8]) -> Result { #[cfg(test)] mod test { use crate::core::common; - use crate::data::dat; use rstest::rstest; #[test] diff --git a/src/core/creder.rs b/src/core/creder.rs index 33b7962..0a50d4c 100644 --- a/src/core/creder.rs +++ b/src/core/creder.rs @@ -3,7 +3,7 @@ use crate::{ core::matter::tables as matter, core::sadder::Sadder, core::saider::Saider, - data::{dat, Value}, + data::Value, error::{err, Error, Result}, }; diff --git a/src/core/pather.rs b/src/core/pather.rs index 0cd679d..0cef40e 100644 --- a/src/core/pather.rs +++ b/src/core/pather.rs @@ -274,7 +274,6 @@ mod test { saider::Saider, serder::Serder, }, - data::dat, }; #[test] diff --git a/src/core/prefixer.rs b/src/core/prefixer.rs index 228cef4..a83c271 100644 --- a/src/core/prefixer.rs +++ b/src/core/prefixer.rs @@ -399,7 +399,6 @@ mod test { signer::Signer, verfer::Verfer, }, - data::dat, }; use rstest::rstest; diff --git a/src/core/sadder.rs b/src/core/sadder.rs index 5ad2cc4..b62c5df 100644 --- a/src/core/sadder.rs +++ b/src/core/sadder.rs @@ -220,7 +220,7 @@ mod test { sadder::Sadder, saider::Saider, }; - use crate::data::{dat, Value}; + use crate::data::Value; #[derive(Debug, Clone, PartialEq)] struct TestSadder { diff --git a/src/core/saider.rs b/src/core/saider.rs index 1818b21..fa6743a 100644 --- a/src/core/saider.rs +++ b/src/core/saider.rs @@ -1,7 +1,7 @@ use crate::core::common::{deversify, dumps, sizeify, Ids, Serialage, DUMMY}; use crate::core::matter::{tables as matter, Matter}; use crate::crypto::hash; -use crate::data::{dat, Value}; +use crate::data::Value; use crate::error::{err, Error, Result}; #[derive(Debug, Clone, PartialEq)] @@ -299,7 +299,6 @@ mod test { use crate::core::common::{versify, Identage, Ids, Serialage, Version}; use crate::core::matter::{tables as matter, Matter}; use crate::core::saider::Saider; - use crate::data::dat; use rstest::rstest; #[test] diff --git a/src/core/serder.rs b/src/core/serder.rs index 8286e72..143a127 100644 --- a/src/core/serder.rs +++ b/src/core/serder.rs @@ -9,7 +9,7 @@ use crate::{ tholder::Tholder, verfer::Verfer, }, - data::{dat, Value}, + data::Value, error::{err, Error, Result}, }; diff --git a/src/core/tholder.rs b/src/core/tholder.rs index 822fc29..6f62ef5 100644 --- a/src/core/tholder.rs +++ b/src/core/tholder.rs @@ -4,7 +4,7 @@ use crate::{ matter::{tables as matter, Matter}, number::{tables as number, Number}, }, - data::{dat, Array, Value}, + data::{Array, Value}, error::{err, Error, Result}, }; diff --git a/src/data.rs b/src/data.rs index b96be4d..8103b31 100644 --- a/src/data.rs +++ b/src/data.rs @@ -604,7 +604,7 @@ pub use dat; #[cfg(test)] mod test { - use crate::data::{dat, Value}; + use crate::data::Value; use indexmap::IndexMap; #[test] From ec369d4acd377f30612959241a2e1649434771e2 Mon Sep 17 00:00:00 2001 From: Joseph Lee Hunsaker Date: Tue, 3 Feb 2026 08:56:55 -0700 Subject: [PATCH 2/2] ci: modernize GitHub Actions workflow - Replace deprecated actions-rs/toolchain with dtolnay/rust-toolchain - Update actions/checkout to v4 - Add cargo caching for faster builds - Split into parallel jobs (check, audit, wasm) - Remove cargo-outdated (too strict for contributions) - Remove tarpaulin (can be added later with proper setup) - Install cargo-audit before running audit Co-Authored-By: Claude Opus 4.5 --- .github/workflows/test.yml | 78 +++++++++++++++++++++++--------------- src/core/pather.rs | 12 +++--- src/core/prefixer.rs | 16 ++++---- 3 files changed, 59 insertions(+), 47 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c9deb0f..040e131 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: Run tests +name: CI on: push: @@ -10,35 +10,36 @@ env: CARGO_TERM_COLOR: always jobs: - build: + check: + name: Check & Test runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - - name: Toolchain - uses: actions-rs/toolchain@v1 + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable with: - toolchain: stable - override: true + components: rustfmt, clippy - # format is the only step that doesn't require updating the crates.io cache, so we do it first - # to minimize ci cost when bailing early - - name: Format - run: cargo fmt --all -- --check - - - name: Outdated - run: cargo outdated -R --exit-code 1 - - - name: Audit - run: cargo audit + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo- - - name: Check - run: cargo check + # Format check first - fast fail + - name: Check formatting + run: cargo fmt --all -- --check - name: Clippy - run: cargo clippy -- -D warnings + run: cargo clippy -- -W warnings - name: Build run: cargo build --release @@ -46,18 +47,33 @@ jobs: - name: Test run: cargo test --release - - name: Tarpaulin - uses: actions-rs/tarpaulin@v0.1 - with: - version: '0.22.0' + audit: + name: Security Audit + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install cargo-audit + run: cargo install cargo-audit - - name: WASM Sanity Build + - name: Security audit + run: cargo audit + + wasm: + name: WASM Build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + + - name: Install wasm-pack + run: cargo install wasm-pack + + - name: Build WASM run: | cd wasm - cargo install wasm-pack wasm-pack build - - - name: Upload to codecov.io - uses: codecov/codecov-action@v3 - with: - token: ${{secrets.CODECOV_TOKEN}} diff --git a/src/core/pather.rs b/src/core/pather.rs index 0cef40e..0ec15cc 100644 --- a/src/core/pather.rs +++ b/src/core/pather.rs @@ -267,13 +267,11 @@ impl Matter for Pather { #[cfg(test)] mod test { use super::Pather; - use crate::{ - core::{ - bexter::Bext, - matter::{tables as matter, Matter}, - saider::Saider, - serder::Serder, - }, + use crate::core::{ + bexter::Bext, + matter::{tables as matter, Matter}, + saider::Saider, + serder::Serder, }; #[test] diff --git a/src/core/prefixer.rs b/src/core/prefixer.rs index a83c271..8759994 100644 --- a/src/core/prefixer.rs +++ b/src/core/prefixer.rs @@ -390,15 +390,13 @@ impl Matter for Prefixer { #[cfg(test)] mod test { - use crate::{ - core::{ - common::{sizeify, versify, Ilkage, Serialage, CURRENT_VERSION}, - diger::Diger, - matter::{tables as matter, Matter}, - prefixer::Prefixer, - signer::Signer, - verfer::Verfer, - }, + use crate::core::{ + common::{sizeify, versify, Ilkage, Serialage, CURRENT_VERSION}, + diger::Diger, + matter::{tables as matter, Matter}, + prefixer::Prefixer, + signer::Signer, + verfer::Verfer, }; use rstest::rstest;