Skip to content

nightly

nightly #80

Workflow file for this run

name: nightly
on:
schedule:
- cron: "0 3 * * *"
workflow_dispatch:
permissions:
contents: read
concurrency:
group: nightly-${{ github.ref }}
cancel-in-progress: true
jobs:
shard-surface-nightly:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: dtolnay/rust-toolchain@stable
- name: Install shard package and solver build prerequisites
run: |
python -m pip install --upgrade pip
python -m pip install --index-url https://download.pytorch.org/whl/cpu torch
python -m pip install -e ".[server,multimodal,dev,shard,native-solver-build]"
python -m pip install ./src/kernels/knapsack_solver
- name: Run nightly shard regression suite
run: |
pytest \
tests/test_latence_graph_lightrag.py \
tests/test_latence_graph_crud.py \
tests/test_latence_graph_quality.py \
tests/test_reference_api_contract.py \
tests/test_reference_api_persistence.py \
tests/test_shard_http_api.py \
tests/test_shard_hardening.py \
tests/test_shard_serving_wiring.py \
-v --tb=short
- name: Run nightly benchmark smoke
run: |
mkdir -p validation-reports/nightly
python benchmarks/oss_reference_benchmark.py --device cpu --points 32 --top-k 5 > validation-reports/nightly/nightly_benchmark.json
python -c "import json; payload = json.load(open('validation-reports/nightly/nightly_benchmark.json', 'r', encoding='utf-8')); assert 'reference_api_search' in payload; assert 'multimodal_search' in payload"
python tools/benchmarks/benchmark_latence_graph_quality.py --mode benchmark --output-json validation-reports/nightly/nightly_graph_benchmark.json
python -c "import json; payload = json.load(open('validation-reports/nightly/nightly_graph_benchmark.json', 'r', encoding='utf-8')); rep = payload['representative']; assert rep['graph']['route_checks']['all_passed']; assert payload['representative']['comparison']['graph_shaped']['recall'] > 0.0"
- name: Upload nightly artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: nightly-shard-surface
path: |
validation-reports/nightly/nightly_benchmark.json
validation-reports/nightly/nightly_graph_benchmark.json