* added install matrix before release * adds ad-hoc testing * temp enable test * test changes * fix test config * fix package install * commonize code * renamed files * fix issue * remvoe run id * fix base build * revert main package build change * fix build * fix upload * revert ci to main * updated release workflow naming * add cross-platform tests to nightly build
3.5 KiB
3.5 KiB
Ad-Hoc Cross-Platform Install Tests
Quick guide for running cross-platform installation tests manually.
Available Tests
1. Test from PyPI
Tests published langflow packages from PyPI across all platforms.
Via GitHub UI:
- Go to Actions → Manual Cross-Platform Test
- Check "Test from PyPI"
- Optionally specify a version (leave empty for latest)
- Click "Run workflow"
Via CLI:
# Test latest version
gh workflow run manual-cross-platform-test.yml -f test-from-pypi=true
# Test specific version
gh workflow run manual-cross-platform-test.yml \
-f test-from-pypi=true \
-f langflow-version="1.0.18"
2. Test from Source
Builds and tests langflow from current branch source code.
Via GitHub UI:
- Go to Actions → Manual Cross-Platform Test
- Leave "Test from PyPI" unchecked
- Click "Run workflow"
Via CLI:
# Test current branch
gh workflow run manual-cross-platform-test.yml -f test-from-pypi=false
Platforms Tested
- Linux: AMD64
- macOS: Intel (AMD64), Apple Silicon (ARM64)
- Windows: AMD64
- Python versions:
- Linux & macOS: 3.10 and 3.13
- Windows: 3.10 and 3.12 (3.12 used instead of 3.13 for better stability)
What Gets Tested
- Package Installation:
uv pip install langflow(PyPI) or local wheel installation - Dependencies: Additional packages like
openaifor full functionality - CLI Help:
langflow --help - Server Startup:
langflow run --backend-onlywith/health_checkendpoint validation - Python Import:
import langflow
Common Options
# Extended timeout (10 minutes instead of default 5)
gh workflow run manual-cross-platform-test.yml \
-f test-timeout=10
# Test specific PyPI version
gh workflow run manual-cross-platform-test.yml \
-f test-from-pypi=true \
-f langflow-version="1.0.18"
Use Cases
- Before releases: Verify current branch works on all platforms
- After PyPI publish: Confirm published packages install correctly
- Debugging issues: Test specific versions when users report problems
- Development: Quick cross-platform validation during feature work
Technical Details
Installation Methods
- PyPI testing: Uses
uv pip installwith official PyPI packages - Source testing: Builds wheels from source, then installs locally
- Dependencies: Automatically installs additional packages (
openai) for full functionality
Health Checking
- Endpoint: Uses
/health_checkfor reliable server readiness validation - Validation: Checks database connectivity and chat service functionality
- Timeout: Configurable timeout with proper cross-platform handling
Platform-Specific Optimizations
- Windows: Uses Python 3.12 for better package ecosystem stability
- Unix: Uses Python 3.13 for latest language features where stable
- Virtual Environments: Uses
uv venv --seedfor consistent pip availability
Workflow Architecture
- Shared Logic: Common test steps defined in
shared-cross-platform-test.yml - DRY principle: No code duplication between manual and automated workflows
- Flexible: Supports both wheel and PyPI installation methods through single workflow
Results
- ✅ Success: All platforms pass installation and basic functionality
- ❌ Failure: One or more platforms fail (check logs for details)
- Each platform/Python combination runs independently
- Parallel execution: All platforms tested simultaneously for faster feedback