feat: self-hosted LLM backend — point all workflows at the Jetson (Ollama, model=coder)
The Jetson Orin Nano (JetPack 7.2, Ollama on GPU) is live, so ci-ai runs fully self-hosted: no Anthropic key, no cloud, no per-PR cost. AI_PROVIDER=ollama, AI_BASE_URL=http://192.168.178.103:11434/v1. The Pi runner reaches it LAN-direct (SNAT to .48, allowed by the Jetson UFW). Removed the dead ANTHROPIC_API_KEY secret declarations. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
# Läuft auf dem Pi-Runner (capacity 1, ~3-4 GB RAM) -> Memory-Cap + schlankes
|
||||
# python-Image. KEINE JS-Actions (kein node nötig): ci-ai wird manuell geklont,
|
||||
# git.eulernest.eu löst per Runner-add-host auf die LAN-IP auf. Ohne
|
||||
# ANTHROPIC_API_KEY überspringt das Skript den KI-Schritt sauber (Job bleibt grün).
|
||||
# Das KI-Backend ist die Jetson-Ollama (self-hosted, LAN-direkt, kein Key).
|
||||
name: AI PR Review
|
||||
|
||||
on:
|
||||
@@ -26,15 +26,10 @@ jobs:
|
||||
|
||||
- name: KI-Review (überspringt sauber ohne Key)
|
||||
env:
|
||||
AI_PROVIDER: anthropic
|
||||
AI_MODEL: claude-3-5-haiku-latest
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
AI_PROVIDER: ollama
|
||||
AI_MODEL: coder
|
||||
AI_BASE_URL: http://192.168.178.103:11434/v1
|
||||
GITEA_TOKEN: ${{ github.token }}
|
||||
GITEA_API: https://git.eulernest.eu/api/v1
|
||||
run: python /opt/ci-ai/scripts/ai_review.py
|
||||
|
||||
# Jetson-Umstieg später (kein Code-Change, nur diese env):
|
||||
# AI_PROVIDER: ollama
|
||||
# AI_MODEL: qwen-light
|
||||
# AI_BASE_URL: http://192.168.178.20:11434/v1
|
||||
# JETSON_API_KEY: ${{ secrets.JETSON_API_KEY }}
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
# Voraussetzungen (einmalig zentral eingerichtet):
|
||||
# 1. Runner instanzweit registriert (Label `eulernest`)
|
||||
# 2. anonymer Clone für public Repos erlaubt
|
||||
# 3. ANTHROPIC_API_KEY als Org-/Instanz-Actions-Secret (für die KI-Schritte;
|
||||
# ohne ihn laufen die Scans, die KI-Teile überspringen sich sauber)
|
||||
# 3. KI-Backend = Jetson-Ollama (LAN, self-hosted). Kein Secret nötig; die
|
||||
# Jetson-UFW lässt den Pi-Runner (.48) an Port 11434. Modell: coder.
|
||||
# 4. für „hart blockieren": den `security`-Check in der Branch-Protection
|
||||
# als required markieren
|
||||
name: CI-AI
|
||||
|
||||
@@ -26,9 +26,9 @@
|
||||
# run: apt-get update -qq && apt-get install -y -qq --no-install-recommends git ca-certificates
|
||||
# - name: KI-Analyse
|
||||
# env:
|
||||
# AI_PROVIDER: anthropic
|
||||
# AI_MODEL: claude-3-5-haiku-latest
|
||||
# ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
# AI_PROVIDER: ollama
|
||||
# AI_MODEL: coder
|
||||
# AI_BASE_URL: http://192.168.178.103:11434/v1
|
||||
# GITEA_TOKEN: ${{ github.token }}
|
||||
# GITEA_API: https://git.eulernest.eu/api/v1
|
||||
# run: |
|
||||
|
||||
@@ -53,9 +53,9 @@ jobs:
|
||||
- name: KI erklärt die Funde (nur bei Fehler, überspringt ohne Key)
|
||||
if: failure()
|
||||
env:
|
||||
AI_PROVIDER: anthropic
|
||||
AI_MODEL: claude-3-5-haiku-latest
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
AI_PROVIDER: ollama
|
||||
AI_MODEL: coder
|
||||
AI_BASE_URL: http://192.168.178.103:11434/v1
|
||||
GITEA_TOKEN: ${{ github.token }}
|
||||
GITEA_API: https://git.eulernest.eu/api/v1
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user