Skip to content

feat: implement scroll lock for CommandPalette and add corresponding … #33

feat: implement scroll lock for CommandPalette and add corresponding …

feat: implement scroll lock for CommandPalette and add corresponding … #33

Workflow file for this run

name: CI/CD
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
env:
NODE_VERSION: '18'
jobs:
test:
name: Test & Coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Type check
run: npm run check
- name: Run unit tests with coverage
run: npm run test:coverage
- name: Check coverage threshold (90%)
run: |
COVERAGE=$(cat coverage/coverage-summary.json | jq '.total.lines.pct')
echo "Coverage: $COVERAGE%"
if (( $(echo "$COVERAGE < 90" | bc -l) )); then
echo "Coverage is below 90%!"
exit 1
fi
- name: Upload coverage reports
uses: codecov/codecov-action@v3
with:
directory: ./coverage
fail_ci_if_error: false
e2e:
name: E2E Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Install Playwright browsers
run: npx playwright install --with-deps
- name: Run E2E tests
run: npm run test:e2e
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: playwright-report/
retention-days: 30
# Build & Deploy handled by Cloudflare Pages Git integration
# See: https://dash.cloudflare.com → Pages → NebulaKit