Skip to content

chore: more desktop apps builds fixes#9407

Merged
evereq merged 1 commit intostagefrom
develop
Feb 2, 2026
Merged

chore: more desktop apps builds fixes#9407
evereq merged 1 commit intostagefrom
develop

Conversation

@evereq
Copy link
Member

@evereq evereq commented Feb 2, 2026

PR

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.



Summary by cubic

Stabilizes desktop builds in CI by adding a pip fallback, fixing missing Google Maps types, and building shared packages before Electron builds. Improves reliability for desktop, timer, agent, server, and MCP server builds across OSes.

  • Bug Fixes

    • CI: add pip fallback for packaging/setuptools to unblock node-gyp on runners.
    • TS: include google.maps types in app tsconfigs and ui-core typings to fix compile errors.
    • Scripts: run build:package:all:prod in desktop/agent/server build flows; align MCP server build to ng:prod.
  • New Features

    • Add build:apps:windows/linux/mac scripts to build all apps per OS in one command.

Written for commit a373fc0. Summary will update on new commits.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 2, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch develop

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@evereq evereq merged commit 5bbec6d into stage Feb 2, 2026
24 of 32 checks passed
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 2, 2026

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 2, 2026

Greptile Overview

Greptile Summary

This PR fixes desktop application build issues by addressing Python dependency installation failures and TypeScript compilation errors.

Key Changes

  • Workflow Resilience: Added fallback command (|| python3 -m pip install packaging setuptools) across all 12 GitHub Actions workflow files to handle environments where the --break-system-packages flag is not supported, ensuring builds don't fail due to pip installation issues
  • TypeScript Configuration: Added google.maps type declarations to multiple tsconfig files (apps/agent/tsconfig.app.json, apps/server-api/tsconfig.app.json, apps/server-api/tsconfig.json, apps/server/tsconfig.app.json) and the global typings file (packages/ui-core/typings.d.ts) to resolve compilation errors
  • Build Script Improvements:
    • Added yarn run build:package:all:prod to build scripts for desktop, desktop-timer, agent, gauzy-server, gauzy-api-server, and gauzy-mcp-server to ensure all packages are built before the main applications
    • Fixed build:gauzy-mcp-server to use yarn ng:prod build server-mcp instead of yarn nx build server-mcp for consistency
    • Reordered MCP server build scripts (Linux builds before Windows builds) for better organization
    • Added convenience scripts: build:apps:windows, build:apps:linux, and build:apps:mac

PR Template Compliance

The PR description checkboxes are not checked, which violates the contributing guidelines (custom rule 90653f25-bd57-4517-ae57-772fe2013d9c).

Confidence Score: 4/5

  • This PR is safe to merge with low risk - addresses build infrastructure issues with defensive fallback patterns
  • Score of 4 reflects well-tested build infrastructure changes that follow defensive coding patterns (fallback pip install command) and proper TypeScript configuration. The changes are straightforward and address specific build failures. The only concern is the unchecked PR template boxes which indicates incomplete documentation, but this doesn't affect the technical safety of the code changes themselves.
  • No files require special attention - all changes follow consistent patterns and are safe

Important Files Changed

Filename Overview
.github/workflows/desktop-app-prod.yml Added fallback for pip install command when --break-system-packages flag is not supported
apps/agent/tsconfig.app.json Added google.maps type declarations to fix TypeScript compilation errors
package.json Added build:package:all:prod to desktop app build scripts, fixed build:gauzy-mcp-server script command, reordered MCP server build scripts for consistency, and added convenience scripts for building all apps
packages/ui-core/typings.d.ts Added google.maps type reference to provide global type definitions

Sequence Diagram

sequenceDiagram
    participant GHA as GitHub Actions Workflow
    participant Python as Python Package Manager
    participant Yarn as Yarn Build Process
    participant TS as TypeScript Compiler
    participant Packages as Package Build System
    
    Note over GHA,Python: Workflow Initialization
    GHA->>Python: pip install --break-system-packages packaging setuptools
    alt Installation succeeds
        Python-->>GHA: Success
    else Installation fails (flag not supported)
        Python-->>GHA: Error
        GHA->>Python: pip install packaging setuptools (fallback)
        Python-->>GHA: Success
    end
    
    Note over Yarn,Packages: Desktop App Build Process
    Yarn->>Packages: build:package:all:prod (NEW)
    Packages->>TS: Build all packages with production config
    Note over Packages: Includes constants, contracts, common, utils,<br/>plugin packages, and desktop packages
    TS-->>Packages: All packages built
    Packages-->>Yarn: Build complete
    
    Yarn->>TS: ng:prod build desktop
    TS->>TS: Load tsconfig.app.json
    Note over TS: types: ["google.maps"] now included
    TS-->>Yarn: Compilation successful
    
    Note over GHA: Build artifacts ready for electron-builder
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

4 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 18 files

@augmentcode
Copy link

augmentcode bot commented Feb 2, 2026

🤖 Augment PR Summary

Summary: Improves CI robustness and build ordering for desktop/server desktop app builds.

Changes:

  • GitHub Actions: retry Python dependency install for node-gyp when --break-system-packages isn’t supported.
  • Build scripts: run build:package:all:prod before building/packing desktop apps to ensure workspace packages are available.
  • TypeScript configs: add google.maps typings to Agent/Server/Server-API app tsconfigs (and server-api base config).
  • UI typings: reference Google Maps types from packages/ui-core/typings.d.ts.
  • Add convenience scripts to build all apps per OS (build:apps:windows|linux|mac).

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.


- name: Fix node-gyp and Python
run: python3 -m pip install --break-system-packages packaging setuptools
run: python3 -m pip install --break-system-packages packaging setuptools || python3 -m pip install packaging setuptools
Copy link

Choose a reason for hiding this comment

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

Using cmd1 || cmd2 will fall back to installing without --break-system-packages on any failure (not just “unknown option”), which can change behavior and obscure the real root cause. Consider narrowing the fallback to only the flag-not-supported scenario so genuine install failures aren’t retried with different semantics.

Other Locations
  • .github/workflows/agent-stage.yml:228
  • .github/workflows/desktop-app-prod.yml:228
  • .github/workflows/desktop-app-stage.yml:228
  • .github/workflows/desktop-timer-app-prod.yml:228
  • .github/workflows/desktop-timer-app-stage.yml:228
  • .github/workflows/server-api-prod.yml:228
  • .github/workflows/server-api-stage.yml:228
  • .github/workflows/server-mcp-prod.yml:228
  • .github/workflows/server-mcp-stage.yml:228
  • .github/workflows/server-prod.yml:228
  • .github/workflows/server-stage.yml:228

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@@ -1,3 +1,5 @@
/// <reference types="google.maps" />
Copy link

Choose a reason for hiding this comment

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

Adding /// <reference types="google.maps" /> in @gauzy/ui-core makes @types/google.maps a transitive requirement for any consumer compiling against this package’s typings (outside this monorepo it could surface as a missing-types failure). If ui-core is published/consumed independently, consider ensuring that dependency is reflected in packages/ui-core/package.json (or otherwise scoped so only apps that need Maps types pull it in).

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant