From ed67390deaf3e916888c84eeece314771765a966 Mon Sep 17 00:00:00 2001 From: Dmitry Verkhoturov Date: Sat, 7 Mar 2026 21:22:25 +0000 Subject: [PATCH 1/2] ci: add pnpm dependency caching via setup-node Replace manual actions/cache steps with built-in setup-node cache support. Add cache: pnpm and cache-dependency-path to all setup-node steps in both ci-frontend.yml and ci-frontend-api.yml. Move pnpm install before setup-node as required for pnpm caching to work. --- .github/workflows/ci-frontend-api.yml | 63 +++++--------------- .github/workflows/ci-frontend.yml | 85 +++++++-------------------- 2 files changed, 35 insertions(+), 113 deletions(-) diff --git a/.github/workflows/ci-frontend-api.yml b/.github/workflows/ci-frontend-api.yml index e2b22425c1..369d51d798 100644 --- a/.github/workflows/ci-frontend-api.yml +++ b/.github/workflows/ci-frontend-api.yml @@ -30,29 +30,18 @@ jobs: with: persist-credentials: false - - name: Install node - uses: actions/setup-node@v6 - with: - node-version: ${{ matrix.node }} - - name: Install pnpm uses: pnpm/action-setup@v4.2.0 - id: pnpm-install with: version: 8 run_install: false - - name: Get pnpm store directory - id: pnpm-cache - run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV - - - name: Setup pnpm cache - uses: actions/cache@v5 + - name: Install node + uses: actions/setup-node@v6 with: - path: ${{ env.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- + node-version: ${{ matrix.node }} + cache: "pnpm" + cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i @@ -77,29 +66,18 @@ jobs: with: persist-credentials: false - - name: Install node - uses: actions/setup-node@v6 - with: - node-version: ${{ matrix.node }} - - name: Install pnpm uses: pnpm/action-setup@v4.2.0 - id: pnpm-install with: version: 8 run_install: false - - name: Get pnpm store directory - id: pnpm-cache - run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV - - - name: Setup pnpm cache - uses: actions/cache@v5 + - name: Install node + uses: actions/setup-node@v6 with: - path: ${{ env.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- + node-version: ${{ matrix.node }} + cache: "pnpm" + cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i @@ -124,29 +102,18 @@ jobs: with: persist-credentials: false - - name: Install node - uses: actions/setup-node@v6 - with: - node-version: ${{ matrix.node }} - - name: Install pnpm uses: pnpm/action-setup@v4.2.0 - id: pnpm-install with: version: 8 run_install: false - - name: Get pnpm store directory - id: pnpm-cache - run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV - - - name: Setup pnpm cache - uses: actions/cache@v5 + - name: Install node + uses: actions/setup-node@v6 with: - path: ${{ env.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- + node-version: ${{ matrix.node }} + cache: "pnpm" + cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i diff --git a/.github/workflows/ci-frontend.yml b/.github/workflows/ci-frontend.yml index ae993486ba..41919dff0f 100644 --- a/.github/workflows/ci-frontend.yml +++ b/.github/workflows/ci-frontend.yml @@ -30,29 +30,18 @@ jobs: with: persist-credentials: false - - name: Install node - uses: actions/setup-node@v6 - with: - node-version: ${{ matrix.node }} - - name: Install pnpm uses: pnpm/action-setup@v4.2.0 - id: pnpm-install with: version: 8 run_install: false - - name: Get pnpm store directory - id: pnpm-cache - run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV - - - name: Setup pnpm cache - uses: actions/cache@v5 + - name: Install node + uses: actions/setup-node@v6 with: - path: ${{ env.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- + node-version: ${{ matrix.node }} + cache: "pnpm" + cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i @@ -77,29 +66,18 @@ jobs: with: persist-credentials: false - - name: Install node - uses: actions/setup-node@v6 - with: - node-version: ${{ matrix.node }} - - name: Install pnpm uses: pnpm/action-setup@v4.2.0 - id: pnpm-install with: version: 8 run_install: false - - name: Get pnpm store directory - id: pnpm-cache - run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV - - - name: Setup pnpm cache - uses: actions/cache@v5 + - name: Install node + uses: actions/setup-node@v6 with: - path: ${{ env.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- + node-version: ${{ matrix.node }} + cache: "pnpm" + cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i @@ -124,29 +102,18 @@ jobs: with: persist-credentials: false - - name: Install node - uses: actions/setup-node@v6 - with: - node-version: ${{ matrix.node }} - - name: Install pnpm uses: pnpm/action-setup@v4.2.0 - id: pnpm-install with: version: 8 run_install: false - - name: Get pnpm store directory - id: pnpm-cache - run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV - - - name: Setup pnpm cache - uses: actions/cache@v5 + - name: Install node + uses: actions/setup-node@v6 with: - path: ${{ env.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- + node-version: ${{ matrix.node }} + cache: "pnpm" + cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i @@ -173,7 +140,6 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v4.2.0 - id: pnpm-install with: version: 8 run_install: false @@ -200,29 +166,18 @@ jobs: with: persist-credentials: false - - name: Install node - uses: actions/setup-node@v6 - with: - node-version: ${{ matrix.node }} - - name: Install pnpm uses: pnpm/action-setup@v4.2.0 - id: pnpm-install with: version: 8 run_install: false - - name: Get pnpm store directory - id: pnpm-cache - run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV - - - name: Setup pnpm cache - uses: actions/cache@v5 + - name: Install node + uses: actions/setup-node@v6 with: - path: ${{ env.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- + node-version: ${{ matrix.node }} + cache: "pnpm" + cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i From ab9e6675cf3a360ff6bd4d3103956f3d52a9e995 Mon Sep 17 00:00:00 2001 From: Dmitry Verkhoturov Date: Sat, 7 Mar 2026 21:37:46 +0000 Subject: [PATCH 2/2] fix type check failure in @remark42/api package Add skipLibCheck to skip type checking of .d.ts files in node_modules, matching the setting already used by the main remark42 app. Fixes @types/eslint-scope vs @types/eslint type incompatibility. --- frontend/packages/api/tsconfig.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/packages/api/tsconfig.json b/frontend/packages/api/tsconfig.json index e0ad37c0df..677336c5cf 100644 --- a/frontend/packages/api/tsconfig.json +++ b/frontend/packages/api/tsconfig.json @@ -7,7 +7,8 @@ "declaration": true, "isolatedModules": true, "forceConsistentCasingInFileNames": true, - "strict": true + "strict": true, + "skipLibCheck": true }, "include": ["index.ts", "clients", "lib"], "exclude": ["tests", "coverage"]