From fa1377892c36e38f0aea57a386da398fab5700be Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Fri, 20 Mar 2026 15:20:18 -0700 Subject: [PATCH] fix(ci): add common-plat checkout for backend, upgrade Node to 22, add concurrency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Backend: common-plat checkout + pnpm build so @bytelyst/* file: deps resolve - All jobs: Node 20→22, concurrency group for PR dedup --- .github/workflows/ci.yml | 65 ++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 828d1ab..9f49d03 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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