Extracted 52 files from Timmy_Foundation/hermes-agent (gitea/main) into hermes-sovereign/ directory to restore clean upstream tracking. Layout: docs/ 19 files — deploy guides, performance reports, security docs, research security/ 5 files — audit workflows, PR checklists, validation scripts wizard-bootstrap/ 7 files — wizard environment, dependency checking, auditing notebooks/ 2 files — Jupyter health monitoring notebooks scripts/ 5 files — forge health, smoke tests, syntax guard, deploy validation ci/ 2 files — Gitea CI workflow definitions githooks/ 3 files — pre-commit hooks and config devkit/ 8 files — developer toolkit (Gitea client, health, notebook runner) README.md 1 file — directory overview Addresses: #337, #338
45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
name: Notebook CI
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'notebooks/**'
|
|
pull_request:
|
|
paths:
|
|
- 'notebooks/**'
|
|
|
|
jobs:
|
|
notebook-smoke:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
pip install papermill jupytext nbformat
|
|
python -m ipykernel install --user --name python3
|
|
|
|
- name: Execute system health notebook
|
|
run: |
|
|
papermill notebooks/agent_task_system_health.ipynb /tmp/output.ipynb \
|
|
-p threshold 0.5 \
|
|
-p hostname ci-runner
|
|
|
|
- name: Verify output has results
|
|
run: |
|
|
python -c "
|
|
import json
|
|
nb = json.load(open('/tmp/output.ipynb'))
|
|
code_cells = [c for c in nb['cells'] if c['cell_type'] == 'code']
|
|
outputs = [c.get('outputs', []) for c in code_cells]
|
|
total_outputs = sum(len(o) for o in outputs)
|
|
assert total_outputs > 0, 'Notebook produced no outputs'
|
|
print(f'Notebook executed successfully with {total_outputs} output(s)')
|
|
"
|