Skip to content

Enhance OMem CLI with improved branding, structured help output, and … #20

Enhance OMem CLI with improved branding, structured help output, and …

Enhance OMem CLI with improved branding, structured help output, and … #20

Workflow file for this run

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