ci: disable node_modules cache for all app-building jobs#6034
Open
dantovska wants to merge 1 commit into
Open
Conversation
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
Extends PR #6031 to the macOS and Windows build pipelines so every job that builds the application runs a clean install. Same reasoning as the original change: stale nested node_modules surviving cache restore-keys across lockfile bumps can break builds (e.g. the 'Cannot find module detect-libc' failure after the electron-builder 26.15.2 bump). Files updated to pass cache-node-modules: '0': - pipeline-build-linux.yml (already in #6031) - pipeline-build-docker.yml (already in #6031) - pipeline-build-macos.yml (new) - pipeline-build-windows.yml (new) - tests-e2e-playwright-chromium.yml (already in #6031) The composite action gains the cache-node-modules input (default '1') so other consumers (lint, type-check, unit tests, licenses-check) keep caching unchanged.
ea313e1 to
53640cd
Compare
pawelangelow
approved these changes
Jun 9, 2026
Contributor
Code Coverage - Backend unit tests
Test suite run success3453 tests passing in 308 suites. Report generated by 🧪jest coverage report action from 53640cd |
Contributor
Code Coverage - Integration Tests
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Backports redis/RedisInsight#6031 into
release/3.6.0and extends it to every pipeline that builds the application. Specifically, this also addscache-node-modules: '0'to the macOS and Windows build pipelines that were intentionally left untouched in the original PR.Adds an opt-out
cache-node-modulesinput (default'1') to theinstall-all-build-libscomposite action, and disables caching at all the call sites that actually build the application:pipeline-build-linux.ymlpipeline-build-docker.ymlpipeline-build-macos.yml(new vs. ci(e2e): disable node_modules cache for jobs that build the application #6031)pipeline-build-windows.yml(new vs. ci(e2e): disable node_modules cache for jobs that build the application #6031)tests-e2e-playwright-chromium.ymlAll other consumers (
lint,type-check,tests-backend,tests-frontend,licenses-check) fall through to the default'1'and keep caching unchanged.Why
Same reasoning as #6031: after the bump of
electron-builderto26.15.2, builds in E2E Playwright Tests (v2) failed withCannot find module 'detect-libc', originating from a stalenode_modules/app-builder-lib/node_modules/@electron/rebuild@3.7.0left behind by the restored cache.yarn install --frozen-lockfiledoes not delete orphaned nestednode_modules, and the cache'srestore-keysfallback silently brought the stale tree forward across the lockfile change.For pipelines that build the app from scratch, a clean install is cheap insurance — these jobs already spend most of their time compiling and packaging, so the cache win was marginal anyway. Applying the same fix to macOS and Windows keeps behavior consistent across platforms and protects them from the same class of failure.
Test plan
release/3.6.0pipeline-build-linux.ymlruns without restoring node_modulespipeline-build-docker.ymlruns without restoring node_modulespipeline-build-macos.ymlruns without restoring node_modulespipeline-build-windows.ymlruns without restoring node_modulestests-e2e-playwright-chromium.ymlruns without restoring node_modules🤖 Generated with Claude Code
Note
Low Risk
Changes are limited to CI caching behavior and release-note documentation; no runtime application code is affected.
Overview
Adds an opt-out
cache-node-modulesinput (default enabled) toinstall-all-build-libs, so thenode_modulescache step is skipped when set to'0'.All application build and E2E web-build pipelines now pass
cache-node-modules: '0'(Linux, Docker, macOS, Windows, and Playwright Chromium E2E). That forces a freshyarn installon those jobs to avoid stale nested dependencies after lockfile changes (e.g. missingdetect-libcfrom restored cache). Lint, type-check, unit tests, and licenses workflows are unchanged and still use the default cache.The release notes template gains an optional New Contributors section with guidance on generating and manually completing the list.
Reviewed by Cursor Bugbot for commit 53640cd. Bugbot is set up for automated code reviews on this repo. Configure here.