Skip to content

ci: build npm libraries without the full webapp - #1970

Merged
irvingouj@Devolutions (irvingoujAtDevolution) merged 2 commits into
masterfrom
fix/publish-libraries-npm-filtered-install
Sep 2, 2026
Merged

ci: build npm libraries without the full webapp#1970
irvingouj@Devolutions (irvingoujAtDevolution) merged 2 commits into
masterfrom
fix/publish-libraries-npm-filtered-install

Conversation

@irvingoujAtDevolution

Copy link
Copy Markdown
Contributor

The npm library jobs installed the full webapp workspace, which pulled in the private @devolutions/icons package 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.

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.
Copilot AI balanced review requested due to automatic review settings September 2, 2026 20:40
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

Let maintainers know that an action is required on their side

  • Add the label release-required Please cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module) when you request a maintainer to cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module)

  • Add the label release-blocker Follow-up is required before cutting a new release if a follow-up is required before cutting a new release

  • Add the label publish-required Please publish libraries (`Devolutions.Gateway.Utils`, OpenAPI clients, etc) when you request a maintainer to publish libraries (Devolutions.Gateway.Utils, OpenAPI clients, etc.)

  • Add the label publish-blocker Follow-up is required before publishing libraries if a follow-up is required before publishing libraries

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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.

@CBenoit Benoît Cortier (CBenoit) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@irvingoujAtDevolution
irvingouj@Devolutions (irvingoujAtDevolution) merged commit 8889d6d into master Sep 2, 2026
62 checks passed
@irvingoujAtDevolution
irvingouj@Devolutions (irvingoujAtDevolution) deleted the fix/publish-libraries-npm-filtered-install branch September 2, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants