mirror of
https://fastgit.cc/github.com/Michael-A-Kuykendall/shimmy
synced 2026-05-01 06:12:44 +08:00
feat(tests): comprehensive regression test infrastructure with CI/CD integration
- Organized 20+ regression test files into tests/regression/ directory - Each test file covers specific GitHub issues to prevent regressions - Created tests/regression.rs to include all organized test modules - Added automated test runner: scripts/run-regression-tests-auto.sh - Updated .github/workflows/ci.yml to run regression tests before main suite - Fixed .gitignore: **/target/ pattern + console/ directory exclusion - Moved old scattered test files into organized structure (git detected renames) - 82 regression tests now auto-discovered and run in CI/CD **Zero Tolerance Policy**: All regression tests MUST pass before PR/release. Tests cover Issues: #12, #13, #51, #53, #63, #64, #68, #72, #101, #106, #108, #110, #111, #112, #113, #114, #127, #128 + general packaging/versioning **Testing:** - cargo test --test regression --features llama: 82 passed - CI/CD integration: Runs automatically on every PR - Release gates: Blocks releases if any regression fails Signed-off-by: Michael A. Kuykendall <michaelallenkuykendall@gmail.com>
This commit is contained in:
36
.github/workflows/ci.yml
vendored
36
.github/workflows/ci.yml
vendored
@@ -44,11 +44,45 @@ jobs:
|
||||
fi
|
||||
continue-on-error: true
|
||||
|
||||
# Regression Test Suite (CRITICAL - User-reported bugs)
|
||||
regression-tests:
|
||||
name: Regression Tests (Zero Tolerance)
|
||||
runs-on: ubuntu-latest
|
||||
needs: ppt-contracts # PPT contracts must pass first
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cargo/registry
|
||||
~/.cargo/git
|
||||
target
|
||||
key: ${{ runner.os }}-regression-cargo-${{ hashFiles('**/Cargo.lock') }}
|
||||
|
||||
- name: Run Automated Regression Tests
|
||||
run: |
|
||||
echo "🧪 Running Regression Tests - Preventing Previously Fixed Bugs"
|
||||
chmod +x ./scripts/run-regression-tests-auto.sh
|
||||
./scripts/run-regression-tests-auto.sh
|
||||
|
||||
- name: Upload Regression Test Logs on Failure
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: regression-test-logs
|
||||
path: "*.log"
|
||||
retention-days: 7
|
||||
|
||||
# Comprehensive Test Suite
|
||||
test:
|
||||
name: Test Suite
|
||||
runs-on: ubuntu-latest
|
||||
needs: ppt-contracts # PPT contracts must pass first
|
||||
needs: [ppt-contracts, regression-tests] # Both PPT and regressions must pass first
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
|
||||
Reference in New Issue
Block a user