feat: promote production-mvp to main — drives, scan history, files modularization #143
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests | |
| on: | |
| push: | |
| branches: [ main, develop, release/** ] | |
| pull_request: | |
| jobs: | |
| python-tests: | |
| name: Python tests (pytest) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Upgrade pip and install Python deps | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e .[dev] | |
| - name: Run pytest with coverage (exclude E2E and integration tests) | |
| run: | | |
| python -m coverage run -m pytest -q -m "not e2e and not integration" | |
| python -m coverage report | |
| python -m coverage xml | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| file: ./coverage.xml | |
| fail_ci_if_error: false | |
| - name: Check coverage threshold (48%) | |
| run: | | |
| python -m coverage report --fail-under=48 | |
| # E2E tests temporarily disabled in CI (Feb 2026) | |
| # The test suite has stability issues (auth conflicts, timing, cleanup) that need dedicated attention. | |
| # Continue writing E2E tests for each feature and run locally, but don't block PRs on CI failures. | |
| # Will re-enable once suite is stable. | |
| # | |
| # e2e: | |
| # name: E2E smoke (Playwright) | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - name: Checkout | |
| # uses: actions/checkout@v4 | |
| # - name: Set up Python (for Flask app) | |
| # uses: actions/setup-python@v5 | |
| # with: | |
| # python-version: "3.12" | |
| # - name: Upgrade pip and install Python deps | |
| # run: | | |
| # python -m pip install --upgrade pip | |
| # pip install -e .[dev] | |
| # - name: Set up Node | |
| # uses: actions/setup-node@v4 | |
| # with: | |
| # node-version: 18 | |
| # cache: 'npm' | |
| # - name: Install npm deps | |
| # run: npm ci | |
| # - name: Install Playwright browsers (with system deps) | |
| # run: npx playwright install --with-deps | |
| # - name: Run Playwright E2E | |
| # env: | |
| # # Keep E2E self-contained by only enabling local_fs provider | |
| # SCIDK_PROVIDERS: local_fs | |
| # run: npm run e2e | |
| # - name: Upload Playwright report (on failure) | |
| # if: failure() | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: playwright-report | |
| # path: | | |
| # playwright-report/ | |
| # test-results/ | |
| # if-no-files-found: ignore |