From 786065b793c3de7d4ab661788a4c5b7a06393801 Mon Sep 17 00:00:00 2001 From: Cowboylaserkittenjetshark <82691052+Cowboylaserkittenjetshark@users.noreply.github.com> Date: Fri, 19 Sep 2025 13:08:31 -0400 Subject: [PATCH 1/3] fix: fix failing tests/graphing things - Add type annotations for broken assert - Remove unnecessary logln imports (macro_exported, does not need to be imported usually) - Only import logln for graphing - Update names of traits changed in bec0667 --- build.rs | 4 ++-- src/comms/auv_control_board/response.rs | 3 +-- src/comms/control_board/mod.rs | 1 - src/missions/basic.rs | 2 -- src/missions/extra.rs | 2 -- src/missions/meb.rs | 2 -- src/missions/movement.rs | 1 - src/missions/vision.rs | 1 - src/vision/buoy_model.rs | 2 +- src/vision/path.rs | 2 +- src/vision/path_cv.rs | 2 +- src/vision/pca.rs | 2 -- 12 files changed, 6 insertions(+), 18 deletions(-) diff --git a/build.rs b/build.rs index 3fe230eb977..23f4e172c99 100644 --- a/build.rs +++ b/build.rs @@ -125,14 +125,14 @@ mod graphing { }) .for_each(|(path, file, actions)| { let actions_str = - "pub fn graph_actions> + GraphActionContext::GetFrontCamMat + GraphActionContext::GetBottomCamMat + Send + Sync + std::marker::Unpin>(context: &'static T) -> Vec<(String, Box)> { vec![" + "pub fn graph_actions> + GraphActionContext::FrontCamIO + GraphActionContext::BottomCamIO + Send + Sync + std::marker::Unpin>(context: &'static T) -> Vec<(String, Box)> { vec![" .to_string() + &actions .into_iter() .fold("".to_string(), |acc, x| acc + &format!("(\"{x}\".to_string(), Box::new({x}(context))),")) + "]}"; let file_contents = - quote! { use sw8s_rust_lib::missions::action::Action as GraphAction; use sw8s_rust_lib::missions::action::ActionExec as GraphActionExec; use sw8s_rust_lib::missions::action_context as GraphActionContext; #file }; + quote! { use sw8s_rust_lib::missions::action::Action as GraphAction; use sw8s_rust_lib::missions::action::ActionExec as GraphActionExec; use sw8s_rust_lib::missions::action_context as GraphActionContext; use sw8s_rust_lib::logln; #file }; let output_loc = out_path.join(path.strip_prefix::("src/missions".into()).unwrap()); create_dir_all(output_loc.parent().unwrap()).unwrap(); write( diff --git a/src/comms/auv_control_board/response.rs b/src/comms/auv_control_board/response.rs index b6ca0bc722a..f10b455828a 100644 --- a/src/comms/auv_control_board/response.rs +++ b/src/comms/auv_control_board/response.rs @@ -5,7 +5,6 @@ use tokio::io::AsyncReadExt; use tokio::{fs::OpenOptions, io::AsyncWriteExt, sync::Mutex}; use super::util::{END_BYTE, ESCAPE_BYTE, START_BYTE}; -use crate::logln; #[cfg(feature = "logging")] static LOG_NAMES: Mutex> = Mutex::const_new(Vec::new()); @@ -194,7 +193,7 @@ mod tests { ) .collect::>>() .await, - vec![vec![]] + Vec::>::from([vec![]]) ); assert_eq!( diff --git a/src/comms/control_board/mod.rs b/src/comms/control_board/mod.rs index d7cd4eee085..3b6589b4897 100644 --- a/src/comms/control_board/mod.rs +++ b/src/comms/control_board/mod.rs @@ -16,7 +16,6 @@ use self::{ }; use super::auv_control_board::{AUVControlBoard, MessageId}; -use crate::logln; pub mod response; pub mod util; diff --git a/src/missions/basic.rs b/src/missions/basic.rs index 5849347c56f..ebd513f3023 100644 --- a/src/missions/basic.rs +++ b/src/missions/basic.rs @@ -1,5 +1,3 @@ -use crate::logln; - use super::{ action::{Action, ActionChain, ActionExec, ActionSequence}, action_context::{GetControlBoard, GetMainElectronicsBoard}, diff --git a/src/missions/extra.rs b/src/missions/extra.rs index fc0ce9afc65..3fa1e0a32e3 100644 --- a/src/missions/extra.rs +++ b/src/missions/extra.rs @@ -4,8 +4,6 @@ use std::marker::PhantomData; use anyhow::{anyhow, bail}; use uuid::Uuid; -use crate::logln; - use super::{ action::{Action, ActionExec, ActionMod}, graph::{stripped_fn, stripped_type, DotString}, diff --git a/src/missions/meb.rs b/src/missions/meb.rs index f1ba1d6868f..1a27c24fb5d 100644 --- a/src/missions/meb.rs +++ b/src/missions/meb.rs @@ -2,8 +2,6 @@ use std::time::Duration; use tokio::time::sleep; -use crate::logln; - use super::{ action::{Action, ActionExec}, action_context::GetMainElectronicsBoard, diff --git a/src/missions/movement.rs b/src/missions/movement.rs index 10c143de5b3..1d52255c5f6 100644 --- a/src/missions/movement.rs +++ b/src/missions/movement.rs @@ -1,6 +1,5 @@ use crate::comms::control_board::ControlBoard; use crate::comms::control_board::LAST_YAW; -use crate::logln; use crate::vision::DrawRect2d; use crate::vision::Offset2D; use crate::vision::RelPos; diff --git a/src/missions/vision.rs b/src/missions/vision.rs index 54b3eeaabed..e923141ae9f 100644 --- a/src/missions/vision.rs +++ b/src/missions/vision.rs @@ -7,7 +7,6 @@ use std::{iter::Sum, marker::PhantomData}; use super::action::{Action, ActionExec, ActionMod}; use super::action_context::BottomCamIO; use super::graph::DotString; -use crate::logln; use crate::vision::{ Angle2D, Draw, DrawRect2d, Offset2D, RelPos, RelPosAngle, VisualDetection, VisualDetector, }; diff --git a/src/vision/buoy_model.rs b/src/vision/buoy_model.rs index f994e006911..06fe3e07cf3 100644 --- a/src/vision/buoy_model.rs +++ b/src/vision/buoy_model.rs @@ -2,7 +2,7 @@ use anyhow::Result; use derive_getters::Getters; use opencv::{core::Rect2d, core::Size, prelude::Mat}; -use crate::{load_onnx, logln}; +use crate::load_onnx; use super::{ nn_cv2::{OnnxModel, VisionModel, YoloClass, YoloDetection}, diff --git a/src/vision/path.rs b/src/vision/path.rs index 6990324d120..346178b39d7 100644 --- a/src/vision/path.rs +++ b/src/vision/path.rs @@ -371,7 +371,7 @@ mod tests { imgcodecs::{imread, imwrite, IMREAD_COLOR}, }; - use crate::{logln, vision::Draw}; + use crate::vision::Draw; use super::*; diff --git a/src/vision/path_cv.rs b/src/vision/path_cv.rs index e16334a66c1..03302055a60 100644 --- a/src/vision/path_cv.rs +++ b/src/vision/path_cv.rs @@ -326,7 +326,7 @@ mod tests { imgcodecs::{imread, imwrite, IMREAD_COLOR}, }; - use crate::{logln, vision::Draw}; + use crate::vision::Draw; use super::*; diff --git a/src/vision/pca.rs b/src/vision/pca.rs index 5b9a2e3f502..6b0ead69fdc 100644 --- a/src/vision/pca.rs +++ b/src/vision/pca.rs @@ -7,8 +7,6 @@ use opencv::{ prelude::Mat, }; -use crate::logln; - use super::{Angle2D, Draw, Offset2D, RelPosAngle, VisualDetection}; #[derive(Debug, Clone, Getters)] From 44e603270b2ac91214e496f34c36c5495bf9bf28 Mon Sep 17 00:00:00 2001 From: Cowboylaserkittenjetshark <82691052+Cowboylaserkittenjetshark@users.noreply.github.com> Date: Fri, 19 Sep 2025 13:44:18 -0400 Subject: [PATCH 2/3] ci: use nix devShell for ci env --- .github/workflows/rust.yml | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index e8bdf845299..503fc698906 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -11,33 +11,13 @@ env: jobs: build: - - runs-on: ubuntu-latest - + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 - - - name: Update Ubuntu Packages - run: sudo apt-get update - - - uses: awalsh128/cache-apt-pkgs-action@v1 - with: - packages: llvm \ - clang \ - libclang-dev \ - libopencv-dev \ - libavutil-dev \ - libavcodec-dev \ - libavformat-dev - - - name: Install gstreamer - run: | - sudo apt update - sudo apt install -y aptitude - sudo aptitude install -y libgstreamer1.0-dev - - - uses: dtolnay/rust-toolchain@stable - - uses: Swatinem/rust-cache@v2 - - - name: Run tests - run: cargo test --features logging,graphing --verbose + - uses: actions/checkout@v5 + - uses: cachix/install-nix-action@v31 + with: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + - uses: DeterminateSystems/magic-nix-cache-action@v13 + - uses: Swatinem/rust-cache@v2 + - name: Run tests + run: nix develop ./#noFHS --command cargo test --features logging,graphing --verbose From df915c2fea858e780ee797a50673dc051cb11d9b Mon Sep 17 00:00:00 2001 From: Cowboylaserkittenjetshark <82691052+Cowboylaserkittenjetshark@users.noreply.github.com> Date: Fri, 19 Sep 2025 14:13:13 -0400 Subject: [PATCH 3/3] ci: use nix devShell for build-docs --- .github/workflows/build-docs.yml | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index cc3099339ae..7a644755809 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -22,27 +22,18 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - - - name: Update Ubuntu Packages - run: sudo apt-get update - - - uses: awalsh128/cache-apt-pkgs-action@v1 - with: - packages: llvm \ - clang \ - libclang-dev \ - libopencv-dev - - - uses: dtolnay/rust-toolchain@stable + - uses: actions/checkout@v5 + - uses: cachix/install-nix-action@v31 with: - components: clippy + github_access_token: ${{ secrets.GITHUB_TOKEN }} + - uses: DeterminateSystems/magic-nix-cache-action@v13 - uses: Swatinem/rust-cache@v2 - name: Build docs - run: cargo doc --features logging,graphing + run: nix develop ./#noFHS --command cargo doc --features logging,graphing - name: Add redirect run: echo '' > target/doc/index.html