diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d6c846fd..ca0d4d9d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,6 +39,7 @@ jobs: key: uv-${{ runner.os }}-${{ hashFiles('backend/uv.lock') }} - name: Set up Node + id: setup-node uses: actions/setup-node@v4 with: node-version: "22" @@ -51,6 +52,16 @@ jobs: - name: Install frontend dependencies run: make frontend-sync + - name: Cache Next.js build cache + uses: actions/cache@v4 + with: + path: | + frontend/.next/cache + key: nextjs-${{ runner.os }}-node-${{ steps.setup-node.outputs.node-version }}-${{ hashFiles('frontend/package-lock.json') }} + restore-keys: | + nextjs-${{ runner.os }}-node-${{ steps.setup-node.outputs.node-version }}- + + - name: Run backend checks env: # Keep CI builds deterministic. @@ -95,6 +106,7 @@ jobs: uses: actions/checkout@v4 - name: Set up Node + id: setup-node uses: actions/setup-node@v4 with: node-version: "22" @@ -104,6 +116,26 @@ jobs: - name: Install frontend dependencies run: make frontend-sync + - name: Cache Next.js build cache + uses: actions/cache@v4 + with: + path: | + frontend/.next/cache + key: nextjs-${{ runner.os }}-node-${{ steps.setup-node.outputs.node-version }}-${{ hashFiles('frontend/package-lock.json') }} + restore-keys: | + nextjs-${{ runner.os }}-node-${{ steps.setup-node.outputs.node-version }}- + + + - name: Cache Next.js build cache + uses: actions/cache@v4 + with: + path: | + frontend/.next/cache + key: nextjs-${{ runner.os }}-node-${{ steps.setup-node.outputs.node-version }}-${{ hashFiles('frontend/package-lock.json') }} + restore-keys: | + nextjs-${{ runner.os }}-node-${{ steps.setup-node.outputs.node-version }}- + + - name: Start frontend (dev server) env: NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }}