fix(ci): add common-plat checkout for backend, upgrade Node to 22, add concurrency

- Backend: common-plat checkout + pnpm build so @bytelyst/* file: deps resolve
- All jobs: Node 20→22, concurrency group for PR dedup
This commit is contained in:
saravanakumardb1 2026-03-20 15:20:18 -07:00
parent 2f9cfbef6a
commit fa1377892c

View File

@ -6,31 +6,58 @@ on:
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
backend:
name: Backend
name: Backend — typecheck + test + build
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend
env:
NODE_ENV: test
JWT_SECRET: ci-test-secret
DB_PROVIDER: memory
steps:
- uses: actions/checkout@v4
- name: Checkout common-plat (for @bytelyst/* packages)
uses: actions/checkout@v4
with:
repository: saravanakumardb1/learning_ai_common_plat
path: learning_ai_common_plat
token: ${{ secrets.GH_PAT }}
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: backend/package-lock.json
- run: npm ci
- run: npm run typecheck
- run: npm test
- run: npm run build
node-version: 22
- name: Install pnpm (for common-plat build)
run: npm install -g pnpm
- name: Build @bytelyst/* packages
working-directory: learning_ai_common_plat
run: |
pnpm install --frozen-lockfile
pnpm build
- name: Install backend dependencies
working-directory: backend
run: npm ci
- name: Backend typecheck
working-directory: backend
run: npm run typecheck
- name: Backend tests
working-directory: backend
run: npm test
env:
DB_PROVIDER: memory
JWT_SECRET: ci-test-secret-at-least-32-characters-long
- name: Backend build
working-directory: backend
run: npm run build
web:
name: Web
name: Web — typecheck + test + build
runs-on: ubuntu-latest
defaults:
run:
@ -39,7 +66,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
cache: npm
cache-dependency-path: web/package-lock.json
- run: npm ci
@ -48,7 +75,7 @@ jobs:
- run: npm run build
mobile:
name: Mobile Typecheck
name: Mobile — typecheck
runs-on: ubuntu-latest
defaults:
run:
@ -57,7 +84,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
cache: npm
cache-dependency-path: mobile/package-lock.json
- run: npm ci