chore: Enhance CI workflow to include Docker testing#10104
Conversation
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.
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughAdds 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
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)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (6 passed)
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 |
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ 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@@ 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
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 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
| docker: | ||
| - "docker/**" | ||
| - "uv.lock" | ||
| - "pyproject.toml" | ||
| - "src/backend/**" | ||
| - ".github/workflows/docker_test.yml" |
There was a problem hiding this comment.
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.
| 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.
There was a problem hiding this comment.
I suppose this is true
There was a problem hiding this comment.
@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.
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.
|



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
Tests
Chores