From a81b0bc4615f96aa13832dfb21f4354a8e2e68a7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:12:50 +0000 Subject: [PATCH 1/3] Initial plan From 5a6d74c44abba5d3a1fd389d944ae84c076f20fe Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:19:32 +0000 Subject: [PATCH 2/3] Add comprehensive GitHub Actions workflow for testing Co-authored-by: berry-13 <81851188+berry-13@users.noreply.github.com> --- .github/workflows/test.yml | 113 +++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..1281d45 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,113 @@ +name: Test Suite + +on: + push: + branches: + - main + - develop + pull_request: + branches: + - main + - develop + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + RUST_BACKTRACE: 1 + +jobs: + test: + name: Test (${{ matrix.rust }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: + - stable + - beta + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + components: rustfmt, clippy + + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: ~/.cargo/registry + key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-registry- + + - name: Cache cargo index + uses: actions/cache@v4 + with: + path: ~/.cargo/git + key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-index- + + - name: Cache cargo build + uses: actions/cache@v4 + with: + path: target + key: ${{ runner.os }}-cargo-build-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-build-${{ matrix.rust }}- + ${{ runner.os }}-cargo-build- + + - name: Check code formatting + if: matrix.rust == 'stable' + run: cargo fmt --all -- --check + + - name: Run clippy + if: matrix.rust == 'stable' + run: cargo clippy --all-targets --all-features -- -D warnings + + - name: Build project + run: cargo build --verbose + + - name: Run unit tests + run: cargo test --lib --bins --verbose + + - name: Run integration tests + run: cargo test --test api_integration_tests --verbose + continue-on-error: true + + - name: Run performance tests + run: cargo test --test performance_tests --verbose + + - name: Run enhanced unit tests + run: cargo test --test enhanced_unit_tests --verbose + continue-on-error: true + + - name: Build release binary + if: matrix.rust == 'stable' + run: cargo build --release --verbose + + coverage: + name: Code Coverage + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + + - name: Install cargo-tarpaulin + run: cargo install cargo-tarpaulin + + - name: Generate coverage + run: cargo tarpaulin --verbose --all-features --workspace --timeout 300 --out Xml + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v4 + with: + files: ./cobertura.xml + fail_ci_if_error: false From 2e5aa91ac235610753df99d6b26f5606febc05aa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:22:52 +0000 Subject: [PATCH 3/3] Add CI badges and update documentation for GitHub Actions Co-authored-by: berry-13 <81851188+berry-13@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- README.md | 9 ++++++++ TESTING.md | 44 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1281d45..552def9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,7 +25,7 @@ jobs: rust: - stable - beta - + steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/README.md b/README.md index 7ce72dd..bc06de9 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,15 @@