chore: Enhance CI workflow to include Docker testing (#10104)

* chore: Update changes-filter.yaml to include docker paths

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.

* chore: Update docker_test workflow trigger to use workflow_call

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.

* chore: Enhance CI workflow to include Docker testing

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.

* chore: Update changes-filter.yaml to include frontend paths

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.
This commit is contained in:
Gabriel Luiz Freitas Almeida
2025-10-08 18:10:53 -03:00
committed by GitHub
parent 54fbbf4173
commit ebdc2015b6
3 changed files with 21 additions and 9 deletions

View File

@ -21,6 +21,14 @@ frontend:
- ".github/workflows/ci.yml"
docs:
- "docs/**"
docker:
- "docker/**"
- "uv.lock"
- "pyproject.toml"
- "src/backend/**"
- "src/frontend/**"
- ".dockerignore"
- ".github/workflows/docker_test.yml"
# Test categories and their associated paths
starter-projects:

View File

@ -185,6 +185,7 @@ jobs:
workspace: ${{ steps.filter.outputs.workspace }}
api: ${{ steps.filter.outputs.api }}
database: ${{ steps.filter.outputs.database }}
docker: ${{ steps.filter.outputs.docker }}
docs-only: ${{
steps.filter.outputs.docs == 'true' &&
steps.filter.outputs.python != 'true' &&
@ -196,7 +197,8 @@ jobs:
steps.filter.outputs.components != 'true' &&
steps.filter.outputs.workspace != 'true' &&
steps.filter.outputs.api != 'true' &&
steps.filter.outputs.database != 'true'
steps.filter.outputs.database != 'true' &&
steps.filter.outputs.docker != 'true'
}}
steps:
@ -331,6 +333,12 @@ jobs:
run: |
uv run pytest src/backend/tests/unit/template/test_starter_projects.py -v -n auto
test-docker:
needs: [path-filter, set-ci-condition]
name: Test Docker Images
if: ${{ needs.path-filter.outputs.docker == 'true' && needs.set-ci-condition.outputs.should-run-tests == 'true' }}
uses: ./.github/workflows/docker_test.yml
# https://github.com/langchain-ai/langchain/blob/master/.github/workflows/check_diffs.yml
ci_success:
name: "CI Success"
@ -342,6 +350,7 @@ jobs:
lint-backend,
test-docs-build,
test-templates,
test-docker,
set-ci-condition,
path-filter,
check-nightly-status,
@ -395,6 +404,8 @@ jobs:
" - Documentation Build: Check documentation syntax and build process"
elif $job == "test-templates" then
" - Template Tests: Check starter project templates"
elif $job == "test-docker" then
" - Docker Tests: Check Docker image builds and version verification"
elif $job == "path-filter" then
" - Path Filter: File path filtering failed"
elif $job == "set-ci-condition" then

View File

@ -1,14 +1,7 @@
name: Test Docker images
on:
push:
branches: [main]
paths:
- "docker/**"
- "uv.lock"
- "pyproject.toml"
- "src/backend/**"
- ".github/workflows/docker_test.yml"
workflow_call:
workflow_dispatch:
env: