7dab35de41
PR Ready Gate / clear-labels (pull_request) Successful in 2s
CI / test (pull_request) Successful in 14s
CI / review (anthropic--claude-4.6-sonnet, sonnet, SONNET_REVIEW_TOKEN) (pull_request) Successful in 35s
CI / review (gpt-5, gpt, GPT_REVIEW_TOKEN) (pull_request) Successful in 1m30s
CI / review (gpt-5, security, SECURITY_REVIEW.md, SECURITY_REVIEW_TOKEN) (pull_request) Successful in 2m0s
Add native SAP AI Core provider that handles OAuth token management and deployment discovery automatically. This eliminates the need for the external LLM proxy when running in SAP environments. Changes: - Add AICoreClient with OAuth token caching and deployment URL discovery - Support both Anthropic and OpenAI models via AI Core deployments - Update CI to use native AI Core provider - Update action inputs to accept AI Core credentials - Update README with AI Core configuration examples Model names must match AI Core deployment names (e.g. anthropic--claude-4.6-sonnet, gpt-5).
68 lines
2.2 KiB
YAML
68 lines
2.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
types: [opened, synchronize]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '1.26'
|
|
- run: go test ./...
|
|
- run: go vet ./...
|
|
- run: go build -o review-bot ./cmd/review-bot
|
|
|
|
# Self-review using native SAP AI Core provider
|
|
# Models must match SAP AI Core deployments
|
|
# Available models: gpt-5, anthropic--claude-4.6-sonnet, anthropic--claude-4.6-opus
|
|
# Removed gpt-4.1, gpt-5-mini, gpt-4.1-mini - not deployed on AI Core
|
|
review:
|
|
runs-on: ubuntu-24.04
|
|
if: github.event_name == 'pull_request'
|
|
needs: test
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- name: sonnet
|
|
token_secret: SONNET_REVIEW_TOKEN
|
|
model: anthropic--claude-4.6-sonnet
|
|
- name: gpt
|
|
token_secret: GPT_REVIEW_TOKEN
|
|
model: gpt-5
|
|
- name: security
|
|
token_secret: SECURITY_REVIEW_TOKEN
|
|
model: gpt-5
|
|
system_prompt_file: SECURITY_REVIEW.md
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '1.26'
|
|
- run: go build -o review-bot ./cmd/review-bot
|
|
- name: Run ${{ matrix.name }} review
|
|
env:
|
|
GITEA_URL: ${{ github.server_url }}
|
|
GITEA_REPO: ${{ github.repository }}
|
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
REVIEWER_TOKEN: ${{ secrets[matrix.token_secret] }}
|
|
REVIEWER_NAME: ${{ matrix.name }}
|
|
LLM_PROVIDER: aicore
|
|
LLM_MODEL: ${{ matrix.model }}
|
|
AICORE_CLIENT_ID: ${{ secrets.AICORE_CLIENT_ID }}
|
|
AICORE_CLIENT_SECRET: ${{ secrets.AICORE_CLIENT_SECRET }}
|
|
AICORE_AUTH_URL: ${{ secrets.AICORE_AUTH_URL }}
|
|
AICORE_API_URL: ${{ secrets.AICORE_API_URL }}
|
|
AICORE_RESOURCE_GROUP: ${{ secrets.AICORE_RESOURCE_GROUP }}
|
|
CONVENTIONS_FILE: "CONVENTIONS.md"
|
|
PATTERNS_REPO: "rodin/go-patterns"
|
|
PATTERNS_FILES: "README.md,patterns/"
|
|
LLM_TIMEOUT: "600"
|
|
SYSTEM_PROMPT_FILE: ${{ matrix.system_prompt_file }}
|
|
run: ./review-bot
|