Repository navigation
Merge pull request #4 from softmaxdata/fix/core-correctness-and-mcp #3
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: Regression and package checks | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| PIP_DISABLE_PIP_VERSION_CHECK: "1" | |
| LITELLM_LOCAL_MODEL_COST_MAP: "True" | |
| DO_NOT_TRACK: "1" | |
| jobs: | |
| sqlite-and-package: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| - name: Install test and build dependencies, including the MCP extra | |
| run: python -m pip install -e '.[dev,mcp]' build | |
| - name: Check recorded shared-core contracts | |
| run: python scripts/check-shared-core.py --checkout . | |
| - name: Run full SQLite suite | |
| run: python scripts/check-ci.py --backend sqlite --output reports/sqlite.xml | |
| - name: Run controlled retrieval regression benchmark | |
| run: python -m evals.retrieval --output reports/retrieval.json | |
| - name: Build sdist, then wheel; certify installed package and MCP | |
| run: python scripts/check-package.py --output-dir reports/package | |
| - name: Retain verification reports and package artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: sqlite-package-python-${{ matrix.python-version }} | |
| path: reports/ | |
| retention-days: 14 | |
| postgres: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.13"] | |
| services: | |
| postgres: | |
| image: pgvector/pgvector:pg16 | |
| env: | |
| POSTGRES_DB: engram_test | |
| POSTGRES_USER: engram_test | |
| POSTGRES_PASSWORD: engram-test-only | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd "pg_isready -U engram_test -d engram_test" | |
| --health-interval 5s | |
| --health-timeout 5s | |
| --health-retries 12 | |
| env: | |
| ENGRAM_TEST_POSTGRES_DSN: postgresql://engram_test:engram-test-only@127.0.0.1:5432/engram_test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| - run: python -m pip install -e '.[dev,mcp]' | |
| - name: Require ready pgvector and run full suite with PostgreSQL tests enabled | |
| run: python scripts/check-ci.py --backend postgres --output reports/postgres.xml | |
| - name: Retain PostgreSQL verification report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: postgres-python-${{ matrix.python-version }} | |
| path: reports/ | |
| retention-days: 14 |