ci: install the linked preset's deps before linting ts_core/web_ui; deps green

ts_core and web_ui depend on `link:../ts_config`. pnpm links the directory
and installs nothing inside it, and a flat config imports its plugins from
the preset's own node_modules, so CI died on "Cannot find package
'@eslint/js'" while the local tree (where ts_config had been installed by
hand) passed. Both workflows now `pnpm install` in ts_config first, and
trigger on ts_config/** too so a preset change re-verifies its consumers.

The same push turned the dependency-freshness job red on five pins that had
aged underneath it (ruff 0.16.8 in four requirements.txt,
flutter_secure_storage 11.2.0 in crdt_sync_flutter); bumped, pubspec.lock is
ignored in that package so nothing else moves.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DnAYyNH1Sm4iJNidfYbrZJ
This commit is contained in:
Krzysztof Rudnicki 2026-09-16 21:50:13 +02:00
parent c5b3fceeae
commit cb64e93b97
7 changed files with 25 additions and 9 deletions

View File

@ -3,10 +3,10 @@ name: ts_core tests
on:
push:
branches: [main]
paths: ['ts_core/**']
paths: ['ts_core/**', 'ts_config/**']
pull_request:
branches: [main]
paths: ['ts_core/**']
paths: ['ts_core/**', 'ts_config/**']
jobs:
test:
@ -26,6 +26,14 @@ jobs:
with:
node-version: "24.21.0"
# The preset is a `link:../ts_config` dependency. pnpm links the
# directory but installs nothing inside it, and a flat config imports
# its plugins from the preset's own node_modules -- so without this
# step the lint dies on "Cannot find package '@eslint/js'".
- name: Install the shared lint preset's dependencies
run: pnpm install --frozen-lockfile
working-directory: ts_config
- name: Install dependencies
run: pnpm install --frozen-lockfile

View File

@ -3,10 +3,10 @@ name: web_ui tests
on:
push:
branches: [main]
paths: ['web_ui/**']
paths: ['web_ui/**', 'ts_config/**']
pull_request:
branches: [main]
paths: ['web_ui/**']
paths: ['web_ui/**', 'ts_config/**']
jobs:
test:
@ -26,6 +26,14 @@ jobs:
with:
node-version: "24.21.0"
# The preset is a `link:../ts_config` dependency. pnpm links the
# directory but installs nothing inside it, and a flat config imports
# its plugins from the preset's own node_modules -- so without this
# step the lint dies on "Cannot find package '@eslint/js'".
- name: Install the shared lint preset's dependencies
run: pnpm install --frozen-lockfile
working-directory: ts_config
- name: Install dependencies
run: pnpm install --frozen-lockfile

View File

@ -8,5 +8,5 @@ pylint==4.0.8
pytest==9.1.1
pytest-cov==7.1.0
requests==2.34.2
ruff==0.16.7
ruff==0.16.8
types-requests==2.33.0.20260906

View File

@ -18,7 +18,7 @@ dependencies:
crypto: 3.0.7
flutter:
sdk: flutter
flutter_secure_storage: 11.1.1
flutter_secure_storage: 11.2.0
# A real dependency, not a dev one: lib/testing/ ships the keystore fake so
# consuming apps can test their own sync wiring without rebuilding it.
flutter_test:

View File

@ -7,4 +7,4 @@ pre-commit==4.6.2
pylint==4.0.8
pytest==9.1.1
pytest-cov==7.1.0
ruff==0.16.7
ruff==0.16.8

View File

@ -7,4 +7,4 @@ pre-commit==4.6.2
pylint==4.0.8
pytest==9.1.1
pytest-cov==7.1.0
ruff==0.16.7
ruff==0.16.8

View File

@ -8,4 +8,4 @@ pre-commit==4.6.2
pylint==4.0.8
pytest==9.1.1
pytest-cov==7.1.0
ruff==0.16.7
ruff==0.16.8