Skip to content

Add comprehensive knowledge base with 76 concepts across 5 domains #30

Add comprehensive knowledge base with 76 concepts across 5 domains

Add comprehensive knowledge base with 76 concepts across 5 domains #30

Workflow file for this run

name: Tests
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
workflow_dispatch:
jobs:
test:
name: Test on Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- name: Checkout code
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 dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
# Optional: Install test dependencies
pip install pytest pytest-cov coverage
- name: Run tests
run: |
echo "Running test suite..."
python tests/test_mln.py
python tests/test_inference_rules.py
python tests/test_comprehensive.py
python tests/test_rule_priorities.py
echo "All tests passed!"
- name: Run tests with pytest (if available)
run: |
pytest tests/ -v --tb=short || echo "pytest not configured, continuing..."
continue-on-error: true
- name: Calculate coverage
run: |
coverage run -m pytest tests/ || echo "Coverage not available"
coverage report || echo "Coverage report not available"
continue-on-error: true
gpu-test:
name: GPU Test (CPU fallback)
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install numpy
- name: Test GPU modules (CPU fallback)
run: |
echo "Testing GPU similarity with CPU fallback..."
python tests/test_gpu_similarity.py || echo "GPU tests skipped"
echo "Testing GPU graph traversal with CPU fallback..."
python tests/test_gpu_graph_traversal.py || echo "GPU tests skipped"
continue-on-error: true
lint:
name: Code Quality
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install linting tools
run: |
python -m pip install --upgrade pip
pip install flake8 pylint black isort
continue-on-error: true
- name: Check code formatting with black
run: |
black --check src/ tests/ || echo "black not configured"
continue-on-error: true
- name: Check import sorting
run: |
isort --check-only src/ tests/ || echo "isort not configured"
continue-on-error: true
- name: Lint with flake8
run: |
# Stop on critical errors, warn on others
flake8 src/ tests/ --count --select=E9,F63,F7,F82 --show-source --statistics || echo "flake8 not configured"
continue-on-error: true