Skip to content

redis test 4

redis test 4 #34

Workflow file for this run

name: E2E Tests
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
e2e-tests:
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
matrix:
node-version: [18.x]
steps:
# Step 1: Check out code
- name: Checkout code
uses: actions/checkout@v4
# Step 2: Set up Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
# Step 3: Install dependencies
- name: Install dependencies
run: npm ci
# Build step disabled - requires production env vars and has Turbopack issues
# Vercel handles production builds
# - name: Build project
# run: npm run build
# Step 4: Install Playwright browsers
- name: Install Playwright browsers
run: npx playwright install --with-deps
# Step 5: Run E2E tests
- name: Run E2E tests
run: npm run test:e2e
continue-on-error: true
# Step 6: Upload test report as artifact
- name: Upload Playwright Report
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: playwright-report/
retention-days: 7
# Step 8: Upload test results
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results
path: test-results/
retention-days: 7
# Step 9: Comment on PR with test results
- name: Comment Test Results on PR
if: github.event_name == 'pull_request' && always()
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
try {
// Check if test report exists
const reportPath = './playwright-report/index.html';
if (fs.existsSync(reportPath)) {
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '✅ **E2E Tests Complete!**\n\nView detailed results in the Artifacts section or download the Playwright report.\n\nTest results are attached to this PR.'
});
}
} catch (error) {
console.log('Could not comment on PR:', error);
}
# Step 10: Publish test results
- name: Publish Test Results
if: always()
uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: test-results/junit.xml
check_name: E2E Test Results
comment_mode: always
continue-on-error: true
# Step 11: Check test status
- name: Check E2E Test Status
if: always()
run: |
if [ ! -f "test-results/junit.xml" ]; then
echo "⚠️ No test results found. Tests may have failed to run."
fi