Skip to content

deps: bump pymongo from 4.13.1 to 4.13.2 #76

deps: bump pymongo from 4.13.1 to 4.13.2

deps: bump pymongo from 4.13.1 to 4.13.2 #76

Workflow file for this run

name: Run Tests & Analytics
on:
pull_request:
branches: [ main, master, feature/*]
push:
branches: [ main, master ]
jobs:
test-backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Full history for better diff analysis
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
cd backend
pip install -r requirements.txt
- name: Run Backend Tests with Coverage
run: |
cd $GITHUB_WORKSPACE
export PYTHONPATH=$GITHUB_WORKSPACE:$GITHUB_WORKSPACE/backend
# Generate coverage with detailed flags
pytest \
--cov=./backend \
--cov-report=xml:coverage.xml \
--cov-report=json:coverage.json \
--cov-report=lcov:coverage.lcov \
--junit-xml=test-results.xml \
--tb=short \
-v \
backend/tests/
- name: Run Test Analytics Upload
uses: codecov/test-results-action@v1
if: github.actor != 'dependabot[bot]'
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: test-results.xml
flags: backend,test-analytics
name: "Backend Test Results"
- name: Upload Coverage to Codecov with Flags
uses: codecov/codecov-action@v5
if: github.actor != 'dependabot[bot]'
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml,./coverage.json,./coverage.lcov
flags: backend,python,api
name: "Backend Coverage"
fail_ci_if_error: false
verbose: true
- name: Codecov upload skipped for Dependabot
if: github.actor == 'dependabot[bot]'
run: echo "📊 Codecov upload skipped for Dependabot PR - tests still run and pass!"
test-frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
cache-dependency-path: frontend/package-lock.json
- name: Install Frontend Dependencies
run: |
cd frontend
npm ci
- name: Run Frontend Tests (if available)
run: |
cd frontend
# Check if test script exists
if npm run test --dry-run 2>/dev/null; then
npm run test -- --coverage --watchAll=false --testResultsProcessor=jest-junit
else
echo "No frontend tests configured yet"
# Create a placeholder test result for analytics
mkdir -p test-results
echo '<?xml version="1.0"?><testsuites><testsuite name="frontend-placeholder" tests="1" failures="0" errors="0"><testcase name="placeholder" /></testsuite></testsuites>' > test-results/frontend-results.xml
fi
- name: Upload Frontend Test Analytics
uses: codecov/test-results-action@v1
if: github.actor != 'dependabot[bot]'
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: frontend/test-results/frontend-results.xml
flags: frontend,javascript,react-native
name: "Frontend Test Results"
- name: Frontend Analytics Upload Skipped
if: github.actor == 'dependabot[bot]'
run: echo "📊 Frontend test analytics skipped for Dependabot PR"