Skip to content

feat: implement responsive dashboard with accessibility improvements #285

feat: implement responsive dashboard with accessibility improvements

feat: implement responsive dashboard with accessibility improvements #285

# Workflow for Vercel deployment
name: Vercel Deployment
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
deploy:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend
steps:
- uses: actions/checkout@v4
# Install pnpm first
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
# Node.js setup after pnpm is available
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '18.x'
cache: 'pnpm'
cache-dependency-path: './frontend/pnpm-lock.yaml'
- name: Clean pnpm cache
run: pnpm store prune
continue-on-error: true
- name: Install Node.js dependencies
run: pnpm install
- name: Commit updated lockfile
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add pnpm-lock.yaml
if git diff --quiet && git diff --staged --quiet; then
echo "No changes to commit"
else
git commit -m "chore: update pnpm lockfile"
git push origin HEAD:${{ github.head_ref || github.ref_name }}
fi
continue-on-error: true
- name: Run security audit
run: pnpm audit
continue-on-error: true
- name: Type check
run: pnpm run type-check
- name: Build
run: pnpm run build --production
- name: Run frontend tests
run: |
CI=true pnpm run test
- name: Upload test results
uses: actions/upload-artifact@v4
with:
name: frontend-test-results
path: ./frontend/test-results
# Vercel deployment
- name: Deploy to Vercel
uses: amondnet/vercel-action@v20
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
working-directory: ./frontend
vercel-args: ${{ github.ref == 'refs/heads/main' && '--prod' || '' }}