Skip to content

fixed integration tests to run on github actions#196

Open
jasir99 wants to merge 1 commit intodevfrom
fix/integration-tests
Open

fixed integration tests to run on github actions#196
jasir99 wants to merge 1 commit intodevfrom
fix/integration-tests

Conversation

@jasir99
Copy link
Contributor

@jasir99 jasir99 commented Feb 4, 2026

Summary by CodeRabbit

  • Chores
    • Simplified CI/CD workflows by consolidating multi-environment strategies into streamlined single configurations.
    • Enhanced testing infrastructure with improved Electron headless operation settings for CI environments.
    • Updated Jest integration test configuration to improve test isolation and prevent dependency collisions.

@coderabbitai
Copy link

coderabbitai bot commented Feb 4, 2026

📝 Walkthrough

Walkthrough

The changes consolidate CI/CD workflows from matrix-based configurations to single ubuntu-latest runs, removing OS-specific logic and simplifying job parameters. Test fixtures receive headless operation enhancements with GPU flags. Jest integration configuration gains module ignore patterns and setup refinements.

Changes

Cohort / File(s) Summary
CI Workflow Consolidation
.github/workflows/e2e-tests.yml, .github/workflows/integration-tests.yml
Removed matrix-based CI strategy and transitioned to single, fixed ubuntu-latest configurations. Simplified Node.js version setup, unified environment variables (ELECTRON_DISABLE_GPU, SKIP_NOTARIZATION), and standardized artifact naming by removing OS-specific suffixes.
Test Fixture Enhancement
e2e/fixtures/electron.fixture.ts
Added headless operation flags (--disable-software-rasterizer, --disable-extensions) and conditional GPU disabling for CI environments to ensure reliable Electron execution under Playwright in CI pipelines.
Jest Integration Configuration
jest.integration.config.js
Introduced setupFiles disabling, modulePathIgnorePatterns to prevent Haste collisions with release/app, and extended testPathIgnorePatterns to skip renderer build artifacts (.erb/dll and release/app/dist).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • Nuri1977
  • nbesimi

Poem

🐰 Workflows once tangled in matrix threads,
Now single and swift on ubuntu's bed,
GPU flags whisper in headless night,
Tests run cleaner, faster, just right!
One path forward—no branches to dread!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main objective of the pull request—fixing integration tests to run on GitHub Actions by simplifying CI workflows and adjusting test configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/integration-tests

Important

Action Needed: IP Allowlist Update

If your organization protects your Git platform with IP whitelisting, please add the new CodeRabbit IP address to your allowlist:

  • 136.113.208.247/32 (new)
  • 34.170.211.100/32
  • 35.222.179.152/32

Reviews will stop working after February 8, 2026 if the new IP is not added to your allowlist.


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.

@jasir99 jasir99 requested a review from Nuri1977 February 4, 2026 14:55
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In @.github/workflows/e2e-tests.yml:
- Around line 43-51: In the "Build renderer process" GitHub Actions step (the
run block that calls npm run build:renderer and pipes to tee), prepend a strict
shell setting by adding "set -euo pipefail" at the top of the run script so the
pipeline returns the failing command's exit code (this makes the existing "||
(cat build-output.log && exit 1)" behave as intended and causes the job to fail
on npm errors).

Comment on lines +43 to +51
- name: Build renderer process
run: |
echo "Building renderer process..."
npm run build:renderer 2>&1 | tee build-output.log || (cat build-output.log && exit 1)
env:
NODE_ENV: production
# No code signing needed for test builds
SKIP_NOTARIZATION: 'true'

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

cat -n .github/workflows/e2e-tests.yml | sed -n '35,55p'

Repository: rosettadb/dbt-studio

Length of output: 882


🏁 Script executed:

#!/bin/bash
# Test to confirm pipeline exit code behavior

echo "=== Testing pipeline exit code WITHOUT pipefail ==="
set +o pipefail  # Ensure pipefail is off
(
  false | tee /tmp/test.log
  exit_code=$?
  echo "Exit code: $exit_code"
)

echo ""
echo "=== Testing pipeline exit code WITH pipefail ==="
set -o pipefail  # Enable pipefail
(
  false | tee /tmp/test.log || true
  exit_code=$?
  echo "Exit code: $exit_code"
)

echo ""
echo "=== Testing current logic: (false | tee) || echo 'catch block' ==="
set +o pipefail  # Back to default
(
  false | tee /tmp/test.log || echo "CAUGHT FAILURE"
)

Repository: rosettadb/dbt-studio

Length of output: 421


🏁 Script executed:

#!/bin/bash
# Test pipeline exit code behavior using bash builtins

echo "=== Testing: (exit 1) | (exit 0) without pipefail ==="
set +o pipefail
(exit 1) | (exit 0)
echo "Pipeline exit code: $?"

echo ""
echo "=== Testing: (exit 1) | (exit 0) with pipefail ==="
set -o pipefail
(exit 1) | (exit 0)
echo "Pipeline exit code: $?"

echo ""
echo "=== Testing current GitHub Actions pattern ==="
set +o pipefail
(exit 1) | (exit 0) || echo "CAUGHT VIA || CLAUSE"

Repository: rosettadb/dbt-studio

Length of output: 261


Add set -euo pipefail to properly fail on build errors.

The pipeline without pipefail returns tee's exit code (0), masking npm failures. The current || (cat build-output.log && exit 1) clause never executes because the pipeline always succeeds from bash's perspective. Enabling pipefail ensures the pipeline returns the exit code of the first failing command.

Suggested fix
       - name: Build renderer process
         run: |
+          set -euo pipefail
           echo "Building renderer process..."
-          npm run build:renderer 2>&1 | tee build-output.log || (cat build-output.log && exit 1)
+          npm run build:renderer 2>&1 | tee build-output.log
         env:
           NODE_ENV: production
           # No code signing needed for test builds
           SKIP_NOTARIZATION: 'true'
🤖 Prompt for AI Agents
In @.github/workflows/e2e-tests.yml around lines 43 - 51, In the "Build renderer
process" GitHub Actions step (the run block that calls npm run build:renderer
and pipes to tee), prepend a strict shell setting by adding "set -euo pipefail"
at the top of the run script so the pipeline returns the failing command's exit
code (this makes the existing "|| (cat build-output.log && exit 1)" behave as
intended and causes the job to fail on npm errors).

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