-
Notifications
You must be signed in to change notification settings - Fork 714
Stage #9278
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stage #9278
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
8 issues found across 20 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name=".github/workflows/server-api-prod.yml">
<violation number="1" location=".github/workflows/server-api-prod.yml:132">
P0: Function name mismatch: The script exports `serverapi` (lowercase) but this line calls `serverApi` (camelCase), which doesn't exist. This will cause the build to fail with `TypeError: script.serverApi is not a function`. Change to `script.serverapi(true)` to match the other jobs.</violation>
</file>
<file name=".github/workflows/server-mcp-prod.yml">
<violation number="1" location=".github/workflows/server-mcp-prod.yml:132">
P0: Function name mismatch: `serverMcp` should be `servermcp`. The exported function in `.scripts/bump-version-electron.js` is `servermcp` (all lowercase), but this calls `serverMcp` (camelCase), which will be undefined and cause the build to fail.</violation>
</file>
<file name=".github/workflows/server-api-stage.yml">
<violation number="1" location=".github/workflows/server-api-stage.yml:132">
P0: Function name mismatch: `serverApi` is undefined. The script exports `serverapi` (all lowercase), not `serverApi`. This will cause a runtime error when the arm64 jobs execute.</violation>
</file>
<file name=".github/workflows/server-mcp-stage.yml">
<violation number="1" location=".github/workflows/server-mcp-stage.yml:132">
P0: Function name mismatch: the script exports `servermcp` but this calls `serverMcp`. This will cause a runtime error.</violation>
</file>
<file name=".github/workflows/agent-stage.yml">
<violation number="1" location=".github/workflows/agent-stage.yml:135">
P1: Environment variable names are inconsistent with what the `bump-version-electron.js` script expects. The script reads `AGENT_APP_NAME`, `AGENT_APP_DESCRIPTION`, and `AGENT_APP_ID`, but this job defines `DESKTOP_AGENT_APP_NAME`, `DESKTOP_AGENT_APP_DESCRIPTION`, and `DESKTOP_AGENT_APP_ID`. This will cause the bump version step to fail or produce incorrect results.</violation>
</file>
<file name="apps/agent/src/package.json">
<violation number="1" location="apps/agent/src/package.json:92">
P2: The `snap` target is missing explicit architecture specification, unlike all other Linux targets. This inconsistency means snap packages won't be built for both x64 and arm64 in the same build run. If multi-arch snap builds are intended, add the `arch` array; otherwise, consider adding a comment explaining why snap is single-arch.</violation>
</file>
<file name=".github/workflows/agent-prod.yml">
<violation number="1" location=".github/workflows/agent-prod.yml:135">
P1: The environment variables `DESKTOP_AGENT_APP_NAME`, `DESKTOP_AGENT_APP_DESCRIPTION`, and `DESKTOP_AGENT_APP_ID` don't match what the bump-version-electron.js script expects. The script reads `AGENT_APP_NAME`, `AGENT_APP_DESCRIPTION`, and `AGENT_APP_ID`. This will cause the version bump to fail or use undefined values.</violation>
</file>
<file name=".github/workflows/server-stage.yml">
<violation number="1" location=".github/workflows/server-stage.yml:132">
P1: Inconsistent `isProd` parameter: ARM64 builds use `script.server(true)` (production release) while all other builds in this stage workflow use `script.server(false)` (prerelease). This will cause ARM64 artifacts to be published as full releases instead of prereleases.</violation>
</file>
Reply to cubic to teach it or ask questions. Re-run a review with @cubic-dev-ai review this PR
| with: | ||
| script: | | ||
| const script = require('./.scripts/bump-version-electron.js') | ||
| console.log(script.serverApi(true)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P0: Function name mismatch: The script exports serverapi (lowercase) but this line calls serverApi (camelCase), which doesn't exist. This will cause the build to fail with TypeError: script.serverApi is not a function. Change to script.serverapi(true) to match the other jobs.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/server-api-prod.yml, line 132:
<comment>Function name mismatch: The script exports `serverapi` (lowercase) but this line calls `serverApi` (camelCase), which doesn't exist. This will cause the build to fail with `TypeError: script.serverApi is not a function`. Change to `script.serverapi(true)` to match the other jobs.</comment>
<file context>
@@ -57,34 +60,106 @@ jobs:
+ with:
+ script: |
+ const script = require('./.scripts/bump-version-electron.js')
+ console.log(script.serverApi(true))
+ env:
+ PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git'
</file context>
| console.log(script.serverApi(true)) | |
| console.log(script.serverapi(true)) |
| with: | ||
| script: | | ||
| const script = require('./.scripts/bump-version-electron.js') | ||
| console.log(script.serverMcp(true)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P0: Function name mismatch: serverMcp should be servermcp. The exported function in .scripts/bump-version-electron.js is servermcp (all lowercase), but this calls serverMcp (camelCase), which will be undefined and cause the build to fail.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/server-mcp-prod.yml, line 132:
<comment>Function name mismatch: `serverMcp` should be `servermcp`. The exported function in `.scripts/bump-version-electron.js` is `servermcp` (all lowercase), but this calls `serverMcp` (camelCase), which will be undefined and cause the build to fail.</comment>
<file context>
@@ -57,34 +60,106 @@ jobs:
+ with:
+ script: |
+ const script = require('./.scripts/bump-version-electron.js')
+ console.log(script.serverMcp(true))
+ env:
+ PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git'
</file context>
| console.log(script.serverMcp(true)) | |
| console.log(script.servermcp(true)) |
| with: | ||
| script: | | ||
| const script = require('./.scripts/bump-version-electron.js') | ||
| console.log(script.serverApi(true)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P0: Function name mismatch: serverApi is undefined. The script exports serverapi (all lowercase), not serverApi. This will cause a runtime error when the arm64 jobs execute.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/server-api-stage.yml, line 132:
<comment>Function name mismatch: `serverApi` is undefined. The script exports `serverapi` (all lowercase), not `serverApi`. This will cause a runtime error when the arm64 jobs execute.</comment>
<file context>
@@ -57,34 +60,106 @@ jobs:
+ with:
+ script: |
+ const script = require('./.scripts/bump-version-electron.js')
+ console.log(script.serverApi(true))
+ env:
+ PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git'
</file context>
| console.log(script.serverApi(true)) | |
| console.log(script.serverapi(true)) |
| with: | ||
| script: | | ||
| const script = require('./.scripts/bump-version-electron.js') | ||
| console.log(script.serverMcp(true)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P0: Function name mismatch: the script exports servermcp but this calls serverMcp. This will cause a runtime error.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/server-mcp-stage.yml, line 132:
<comment>Function name mismatch: the script exports `servermcp` but this calls `serverMcp`. This will cause a runtime error.</comment>
<file context>
@@ -57,34 +60,106 @@ jobs:
+ with:
+ script: |
+ const script = require('./.scripts/bump-version-electron.js')
+ console.log(script.serverMcp(true))
+ env:
+ PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git'
</file context>
| console.log(script.serverMcp(true)) | |
| console.log(script.servermcp(true)) |
| console.log(script.agent(true)) | ||
| env: | ||
| PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git' | ||
| DESKTOP_AGENT_APP_NAME: 'ever-gauzy-agent' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: Environment variable names are inconsistent with what the bump-version-electron.js script expects. The script reads AGENT_APP_NAME, AGENT_APP_DESCRIPTION, and AGENT_APP_ID, but this job defines DESKTOP_AGENT_APP_NAME, DESKTOP_AGENT_APP_DESCRIPTION, and DESKTOP_AGENT_APP_ID. This will cause the bump version step to fail or produce incorrect results.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/agent-stage.yml, line 135:
<comment>Environment variable names are inconsistent with what the `bump-version-electron.js` script expects. The script reads `AGENT_APP_NAME`, `AGENT_APP_DESCRIPTION`, and `AGENT_APP_ID`, but this job defines `DESKTOP_AGENT_APP_NAME`, `DESKTOP_AGENT_APP_DESCRIPTION`, and `DESKTOP_AGENT_APP_ID`. This will cause the bump version step to fail or produce incorrect results.</comment>
<file context>
@@ -57,34 +60,106 @@ jobs:
+ console.log(script.agent(true))
+ env:
+ PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git'
+ DESKTOP_AGENT_APP_NAME: 'ever-gauzy-agent'
+ COMPANY_SITE_LINK: 'https://gauzy.co'
+ DESKTOP_AGENT_APP_DESCRIPTION: 'Ever Gauzy Agent'
</file context>
| "AppImage", | ||
| "deb", | ||
| "tar.gz" | ||
| { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: The snap target is missing explicit architecture specification, unlike all other Linux targets. This inconsistency means snap packages won't be built for both x64 and arm64 in the same build run. If multi-arch snap builds are intended, add the arch array; otherwise, consider adding a comment explaining why snap is single-arch.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/agent/src/package.json, line 92:
<comment>The `snap` target is missing explicit architecture specification, unlike all other Linux targets. This inconsistency means snap packages won't be built for both x64 and arm64 in the same build run. If multi-arch snap builds are intended, add the `arch` array; otherwise, consider adding a comment explaining why snap is single-arch.</comment>
<file context>
@@ -82,15 +89,49 @@
- "AppImage",
- "deb",
- "tar.gz"
+ {
+ "target": "deb",
+ "arch": [
</file context>
| console.log(script.agent(true)) | ||
| env: | ||
| PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git' | ||
| DESKTOP_AGENT_APP_NAME: 'ever-gauzy-agent' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: The environment variables DESKTOP_AGENT_APP_NAME, DESKTOP_AGENT_APP_DESCRIPTION, and DESKTOP_AGENT_APP_ID don't match what the bump-version-electron.js script expects. The script reads AGENT_APP_NAME, AGENT_APP_DESCRIPTION, and AGENT_APP_ID. This will cause the version bump to fail or use undefined values.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/agent-prod.yml, line 135:
<comment>The environment variables `DESKTOP_AGENT_APP_NAME`, `DESKTOP_AGENT_APP_DESCRIPTION`, and `DESKTOP_AGENT_APP_ID` don't match what the bump-version-electron.js script expects. The script reads `AGENT_APP_NAME`, `AGENT_APP_DESCRIPTION`, and `AGENT_APP_ID`. This will cause the version bump to fail or use undefined values.</comment>
<file context>
@@ -57,34 +60,106 @@ jobs:
+ console.log(script.agent(true))
+ env:
+ PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git'
+ DESKTOP_AGENT_APP_NAME: 'ever-gauzy-agent'
+ COMPANY_SITE_LINK: 'https://gauzy.co'
+ DESKTOP_AGENT_APP_DESCRIPTION: 'Ever Gauzy Agent'
</file context>
| with: | ||
| script: | | ||
| const script = require('./.scripts/bump-version-electron.js') | ||
| console.log(script.server(true)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: Inconsistent isProd parameter: ARM64 builds use script.server(true) (production release) while all other builds in this stage workflow use script.server(false) (prerelease). This will cause ARM64 artifacts to be published as full releases instead of prereleases.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/server-stage.yml, line 132:
<comment>Inconsistent `isProd` parameter: ARM64 builds use `script.server(true)` (production release) while all other builds in this stage workflow use `script.server(false)` (prerelease). This will cause ARM64 artifacts to be published as full releases instead of prereleases.</comment>
<file context>
@@ -57,34 +60,106 @@ jobs:
+ with:
+ script: |
+ const script = require('./.scripts/bump-version-electron.js')
+ console.log(script.server(true))
+ env:
+ PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git'
</file context>
| console.log(script.server(true)) | |
| console.log(script.server(false)) |
# Multi-Architecture Build Support for Gauzy ApplicationsOverviewThis PR standardizes and expands the build configuration across all Gauzy applications (Agent, Desktop, Desktop Timer, Server API, and MCP) to support multi-architecture deployments. The changes enable native builds for both x64 and arm64 architectures across all major platforms. Key ChangesMulti-Architecture Support- **macOS**: Universal binaries supporting both x64 and Apple Silicon (arm64) architectures - **Windows**: Added arm64 support alongside existing x64 builds - **Linux**: Comprehensive architecture support (x64, arm64) across multiple package formatsArtifact Naming StandardizationAll applications now use consistent architecture-specific naming: `${name}-${arch}-${version}.${ext}`This prevents conflicts between different architecture builds and provides clear identification of platform-specific artifacts. Linux Distribution EnhancementExpanded Linux packaging to support broader distribution channels: - **deb** packages (Debian/Ubuntu) - **rpm** packages (Red Hat/Fedora) - **snap** packages (Snapcraft Store) - **AppImage** portable applications - **tar.gz** archivesAdded RPM-specific configuration to prevent build ID conflicts with Platform-Specific Improvements- **macOS**: Improved permission descriptions (NSUsageDescription) for better user experience - **Linux**: Snapcraft integration for modern package distribution - **All Platforms**: Consistent build artifact organization and namingTechnical DetailsThe changes maintain backward compatibility while extending platform support. Each application's package.json now includes: {
"artifactName": "${name}-${arch}-${version}.${ext}",
"mac": {
"target": {
"target": "default",
"arch": ["x64", "arm64"]
}
},
"win": {
"target": [{
"target": "nsis",
"arch": ["x64", "arm64"]
}]
},
"linux": {
"target": [
{"target": "deb", "arch": ["x64", "arm64"]},
{"target": "snap"},
{"target": "rpm", "arch": ["x64", "arm64"]},
{"target": "AppImage", "arch": ["x64", "arm64"]},
{"target": "tar.gz", "arch": ["x64", "arm64"]}
]
}
}Impact and Benefits
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
6 files reviewed, 1 comment
| ] | ||
| }, | ||
| { | ||
| "target": "snap" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Snap target doesn't specify architecture - this will build for host architecture only
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/server-api/src/package.json
Line: 105:105
Comment:
**logic:** Snap target doesn't specify architecture - this will build for host architecture only
How can I resolve this? If you propose a fix, please make it concise.
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
Adds multi-arch builds (x64 and arm64) and arch-specific artifact naming across apps and servers, plus Snapcraft integration for Linux packaging. This broadens platform support and makes prod/stage releases consistent.
New Features
Refactors
Written for commit 1568c23. Summary will update automatically on new commits.