name: Semantica Performance Suite on: workflow_dispatch: permissions: contents: read jobs: performance-test: name: Benchmark Runner (Ubuntu/Python 3.12) runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: fetch-depth: 0 - name: Set up Python 3.11 uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 with: python-version: "3.11" cache: 'pip' - name: Install Dependencies env: BENCHMARK_REAL_LIBS: "1" run: | python -m pip install --upgrade pip pip install -e . pip install -r benchmarks/requirements.txt python -m spacy download en_core_web_sm pip install rdflib neo4j faiss-cpu torch pyarrow pdfplumber python-pptx openpyxl lxml python-docx beautifulsoup4 chardet langdetect - name: Execute Benchmarks (Real Mode) env: BENCHMARK_REAL_LIBS: "1" run: | python benchmarks/benchmarks_runner.py # Optional: Compare to baseline (requires previous run artifact) # pytest-benchmark --storage file://benchmarks/results --benchmark-compare - name: Upload Benchmark Results uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 if: always() with: name: benchmark-report-${{ github.run_id }} path: benchmarks/results retention-days: 30