Skip to content

Conversation

@evereq
Copy link
Member

@evereq evereq commented Dec 24, 2025

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

Refactored CI pipelines to Node v24 with standardized installs, caching, and job defaults for more reliable builds and tests. Added global timeouts across GitHub Actions and introduced SonarCloud configuration (job disabled by default).

  • CI/CD Updates

    • CircleCI: upgraded to node orb 7.2.1, Node v24, resource_class: large, and shared defaults (NODE_OPTIONS, analytics off).
    • Replaced yarn bootstrap with yarn install --frozen-lockfile + postinstall.manual; unified cache keys; added Chrome for e2e.
    • Build workflow now gates API/Web/Desktop on monorepo root; e2e tests run only on develop/stage/main/master; background API is cleaned up.
    • GitHub Actions: added timeouts (150m) to release/deploy/build/lint/security jobs; Cypress/Current tests set to 360m.
  • Code Quality

    • Added sonar-project.properties with SonarCloud project, sources, exclusions, and coverage (LCOV) settings.
    • CircleCI SonarScanner upgraded and scripted; code-quality workflow commented out.
    • cspell dictionary updated (dpkg, libappindicator, pulumi, setuid, Sonarqube).

Written for commit 2bc3b4d. Summary will update automatically on new commits.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 24, 2025

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.

✨ 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 d4c3405 into stage Dec 24, 2025
28 checks passed
@sonarqubecloud
Copy link

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 24, 2025

Greptile Summary

This PR updates CI/CD infrastructure and code quality tooling across the monorepo. The changes include:

  • Node.js upgrade: Migrated from Node v20.18.1 to v24 across all CircleCI jobs and workflows
  • SonarCloud integration: Added comprehensive sonar-project.properties configuration file for code quality analysis with proper monorepo support, exclusions, and TypeScript settings
  • CircleCI improvements: Updated node orb to 7.2.1, modernized dependency installation, upgraded SonarScanner to 8.0.1.6346
  • Workflow timeouts: Added explicit 150-minute timeouts to 55+ GitHub Actions workflow jobs across agent builds, desktop apps, server builds, and deployment workflows
  • Test workflow fixes: Corrected timeout placement in test_currents.yml (was incorrectly positioned after env block) and standardized quote styles
  • Dictionary updates: Added technical terms (dpkg, libappindicator, pulumi, setuid, Sonarqube) to spell-check dictionary

PR Description Issue: The PR description is empty and doesn't explain what changes were made or why, violating the contributing guidelines checkbox that was marked as complete.

Confidence Score: 4/5

  • This PR is safe to merge with minimal risk - mostly infrastructure configuration updates
  • The changes are primarily configuration updates (Node version, timeouts, SonarCloud setup) with no application logic modifications. The Node.js v24 upgrade is significant but isolated to CI/CD. The timeout fix in test_currents.yml improves workflow correctness. Main concern is the lack of PR description violating stated guidelines.
  • .circleci/config.yml requires verification that Node v24 is compatible with all build dependencies and that the postinstall.manual script exists

Important Files Changed

Filename Overview
.circleci/config.yml Updated Node.js to v24, upgraded CircleCI node orb to 7.2.1, improved SonarScanner setup with proper versioning and configuration
sonar-project.properties Added comprehensive SonarCloud configuration with proper exclusions, test patterns, and TypeScript settings for monorepo analysis
.github/workflows/test_currents.yml Moved timeout configuration to proper job level (was incorrectly placed after env), added 150m timeout to prepare job, changed quote style
.cspell.json Added new technical terms to dictionary: dpkg, libappindicator, pulumi, setuid, Sonarqube

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant GH as GitHub Actions
    participant Circle as CircleCI
    participant Sonar as SonarCloud
    
    Note over Dev,Sonar: PR Merge to Stage Branch
    
    Dev->>GH: Push to stage branch
    
    par GitHub Actions Workflows
        GH->>GH: Agent builds (150m timeout)
        GH->>GH: Desktop app builds (150m timeout)
        GH->>GH: Server builds (150m timeout)
        GH->>GH: Deployment jobs (150m timeout)
        GH->>GH: Test jobs (150-360m timeout)
    end
    
    par CircleCI Workflows
        Circle->>Circle: Install Node v24 via NVM
        Circle->>Circle: Install dependencies (apt, yarn)
        Circle->>Circle: Build monorepo
        Circle->>Circle: Download SonarScanner 8.0.1.6346
        Circle->>Sonar: Run code quality analysis
        Sonar-->>Circle: Analysis results
    end
    
    Note over Circle,Sonar: Uses sonar-project.properties<br/>for monorepo configuration
    
    Circle-->>Dev: CI pipeline results
    GH-->>Dev: Workflow results
Loading

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.

4 issues found across 60 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=".cspell.json">

<violation number="1" location=".cspell.json:7">
P3: Duplicate dictionary entry: &quot;libappindicator&quot; already exists in the words list (line 322). Remove this duplicate to keep the configuration clean.</violation>

<violation number="2" location=".cspell.json:8">
P3: Duplicate dictionary entry: &quot;pulumi&quot; already exists in the words list (line 478). Remove this duplicate to keep the configuration clean.</violation>

<violation number="3" location=".cspell.json:9">
P3: Duplicate dictionary entry: &quot;setuid&quot; already exists in the words list (line 523). Remove this duplicate to keep the configuration clean.</violation>

<violation number="4" location=".cspell.json:10">
P3: Duplicate dictionary entry: &quot;sonarqube&quot; (lowercase) already exists in the words list (line 539). CSpell word matching is case-insensitive, so this is a functional duplicate. Remove this entry.</violation>
</file>

Reply to cubic to teach it or ask questions. Re-run a review with @cubic-dev-ai review this PR

"libappindicator",
"pulumi",
"setuid",
"Sonarqube",
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Dec 24, 2025

Choose a reason for hiding this comment

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

P3: Duplicate dictionary entry: "sonarqube" (lowercase) already exists in the words list (line 539). CSpell word matching is case-insensitive, so this is a functional duplicate. Remove this entry.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .cspell.json, line 10:

<comment>Duplicate dictionary entry: &quot;sonarqube&quot; (lowercase) already exists in the words list (line 539). CSpell word matching is case-insensitive, so this is a functional duplicate. Remove this entry.</comment>

<file context>
@@ -3,6 +3,11 @@
+		&quot;libappindicator&quot;,
+		&quot;pulumi&quot;,
+		&quot;setuid&quot;,
+		&quot;Sonarqube&quot;,
 		&quot;activepieces&quot;,
 		&quot;ActivePieces&quot;,
</file context>
Fix with Cubic

"dpkg",
"libappindicator",
"pulumi",
"setuid",
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Dec 24, 2025

Choose a reason for hiding this comment

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

P3: Duplicate dictionary entry: "setuid" already exists in the words list (line 523). Remove this duplicate to keep the configuration clean.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .cspell.json, line 9:

<comment>Duplicate dictionary entry: &quot;setuid&quot; already exists in the words list (line 523). Remove this duplicate to keep the configuration clean.</comment>

<file context>
@@ -3,6 +3,11 @@
+		&quot;dpkg&quot;,
+		&quot;libappindicator&quot;,
+		&quot;pulumi&quot;,
+		&quot;setuid&quot;,
+		&quot;Sonarqube&quot;,
 		&quot;activepieces&quot;,
</file context>
Fix with Cubic

"words": [
"dpkg",
"libappindicator",
"pulumi",
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Dec 24, 2025

Choose a reason for hiding this comment

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

P3: Duplicate dictionary entry: "pulumi" already exists in the words list (line 478). Remove this duplicate to keep the configuration clean.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .cspell.json, line 8:

<comment>Duplicate dictionary entry: &quot;pulumi&quot; already exists in the words list (line 478). Remove this duplicate to keep the configuration clean.</comment>

<file context>
@@ -3,6 +3,11 @@
 	&quot;words&quot;: [
+		&quot;dpkg&quot;,
+		&quot;libappindicator&quot;,
+		&quot;pulumi&quot;,
+		&quot;setuid&quot;,
+		&quot;Sonarqube&quot;,
</file context>
Fix with Cubic

"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
"words": [
"dpkg",
"libappindicator",
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Dec 24, 2025

Choose a reason for hiding this comment

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

P3: Duplicate dictionary entry: "libappindicator" already exists in the words list (line 322). Remove this duplicate to keep the configuration clean.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .cspell.json, line 7:

<comment>Duplicate dictionary entry: &quot;libappindicator&quot; already exists in the words list (line 322). Remove this duplicate to keep the configuration clean.</comment>

<file context>
@@ -3,6 +3,11 @@
 	&quot;$schema&quot;: &quot;https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json&quot;,
 	&quot;words&quot;: [
+		&quot;dpkg&quot;,
+		&quot;libappindicator&quot;,
+		&quot;pulumi&quot;,
+		&quot;setuid&quot;,
</file context>
Fix with Cubic

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.

2 participants