feat: add IVE review/ask/knowledge-graph templates and bot identity fixes
This commit is contained in:
@@ -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=${{ secrets.LLM_API_KEY }}
|
||||
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
|
||||
@@ -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_url:
|
||||
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_URL: ${{ inputs.pull_request_html_url }}
|
||||
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_URL" \
|
||||
--ask="$question"
|
||||
@@ -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_URL: ${{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_URL"
|
||||
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_URL
|
||||
Reference in New Issue
Block a user