Skip to content

feat(trace): SequenceDetector primitive - session-window multi-step attack detection #560

feat(trace): SequenceDetector primitive - session-window multi-step attack detection

feat(trace): SequenceDetector primitive - session-window multi-step attack detection #560

Workflow file for this run

name: Test Suite with Google Sheets Reporting
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: '3.13'
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
pip install pytest pytest-asyncio pytest-cov gspread google-auth google-auth-oauthlib
- name: Setup database
run: python scripts/db.py migrate
- name: Setup Google credentials
env:
GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS_JSON }}
GOOGLE_SHEETS_ID: ${{ secrets.GOOGLE_SHEETS_ID }}
run: |
if [ -n "$GOOGLE_CREDENTIALS" ] && [ -n "$GOOGLE_SHEETS_ID" ]; then
echo "GOOGLE_CREDENTIALS=$GOOGLE_CREDENTIALS" >> $GITHUB_ENV
echo "GOOGLE_SHEETS_ID=$GOOGLE_SHEETS_ID" >> $GITHUB_ENV
echo "GS_FLAG=--google-sheets" >> $GITHUB_ENV
else
echo "GS_FLAG=" >> $GITHUB_ENV
echo "Google Sheets credentials not configured — reporting disabled"
fi
- name: Run vendor isolation tests
run: pytest tests/unit/vendor/test_vendor_isolation.py $GS_FLAG
- name: Run session management tests
run: pytest tests/unit/auth/test_secure_session_management.py $GS_FLAG
- name: Run complete user isolation tests
run: pytest tests/unit/isolation/test_complete_user_isolation.py $GS_FLAG
- name: Run redis message stream tests
run: pytest tests/unit/agents/test_redis_message_streams.py $GS_FLAG