bharatgraph / .github /workflows /weekly_learn.yml
abinazebinoy's picture
fix(ci): remove cache:pip from all 3 workflows, force Node.js 24
9fc4f78
Raw
History Blame Contribute Delete
2.13 kB
name: weekly-self-learning
on:
schedule:
- cron: "0 18 * * 0"
workflow_dispatch:
permissions:
contents: write
jobs:
learn:
runs-on: ubuntu-latest
timeout-minutes: 30
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: install dependencies
run: pip install loguru python-dotenv requests networkx
- name: run self audit
run: |
python3 -c "
from ai.self_learning.self_audit import SelfAudit
r = SelfAudit().run(timeout_secs=15)
print(f'Audit: {r[\"passed\"]}/{r[\"total\"]} passed')
if r['failed'] > 0:
print('::warning::' + str(r['failed']) + ' scrapers failed audit')
"
- name: run schema learner
run: |
python3 -c "
from ai.self_learning.schema_learner import SchemaLearner
s = SchemaLearner()
pending = s.get_pending()
print(f'Pending schema additions: {len(pending)}')
"
- name: run weight optimizer
env:
NEO4J_URI: ${{ secrets.NEO4J_URI }}
NEO4J_USER: ${{ secrets.NEO4J_USER }}
NEO4J_PASSWORD: ${{ secrets.NEO4J_PASSWORD }}
run: |
python3 -c "
from ai.self_learning.weight_optimizer import WeightOptimizer
opt = WeightOptimizer()
result = opt.optimize()
print(f'Weight adjustment: {result[\"adjusted\"]}')
if result.get('changes'):
for k,v in result['changes'].items():
print(f' {k}: {v[\"old\"]} -> {v[\"new\"]}')
"
- name: commit learning artifacts
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add data/processed/ || true
git diff --staged --quiet || \
git commit -m "chore(learn): weekly self-learning run $(date -u +%Y-%m-%d)"
git push origin main || true