Bump next from 15.5.0 to 15.5.7 #808
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: π Continuous Integration | |
| on: | |
| push: | |
| branches: [main, dev] | |
| pull_request: | |
| branches: [main, dev] | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| quality: | |
| name: π Code Quality | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: π₯ Checkout code | |
| uses: actions/checkout@v4 | |
| - name: π¦ Setup pnpm | |
| uses: pnpm/action-setup@v2 | |
| with: | |
| version: latest | |
| - name: π¦ Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: '.tool-versions' | |
| cache: 'pnpm' | |
| - name: π₯ Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: ποΈ Generate Prisma client | |
| run: pnpm prisma:generate | |
| - name: π§ Install ESLint globally | |
| run: pnpm add -g eslint | |
| - name: π Run ESLint | |
| run: pnpm lint | |
| - name: π¨ Check Prettier formatting | |
| run: pnpm exec prettier --check . | |
| - name: π TypeScript type checking | |
| run: pnpm typecheck | |
| build-and-test: | |
| name: ποΈ Build & Test | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: π₯ Checkout code | |
| uses: actions/checkout@v4 | |
| - name: π¦ Setup pnpm | |
| uses: pnpm/action-setup@v2 | |
| with: | |
| version: latest | |
| - name: π¦ Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: '.tool-versions' | |
| cache: 'pnpm' | |
| - name: π₯ Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: ποΈ Generate Prisma client | |
| run: pnpm prisma:generate | |
| - name: π Copy .env.example to .env | |
| run: cp .env.example .env | |
| - name: ποΈ Build application | |
| run: pnpm build | |
| env: | |
| NODE_ENV: production | |
| ENCRYPTION_KEY: ${{ secrets.DUMMY_ENCRYPTION_KEY }} | |
| AUTH_SECRET: ${{ secrets.DUMMY_AUTH_SECRET }} | |
| ANTHROPIC_API_KEY: ${{ secrets.DUMMY_ANTHROPIC_API_KEY }} | |
| - name: π§ͺ Run tests | |
| run: pnpm test | |
| env: | |
| NODE_ENV: production | |
| ENCRYPTION_KEY: ${{ secrets.DUMMY_ENCRYPTION_KEY }} | |
| AUTH_SECRET: ${{ secrets.DUMMY_AUTH_SECRET }} | |
| ANTHROPIC_API_KEY: ${{ secrets.DUMMY_ANTHROPIC_API_KEY }} | |
| all-checks: | |
| name: β All Checks Passed | |
| runs-on: ubuntu-latest | |
| needs: [quality, build-and-test] | |
| if: always() | |
| steps: | |
| - name: β Check all jobs | |
| run: | | |
| if [[ "${{ needs.quality.result }}" == "success" && \ | |
| "${{ needs.build-and-test.result }}" == "success" ]]; then | |
| echo "π All checks passed!" | |
| echo "## β CI Status: PASSED" >> $GITHUB_STEP_SUMMARY | |
| echo "All quality checks, tests, and builds completed successfully." >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "β Some checks failed!" | |
| echo "## β CI Status: FAILED" >> $GITHUB_STEP_SUMMARY | |
| echo "One or more checks failed. Please review the failed jobs above." >> $GITHUB_STEP_SUMMARY | |
| exit 1 | |
| fi |