ci: build npm libraries without the full webapp - #1970
Conversation
The four published webapp libraries do not depend on @devolutions/icons, but a bare `pnpm install` inside the workspace installs every project, including apps/gateway-ui, which does. That package only exists on Artifactory, so the npm-build job could only succeed when the pnpm store came back from the GitHub cache. On 2026-09-02 the cache restore was rate limited (429) and three builds failed with ERR_PNPM_FETCH_404 on icons-5.0.11.tgz. Install only the library and its workspace dependencies with `--filter "<pkg>..."`, which resolves 191-562 public packages instead of 1282, and drop the setup-node cache: the install now takes seconds, and the cache was also what failed the ts-angular-client job (an npm project with no pnpm store to save once the restore missed).
$ErrorActionPreference = "Stop" does not cover native commands, so a failed install used to fall through to the build and the log filled with misleading tsc errors from a half-populated node_modules.
Let maintainers know that an action is required on their side
|
There was a problem hiding this comment.
🟢 Approval recommended
All reviewed changes are focused, and no unresolved issues were identified.
Pull request overview
Narrows npm library installs to relevant workspace dependencies, avoiding private package and cache reliance.
Changes:
- Adds frozen, filtered pnpm installs with immediate failure handling.
- Removes shared pnpm caching from the publishing workflow.
File summaries
| File | Description |
|---|---|
webapp/packages/web-recorder/build.ps1 |
Filters and validates dependency installation. |
webapp/packages/shadow-player/build.ps1 |
Filters and validates dependency installation. |
webapp/packages/session-recording-log/build.ps1 |
Filters and validates dependency installation. |
webapp/packages/multi-video-player/build.ps1 |
Installs only the library and workspace dependencies. |
.github/workflows/publish-libraries.yml |
Removes pnpm cache configuration. |
Review details
- Files reviewed: 5/5 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
8889d6d
into
master
The npm library jobs installed the full webapp workspace, which pulled in the private
@devolutions/iconspackage even though the published libraries do not use it. This made releases depend on a warm pnpm cache.Install only each library and its workspace dependencies, remove the shared pnpm cache configuration, and stop immediately when installation fails.