Enhance OMem CLI with improved branding, structured help output, and … #20
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: CI | |
| on: | |
| push: | |
| branches: ["dev", "staging", "prod", "main", "master"] | |
| pull_request: | |
| branches: ["dev", "staging", "prod", "main", "master"] | |
| jobs: | |
| # ────────────────────────────────────────────────────────────────────────── | |
| # Core test matrix — runs on every supported Python version. | |
| # Uses only the base `pip install omem-os` dependencies (no extras) to | |
| # prove the package works out-of-the-box without anything extra. | |
| # ────────────────────────────────────────────────────────────────────────── | |
| test: | |
| name: Test Python ${{ matrix.python-version }} / ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
| os: [ubuntu-latest] | |
| include: | |
| # Also smoke-test on macOS and Windows with the latest Python | |
| - os: macos-latest | |
| python-version: "3.12" | |
| - os: windows-latest | |
| python-version: "3.12" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install package + dev dependencies (with extras for full coverage) | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install setuptools-rust>=1.8.0 | |
| pip install -e ".[dev,fast,mcp,langchain]" | |
| - name: Lint with Ruff | |
| run: ruff check . | |
| - name: Test with pytest | |
| run: pytest tests/ -v | |
| # ────────────────────────────────────────────────────────────────────────── | |
| # Bare install smoke-test — verifies `pip install omem-os` with ZERO extras | |
| # works identically to a fresh user install (no Rust, no ML libraries). | |
| # ────────────────────────────────────────────────────────────────────────── | |
| bare_install: | |
| name: Bare install smoke-test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install with base deps only (no Rust, no extras) | |
| # Deliberately do NOT install setuptools-rust or any optional extras. | |
| # This mirrors exactly what `pip install omem-os` does for an end-user | |
| # who just wants to get started. | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e . | |
| - name: Verify core functionality works without extras | |
| run: | | |
| python - <<'EOF' | |
| from omem import OMem, __version__ | |
| print("version:", __version__) | |
| m = OMem() | |
| mid = m.add("Hello from bare install test") | |
| results = m.recall("Hello") | |
| assert len(results) > 0, "recall returned nothing" | |
| assert results[0].content == "Hello from bare install test" | |
| print("bare install OK — add/recall work without any extras") | |
| EOF |