adding responsive in the application #11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # CI/CD: run on every push to main. Ensures lint and build pass. | |
| # Deploy: connect this repo in Vercel and set Production Branch = main for auto-deploy. | |
| name: CI/CD | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| NODE_VERSION: "20" | |
| jobs: | |
| ci: | |
| name: Lint & Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| 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: Generate Prisma Client | |
| env: | |
| # Prisma generate only needs DATABASE_URL to be set (not used at generate time) | |
| DATABASE_URL: "postgresql://placeholder:placeholder@localhost:5432/placeholder" | |
| DIRECT_URL: "postgresql://placeholder:placeholder@localhost:5432/placeholder" | |
| run: npx prisma generate | |
| - name: Lint | |
| run: npm run lint | |
| - name: Check required secrets (Clerk) | |
| env: | |
| NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY || 'pk_test_placeholder' }} | |
| run: | | |
| if [ "$NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY" = "pk_test_placeholder" ]; then | |
| echo "::error::Clerk keys are required for the build. Add these in GitHub: Settings → Secrets and variables → Actions → New repository secret" | |
| echo " - NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY (from your .env)" | |
| echo " - CLERK_SECRET_KEY (from your .env)" | |
| exit 1 | |
| fi | |
| - name: Build | |
| env: | |
| DATABASE_URL: ${{ secrets.DATABASE_URL || 'postgresql://placeholder:placeholder@localhost:5432/placeholder' }} | |
| DIRECT_URL: ${{ secrets.DIRECT_URL || 'postgresql://placeholder:placeholder@localhost:5432/placeholder' }} | |
| NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY }} | |
| CLERK_SECRET_KEY: ${{ secrets.CLERK_SECRET_KEY }} | |
| NEXT_PUBLIC_APP_URL: ${{ secrets.NEXT_PUBLIC_APP_URL || 'https://developers-doc-1.vercel.app' }} | |
| run: npx next build --webpack |