Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 17 additions & 16 deletions .github/workflows/nightly-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Nightly Tests
on:
schedule:
# Run every night at 2 AM UTC
- cron: '0 2 * * *'
- cron: "0 2 * * *"
workflow_dispatch: # Allow manual trigger

jobs:
Expand All @@ -14,19 +14,20 @@ jobs:
fail-fast: false
matrix:
browser: [chromium, firefox, webkit]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: "20"

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.12.4
run_install: false

- name: Install dependencies
Expand Down Expand Up @@ -55,15 +56,15 @@ jobs:
performance-tests:
name: Performance Tests
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: "20"

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand All @@ -81,16 +82,16 @@ jobs:
# Build and start application first
pnpm build
pnpm start &

# Wait for application to be ready
timeout 60s bash -c 'until curl -f http://localhost:3000; do sleep 2; done'

# Run Lighthouse CI or similar performance tests
npx lighthouse http://localhost:3000 --output=json --output-path=./lighthouse-report.json --chrome-flags="--headless --no-sandbox"
env:
NEXTAUTH_SECRET: performance-test-secret
NEXTAUTH_URL: http://localhost:3000

- name: Upload performance results
uses: actions/upload-artifact@v4
if: always()
Expand All @@ -102,15 +103,15 @@ jobs:
accessibility-tests:
name: Accessibility Tests
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: "20"

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand All @@ -128,13 +129,13 @@ jobs:
# Build and start application first
pnpm build
pnpm start &

# Wait for application to be ready
timeout 60s bash -c 'until curl -f http://localhost:3000; do sleep 2; done'

# Install axe-core CLI
npm install -g @axe-core/cli

# Run accessibility tests on key pages
axe http://localhost:3000/login --exit
axe http://localhost:3000/register --exit
Expand All @@ -155,7 +156,7 @@ jobs:
runs-on: ubuntu-latest
needs: [comprehensive-e2e, performance-tests, accessibility-tests]
if: always()

steps:
- name: Send notification
run: |
Expand All @@ -169,8 +170,8 @@ jobs:
echo "Performance: ${{ needs.performance-tests.result }}"
echo "Accessibility: ${{ needs.accessibility-tests.result }}"
fi

# You can add Slack/Discord/email notifications here
# Example: curl -X POST -H 'Content-type: application/json' \
# --data '{"text":"Nightly test results: ..."}' \
# ${{ secrets.SLACK_WEBHOOK_URL }}
# ${{ secrets.SLACK_WEBHOOK_URL }}
11 changes: 6 additions & 5 deletions .github/workflows/test-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,20 @@ jobs:
quick-checks:
name: Quick Checks
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: "20"

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.12.4
run_install: false

- name: Get pnpm store directory
Expand Down Expand Up @@ -55,15 +56,15 @@ jobs:
critical-e2e:
name: Critical E2E Tests
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: "20"

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand Down Expand Up @@ -108,4 +109,4 @@ jobs:
with:
name: pr-e2e-test-results
path: test-results/
retention-days: 3
retention-days: 3
17 changes: 9 additions & 8 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,20 @@ jobs:
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: "20"

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.12.4
run_install: false

- name: Get pnpm store directory
Expand Down Expand Up @@ -63,15 +64,15 @@ jobs:
e2e-tests:
name: E2E Tests
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: "20"

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand Down Expand Up @@ -131,15 +132,15 @@ jobs:
build-check:
name: Build Check
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: "20"

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand Down Expand Up @@ -173,7 +174,7 @@ jobs:
runs-on: ubuntu-latest
needs: [unit-tests, e2e-tests, build-check]
if: always()

steps:
- name: Check test results
run: |
Expand All @@ -188,4 +189,4 @@ jobs:
echo "E2E tests: ${{ needs.e2e-tests.result }}"
echo "Build check: ${{ needs.build-check.result }}"
exit 1
fi
fi
Loading
Loading