feat: Add smoke tests workflow for PR validation (#9125)
* feat: Add smoke tests workflow for PR validation - Adds smoke-test label trigger for running tests without API keys - Runs backend tests excluding api_key_required markers - Runs full frontend test suite with mocked APIs - Provides fast feedback (~10-15 min) before lgtm label - Enables external contributors to validate changes without API costs - Comments results back to PR automatically Usage: Add 'smoke-test' label to any PR to trigger 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: Fix YAML indentation in smoke-tests workflow script block * refactor: Focus smoke tests on critical functionality only - Run only 10 essential backend test files (version, schema, serialization, etc.) - Run only frontend unit tests (skip integration/e2e) - Reduce timeout from 15 to 8 minutes - Target critical functionality without external dependencies - Avoid problematic database/API-dependent tests * fix: Use correct Jest CLI option --testPathPatterns * add frontend tests * add tests * change to essential tests * fix: Create superuser in test_load_bundles_from_urls test The test_load_bundles_from_urls test was failing because the load_bundles_from_urls function expects a superuser to exist in the database, but the test client fixture sets LANGFLOW_AUTO_LOGIN=false by default, which doesn't create a superuser. This fix creates a superuser in the test database before calling the function, resolving the 'Superuser not found in the database' error. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * add on conditions * fix: Check PR labels correctly for smoke test trigger Change condition from github.event.label.name to github.event.pull_request.labels.*.name to work with all trigger events (synchronize, opened, etc), not just labeled events. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * add workdispatch * remove initial test * adding timeout minutes * edit env var --------- Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
parent
ab90aa7439
commit
b7513e5c6f
2 changed files with 113 additions and 0 deletions
|
|
@ -18,6 +18,7 @@ from langflow.initial_setup.setup import (
|
|||
update_projects_components_with_latest_component_versions,
|
||||
)
|
||||
from langflow.interface.components import aget_all_types_dict
|
||||
from langflow.services.auth.utils import create_super_user
|
||||
from langflow.services.database.models import Flow
|
||||
from langflow.services.database.models.folder.model import Folder
|
||||
from langflow.services.deps import get_settings_service, session_scope
|
||||
|
|
@ -238,6 +239,14 @@ async def test_load_bundles_from_urls():
|
|||
]
|
||||
settings_service.auth_settings.AUTO_LOGIN = True
|
||||
|
||||
# Create a superuser in the test database since load_bundles_from_urls requires one
|
||||
async with session_scope() as session:
|
||||
await create_super_user(
|
||||
username=settings_service.auth_settings.SUPERUSER,
|
||||
password=settings_service.auth_settings.SUPERUSER_PASSWORD,
|
||||
db=session,
|
||||
)
|
||||
|
||||
temp_dirs, components_paths = await load_bundles_from_urls()
|
||||
|
||||
try:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue