diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ca8003e..d173c6f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,14 +15,21 @@ on: jobs: unit-tests: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + # 3.13 is the version the dashboard is deployed on (Streamlit Community + # Cloud); 3.11 is kept as a lower bound. Testing both keeps the deployed + # interpreter covered by CI. + python-version: ['3.11', '3.13'] steps: - name: Checkout repository uses: actions/checkout@v4 - - name: Set up Python + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: ${{ matrix.python-version }} - name: Install dev dependencies run: pip install -r requirements-dev.txt diff --git a/README.md b/README.md index d931672..19bdeaa 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ pipeline dependencies out of the hosted build: - **Repository:** `Effyrt/Docuparse` - **Branch:** `main` - **Main file path:** `dashboard/app.py` - - **Python version** (Advanced settings): `3.11` + - **Python version** (Advanced settings): `3.13` 4. Click **Deploy**. **Why this works cleanly:** Community Cloud searches the entrypoint's directory diff --git a/dashboard/app.py b/dashboard/app.py index 4521ebe..1505bbe 100644 --- a/dashboard/app.py +++ b/dashboard/app.py @@ -6,7 +6,7 @@ minutes per document); it reads the JSON/markdown the pipeline already produced. Run locally: - pip install -r requirements-dashboard.txt + pip install -r dashboard/requirements.txt streamlit run dashboard/app.py All data access lives in dashboard/data_loader.py (pure stdlib, unit-tested).