Skip to content

fix: batch Enabled Models for Model Provider #13154

fix: batch Enabled Models for Model Provider

fix: batch Enabled Models for Model Provider #13154

Workflow file for this run

name: Smoke Tests
on:
pull_request:
types: [opened, labeled, synchronize, reopened]
release:
types: [published]
workflow_dispatch:
inputs:
ref:
description: 'Git ref to checkout (branch, tag, or commit SHA)'
required: false
default: ''
type: string
jobs:
backend-smoke-tests:
if: contains(github.event.pull_request.labels.*.name, 'smoke-test') || github.event_name == 'release' || github.event_name == 'workflow_dispatch'
name: "Backend Smoke Tests"
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout PR
uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.inputs.ref || github.ref }}
- name: Set up Python 3.12
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "latest"
- name: Install backend dependencies
run: |
uv sync --dev
- name: Run backend smoke tests (critical tests only)
run: |
uv run pytest \
src/backend/tests/unit/test_database.py \
src/backend/tests/unit/test_login.py \
src/backend/tests/unit/api/v1/test_validate.py \
src/backend/tests/unit/test_endpoints.py \
src/backend/tests/unit/api/v1/test_flows.py \
src/backend/tests/unit/test_chat_endpoint.py \
src/backend/tests/unit/api/v1/test_api_key.py \
src/backend/tests/unit/api/v1/test_endpoints.py \
src/backend/tests/unit/components/languagemodels/test_openai_model.py \
src/backend/tests/unit/components/agents/test_agent_component.py \
src/backend/tests/unit/services/tracing/test_tracing_service.py \
-m 'not api_key_required' \
--tb=short \
-v
env:
LANGFLOW_SUPERUSER: admin
LANGFLOW_SUPERUSER_PASSWORD: 123456
lfx-smoke-tests:
# created a separate label for this since it's a different test suite for LFX components
if: contains(github.event.pull_request.labels.*.name, 'smoke-test') || github.event_name == 'release' || github.event_name == 'workflow_dispatch'
name: "LFX Smoke Tests"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout PR
uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.inputs.ref || github.ref }}
- name: Set up Python 3.12
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "latest"
- name: Install lfx dependencies (isolated)
run: |
cd src/lfx
uv sync --dev
- name: Run lfx smoke tests (critical tests only)
run: |
cd src/lfx
uv run pytest \
tests/unit/graph/test_graph.py \
tests/unit/custom/component/test_component_instance_attributes.py \
tests/unit/schema/test_schema_message.py \
-m 'not api_key_required' \
--tb=short \
--maxfail=5 \
-v
env:
LANGFLOW_SUPERUSER: admin
LANGFLOW_SUPERUSER_PASSWORD: 123456
frontend-smoke-tests:
if: contains(github.event.pull_request.labels.*.name, 'smoke-test') || github.event_name == 'release' || github.event_name == 'workflow_dispatch'
name: "Frontend Smoke Tests"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout PR
uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.inputs.ref || github.ref }}
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "22"
cache: "npm"
cache-dependency-path: src/frontend/package-lock.json
- name: Install frontend dependencies
run: |
cd src/frontend
npm ci
- name: Run frontend smoke tests (unit tests only)
run: |
cd src/frontend
CI=true npx jest --ci --watchAll=false --passWithNoTests
env:
NODE_ENV: test
comment-results:
if: always() && (contains(github.event.pull_request.labels.*.name, 'smoke-test') || github.event_name == 'release' || github.event_name == 'workflow_dispatch')
name: "Comment Results"
needs: [backend-smoke-tests, lfx-smoke-tests, frontend-smoke-tests]
runs-on: ubuntu-latest
steps:
- name: Comment on PR with results
uses: actions/github-script@v8
with:
script: |
const backendStatus = '${{ needs.backend-smoke-tests.result }}';
const lfxStatus = '${{ needs.lfx-smoke-tests.result }}';
const frontendStatus = '${{ needs.frontend-smoke-tests.result }}';
const overallSuccess = backendStatus === 'success' && lfxStatus === 'success' && frontendStatus === 'success';
const emoji = overallSuccess ? '✅' : '❌';
const status = overallSuccess ? 'passed' : 'failed';
const backendEmoji = backendStatus === 'success' ? '✅' : '❌';
const lfxEmoji = lfxStatus === 'success' ? '✅' : '❌';
const frontendEmoji = frontendStatus === 'success' ? '✅' : '❌';
const comment = `${emoji} **Smoke tests ${status}**
Critical functionality validated:
- ${backendEmoji} **Backend**: 11 essential test files (database, auth, API endpoints, flows, components)
- ${lfxEmoji} **LFX**: Graph tests (langflow execution) - runs in isolation
- ${frontendEmoji} **Frontend**: Unit tests only (components, utilities)
**Coverage**: Core functionality without external dependencies
View details in the [Actions tab](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}).`;
// Only comment on PRs, not on releases or manual runs
if (context.payload.pull_request) {
await github.rest.issues.createComment({
issue_number: context.payload.pull_request.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
});
} else {
console.log('Smoke test results:', comment);
}