Skip to content

Bump next from 15.5.0 to 15.5.7 #808

Bump next from 15.5.0 to 15.5.7

Bump next from 15.5.0 to 15.5.7 #808

Workflow file for this run

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