Merge pull request #137 from solve-ease/vercel/react-server-component… #99
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
| name: Node.js CI | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| paths: | |
| - 'optiblogai-site/**' | |
| - '.github/workflows/ci.yml' | |
| pull_request: | |
| branches: [ main, develop ] | |
| paths: | |
| - 'optiblogai-site/**' | |
| - '.github/workflows/ci.yml' | |
| defaults: | |
| run: | |
| working-directory: ./optiblogai-site | |
| jobs: | |
| lint-and-test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [18.x, 20.x] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'npm' | |
| cache-dependency-path: './optiblogai-site/package-lock.json' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run ESLint | |
| run: npm run lint | |
| - name: Check TypeScript types | |
| run: npx tsc --noEmit | |
| - name: Run tests (if test script exists) | |
| run: | | |
| if npm run | grep -q "test"; then | |
| npm test | |
| else | |
| echo "No test script found, skipping tests" | |
| fi | |
| env: | |
| CI: true | |
| - name: Build application | |
| run: npm run build | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: matrix.node-version == '20.x' | |
| with: | |
| name: build-files | |
| path: ./optiblogai-site/.next/ | |
| retention-days: 7 |