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_URL: ${{ inputs.pull_request_html }} # (env var name kept as PULL_REQUEST_HTML_URL for clarity in the # run: script below - this maps from the `pull_request_html` # input, which is what both pr-ask-ive.yml and # pr-ask-reply-ive.yml actually pass via `with:`. A prior version # of this file declared the input as `pull_request_html_url` but # referenced `inputs.pull_request_html` here - neither name # matched the caller's `with:` key, so PULL_REQUEST_HTML_URL was # always empty and --pr-url="" made every /ask call fail before # ever reaching the LLM. 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"