feat: add IVE review/ask/knowledge-graph templates and bot identity fixes

This commit is contained in:
2026-08-25 11:10:10 +03:00
parent c219f08c8f
commit 56ea22733c
3 changed files with 139 additions and 0 deletions
@@ -0,0 +1,46 @@
name: Knowledge Graph (Template)
on:
workflow_call:
jobs:
update-graph:
runs-on: ive
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Install graphify
run: pip install --quiet --user --break-system-packages 'graphifyy[openai]'
- name: Link graphify-out under .gitea/
run: |
mkdir -p .gitea/graphify-out
ln -sfn .gitea/graphify-out graphify-out
- name: Update knowledge graph (incremental, AST-only, no LLM)
run: |
export PATH="$HOME/.local/bin:$PATH"
graphify update .
- name: Name communities via local LLM (incremental, missing labels only)
run: |
export PATH="$HOME/.local/bin:$PATH"
export OPENAI_BASE_URL="http://10.2.2.54:5625/v1"
export OPENAI_MODEL="ive-brain"
export OPENAI_API_KEY="not-needed"
graphify label . --missing-only --backend openai --model ive-brain --max-concurrency 1
- name: Drop graphify's dated backup snapshot
run: rm -rf .gitea/graphify-out/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]
- name: Commit graph if it changed
run: |
git config user.name "ive"
git config user.email "system-ive-code-review@technarts.com"
git add .gitea/graphify-out/
if git diff --cached --quiet; then
exit 0
fi
git commit -m "chore: update graphify knowledge graph [skip-graphify]"
git push origin HEAD:main
+49
View File
@@ -0,0 +1,49 @@
name: PR Ask With IVE (Template)
on:
workflow_call:
inputs:
issue_number:
description: "issue/PR number the comment was made on"
required: true
type: "string"
comment_id:
description: "id of the triggering comment"
required: true
type: "string"
comment_body:
description: "full body of the triggering comment, including the /ask prefix"
required: true
type: "string"
pull_request_html:
description: "html url of the pull request being asked about"
required: true
type: "string"
jobs:
pr-ask:
runs-on: ive
timeout-minutes: 300
steps:
- name: Answer /ask command
env:
COMMENT_BODY: ${{ inputs.comment_body }}
ISSUE_NUMBER: ${{ inputs.issue_number }}
COMMENT_ID: ${{ inputs.comment_id }}
PULL_REQUEST_HTML: ${{ inputs.pull_request_html }}
run: |
question="${COMMENT_BODY#/ask}"
question="$(echo "$question" | sed -e 's/^[[:space:]]*//')"
container="pr-ask-${ISSUE_NUMBER}-${COMMENT_ID}"
docker rm -f "$container" 2>/dev/null || true
timeout 300m docker run --rm --name "$container" \
-e LLM_BASE_URL="http://10.2.2.54:5625/v1" \
-e LLM_MODEL="ive-brain" \
-e GRAPH_PATH_REPO=".gitea/graphify-out/graph.json" \
pr-review-agent:local \
--pr-url="$PULL_REQUEST_HTML" \
--ask="$question"
+44
View File
@@ -0,0 +1,44 @@
name: PR Review With IVE
on:
workflow_call:
inputs:
review_project_rules:
description: "Repo based prompts"
required: true
type: "string"
default: ""
pull_request_number:
description: "pull request number"
required: true
type: "string"
pull_request_html_url:
description: "string html for pull request"
required: true
type: "string"
jobs:
pr-review:
runs-on: ive
timeout-minutes: 300
steps:
- name: Run PR Review With IVE
env:
REVIEW_PROJECT_RULES: ${{inputs.review_project_rules}}
PULL_REQUEST_NUMBER: ${{inputs.pull_request_number}}
PULL_REQUEST_HTML: ${{inputs.pull_request_html_url}}
run: |
echo "Project rules: $REVIEW_PROJECT_RULES"
echo "Pull request number: $PULL_REQUEST_NUMBER"
echo "Pull request html url: $PULL_REQUEST_HTML"
container="pr-review-$PULL_REQUEST_NUMBER"
docker rm -f "$container" 2>/dev/null || true
timeout 300m docker run --rm --name "$container" \
-e LLM_BASE_URL="http://10.2.2.54:5625/v1" \
-e LLM_MODEL="ive-brain" \
-e GRAPH_PATH_REPO=".gitea/graphify-out/graph.json" \
-e REVIEW_PROJECT_RULES \
pr-review-agent:local \
--pr-url=$PULL_REQUEST_HTML