Skip to content

chore: Enhance CI workflow to include Docker testing#10104

Merged
ogabrielluiz merged 6 commits into
mainfrom
add-docker-test-to-ci
Oct 8, 2025
Merged

chore: Enhance CI workflow to include Docker testing#10104
ogabrielluiz merged 6 commits into
mainfrom
add-docker-test-to-ci

Conversation

@ogabrielluiz
Copy link
Copy Markdown
Contributor

@ogabrielluiz ogabrielluiz commented Oct 3, 2025

Added a new job for testing Docker images in the CI workflow, ensuring that Docker-related changes are validated. Updated conditions to include Docker outputs in the path filter and CI success summary.

Summary by CodeRabbit

  • New Features

    • None
  • Tests

    • Added dedicated Docker test workflow callable from CI to validate Docker-related changes.
    • Expanded path filtering to automatically trigger Docker tests when relevant files change.
  • Chores

    • Integrated Docker tests into the main CI pipeline with improved success/failure summaries.
    • Enhanced CI conditional logic to more accurately distinguish docs-only changes and include Docker considerations.

Added docker-related paths to the changes filter configuration, ensuring that changes in the docker directory, uv.lock, pyproject.toml, and backend source files are tracked appropriately.
Modified the GitHub Actions workflow for testing Docker images to trigger on workflow_call instead of push events, streamlining the CI process for Docker-related changes.
Added a new job for testing Docker images in the CI workflow, ensuring that Docker-related changes are validated. Updated conditions to include Docker outputs in the path filter and CI success summary.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 3, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

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.

Walkthrough

Adds a new “docker” path filter category, integrates a Docker tests job into the main CI workflow using reusable workflow_call, and updates CI conditions and summaries accordingly. Converts the Docker workflow to be triggered via workflow_call (and workflow_dispatch), removing direct push-based triggers.

Changes

Cohort / File(s) Summary
Path filter configuration
.github/changes-filter.yaml
Adds a new docker category with include patterns: docker/**, uv.lock, pyproject.toml, src/backend/**, .github/workflows/docker_test.yml.
CI workflow orchestration
.github/workflows/ci.yml
Exposes docker output in path-filter; adds test-docker job gated by docker path changes; updates docs-only logic to consider docker; includes Docker tests in CI success/failure summaries.
Reusable Docker workflow
.github/workflows/docker_test.yml
Switches triggers to workflow_call (and keeps workflow_dispatch); removes push/path-based triggers so it can be invoked from CI.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant Dev as Developer
    participant GH as GitHub Actions (CI)
    participant PF as Path Filter
    participant Cond as CI Condition
    participant DT as Reusable Docker Workflow

    Dev->>GH: Open PR / Push
    GH->>PF: Run path-filter
    PF-->>GH: Outputs { docker: true/false, ... }

    GH->>Cond: Evaluate docs-only & docker conditions
    alt docker == true
        GH->>DT: workflow_call: test-docker
        DT-->>GH: Docker test results
    else docker == false
        GH-->>GH: Skip Docker tests
    end

    GH-->>Dev: CI summary (includes Docker Tests status)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

enhancement, lgtm

Suggested reviewers

  • lucaseduoli
  • jordanrfrazier

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Test Quality And Coverage ⚠️ Warning No automated tests were added or updated to exercise the newly introduced Docker CI job, and the workflow configuration itself is not covered by any existing automated verification, leaving the main functionality of the change untested. Without tests that confirm the Docker job runs and enforces expected behavior, the update does not meet the stated test quality and coverage criteria. Please add or document automated validation that confirms the Docker CI workflow executes and fails appropriately on regressions, or otherwise justify why such coverage cannot be provided. Once sufficient test coverage for the new workflow behavior exists, the check can be considered again.
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title concisely captures the main change of enhancing the CI workflow to include Docker testing, which matches the pull request’s purpose of adding a Docker test job and updating path filters. It is clear, specific, and follows a conventional commit format without unnecessary details.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Test Coverage For New Implementations ✅ Passed The PR only updates GitHub workflow and change-filter configuration files, introducing a Docker-focused CI job without modifying application source code or adding new functionality that would require unit or integration coverage. No new or updated test files are present, and given the nature of the changes—limited to CI orchestration—additional tests are unnecessary. Therefore, the test coverage expectations for this PR are satisfied.
Test File Naming And Structure ✅ Passed The repository’s test suite uses multiple naming conventions (e.g., tests/**/test_*.py, frontend/tests/*.test.tsx, integration_tests/**) and, upon spot-review, all inspected files adhere to their expected structures with descriptive test functions and appropriate setup/teardown patterns; integration suites are clearly segregated and include both positive and negative scenarios. No anomalies were found that would violate the specified naming or structural requirements, so the project satisfies the custom check.
Excessive Mock Usage Warning ✅ Passed Reviewed the PR diff and confirmed that no test files were added or modified, so there is no new mock usage to evaluate for potential excess. With no relevant test changes in scope, the repository’s existing test design remains unaffected by this PR.

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.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Oct 3, 2025

Frontend Unit Test Coverage Report

Coverage Summary

Lines Statements Branches Functions
Coverage: 11%
10.94% (2890/26399) 4.57% (926/20261) 6.5% (372/5716)

Unit Test Results

Tests Skipped Failures Errors Time
1200 0 💤 0 ❌ 0 🔥 13.98s ⏱️

@codecov
Copy link
Copy Markdown

codecov Bot commented Oct 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 24.14%. Comparing base (e84522d) to head (eea9b47).
⚠️ Report is 6 commits behind head on main.

❌ Your project status has failed because the head coverage (47.08%) is below the target coverage (55.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #10104   +/-   ##
=======================================
  Coverage   24.14%   24.14%           
=======================================
  Files        1088     1088           
  Lines       40093    40093           
  Branches     5548     5548           
=======================================
+ Hits         9680     9682    +2     
+ Misses      30242    30240    -2     
  Partials      171      171           
Flag Coverage Δ
backend 47.08% <ø> (+0.01%) ⬆️
frontend 10.09% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Contributor

@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

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f07ade6 and b8e1684.

📒 Files selected for processing (3)
  • .github/changes-filter.yaml (1 hunks)
  • .github/workflows/ci.yml (5 hunks)
  • .github/workflows/docker_test.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Lint Backend / Run Mypy (3.13)
  • GitHub Check: Lint Backend / Run Mypy (3.12)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Test Starter Templates

Comment on lines +24 to +29
docker:
- "docker/**"
- "uv.lock"
- "pyproject.toml"
- "src/backend/**"
- ".github/workflows/docker_test.yml"
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot Oct 3, 2025

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Include frontend paths in the docker filter.

docker_test.yml builds the langflow-frontend image, so frontend-only changes must trigger this job. As written, a PR that touches src/frontend/** (or the frontend manifests) won’t flip the new docker flag, meaning the Docker tests silently skip when the frontend changes—even though those changes can break the image build. Please expand the filter to cover the frontend tree (and related manifests, if applicable).

 docker:
   - "docker/**"
   - "uv.lock"
   - "pyproject.toml"
   - "src/backend/**"
+  - "src/frontend/**"
   - ".github/workflows/docker_test.yml"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
docker:
- "docker/**"
- "uv.lock"
- "pyproject.toml"
- "src/backend/**"
- ".github/workflows/docker_test.yml"
docker:
- "docker/**"
- "uv.lock"
- "pyproject.toml"
- "src/backend/**"
- "src/frontend/**"
- ".github/workflows/docker_test.yml"
🤖 Prompt for AI Agents
.github/changes-filter.yaml around lines 24 to 29: the docker changes filter
currently omits frontend files so docker_test.yml won’t run for frontend-only
changes; update the docker list to include the frontend source and its
build/manifests so the Docker job runs on frontend edits—add at least
src/frontend/** plus frontend-related manifest and lock files (e.g., any
package.json, package-lock.json, yarn.lock, pnpm-lock.yaml), frontend
Dockerfile(s) and .dockerignore entries (where applicable) so changes to the
frontend flip the docker flag and trigger the docker_test job.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I suppose this is true

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.

@jordanrfrazier, thanks for confirming! Once you add src/frontend/** to the docker filter, the Docker tests will correctly run for frontend-only changes. Let me know if you'd like me to help verify anything else related to the CI workflow.

@github-actions github-actions Bot added the lgtm This PR has been approved by a maintainer label Oct 3, 2025
Added frontend source paths and .dockerignore to the changes filter configuration, ensuring that changes in the frontend directory are tracked alongside existing Docker-related paths.
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Oct 8, 2025

@ogabrielluiz ogabrielluiz added this pull request to the merge queue Oct 8, 2025
Merged via the queue into main with commit ebdc201 Oct 8, 2025
33 of 34 checks passed
@ogabrielluiz ogabrielluiz deleted the add-docker-test-to-ci branch October 8, 2025 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ignore-for-release lgtm This PR has been approved by a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants