Skip to content

fix(telemetry): replace inert POSTHOG_DISABLED with MEM0_TELEMETRY; correct /health attribute #32

fix(telemetry): replace inert POSTHOG_DISABLED with MEM0_TELEMETRY; correct /health attribute

fix(telemetry): replace inert POSTHOG_DISABLED with MEM0_TELEMETRY; correct /health attribute #32

Workflow file for this run

name: CI
# Hermetic CI for v0.0.9: runs on fresh Ubuntu and macOS runners. Proves the
# fidelis package installs cleanly from source on a box that has never seen it
# before — the equivalent of a beta tester running `pip install`. Tests that
# require a live Ollama or LLM endpoint are excluded by directory; the rest
# (~470) must pass on every commit.
#
# What this catches:
# - missing dependencies (e.g. the `ollama` python lib that crashed our
# fresh-venv smoke test before we added it to pyproject)
# - macOS-only or Linux-only path bugs
# - Python-version regressions across 3.10/3.11/3.12
# - lint regressions
# - silent test-collection failures
#
# What this does NOT catch (intentionally — handled by manual smoke):
# - live Ollama embedding behaviour (tests/scaffold/test_e2e_store_query.py)
# - LLM backend portability (tests/scaffold/test_backend_portability.py)
# - Anthropic / OpenAI streaming wire format
on:
push:
branches: [main]
tags: ["v*"]
pull_request:
branches: [main]
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: pytest ${{ matrix.os }} / py${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.10", "3.11", "3.12"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install fidelis (proves clean install)
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Verify console scripts are wired
run: |
fidelis --help
- name: Ruff lint
run: ruff check src/ tests/
- name: Pytest (CI-runnable suite)
env:
FIDELIS_QUEUE_DIR: ${{ runner.temp }}/fidelis-ci-queue
run: |
pytest tests/ \
--ignore=tests/scaffold/test_e2e_store_query.py \
--ignore=tests/scaffold/test_backend_portability.py \
--ignore=tests/scaffold/test_anthropic_cache_wire.py \
--ignore=tests/scaffold/test_openai_format_compatibility.py \
--ignore=tests/scaffold/test_streaming_marker_integrity.py \
-q --no-header --tb=line
- name: Smoke — package metadata sanity
run: |
python -c "import fidelis; assert fidelis.__version__, 'no version'; print('version:', fidelis.__version__)"
python -c "from fidelis import degrade, server, init_cmd, watch_cmd, mcp_server; print('imports OK')"
- name: Smoke — plist contents test (macOS-only behaviour)
if: runner.os == 'macOS'
run: |
pytest tests/test_init_plist_contents.py -v --no-header
build:
name: build sdist + wheel
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Build distributions
run: |
pip install --upgrade pip build
python -m build
- name: Upload dist artifacts
uses: actions/upload-artifact@v4
with:
name: fidelis-dist
path: dist/
retention-days: 14