The CI/CD pipeline was failing because it was still trying to use the old requirements.txt file and module structure that was removed during the repository reorganization.
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
During the repository reorganization, we:
- Removed
requirements.txt(replaced withpyproject.toml+ Poetry) - Moved all Python modules into the
basicchat/package structure - Moved one-off scripts to
temp/one-off-scripts/ - Changed the main entry point from
app.pytomain.py
Before:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txtAfter:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry
poetry installBefore:
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}After:
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}Before:
- name: Run unit tests only
run: |
python -m pytest -n auto tests/ -m "unit or fast" --ignore=tests/integration -v --tb=short --cov=app --cov=reasoning_engine --cov=document_processor --cov=utils --cov=task_manager --cov=task_ui --cov=tasks --cov-report=term-missing --cov-report=html:htmlcovAfter:
- name: Run unit tests only
run: |
poetry run pytest -n auto tests/ -m "unit or fast" --ignore=tests/integration -v --tb=short --cov=basicchat --cov-report=term-missing --cov-report=html:htmlcovBefore:
- name: Generate test fixtures
run: |
python scripts/generate_test_assets.py || echo "Test assets generation failed, continuing..."After:
- name: Generate test fixtures
run: |
poetry run python temp/one-off-scripts/generate_test_assets.py || echo "Test assets generation failed, continuing..."Before:
- name: Start Streamlit app (background)
run: streamlit run app.py --server.port 8501 --server.headless true --server.address 0.0.0.0 &After:
- name: Start Streamlit app (background)
run: poetry run streamlit run main.py --server.port 8501 --server.headless true --server.address 0.0.0.0 &.github/workflows/verify.yml- Main CI workflow.github/workflows/e2e-smoke.yml- E2E smoke test workflow
- ✅ CI/CD now works with Poetry - Uses modern Python dependency management
- ✅ Proper package structure - Tests use the new
basicchat/package - ✅ Correct script paths - All scripts reference the new locations
- ✅ Updated coverage - Coverage reports now target the
basicchatpackage - ✅ Consistent with reorganization - CI/CD matches the new repository structure
- ✅ All CI/CD workflows updated
- ✅ Poetry integration complete
- ✅ Package structure compatible
- ✅ Ready for automated testing
The CI/CD pipeline should now pass successfully with the reorganized repository structure!