7f16af2b5b
PR Ready Gate / clear-labels (pull_request) Successful in 1s
CI / test (pull_request) Successful in 13s
CI / review (anthropic--claude-4.6-sonnet, sonnet, SONNET_REVIEW_TOKEN) (pull_request) Successful in 38s
CI / review (gpt-5, gpt, GPT_REVIEW_TOKEN) (pull_request) Successful in 1m8s
CI / review (gpt-5, security, SECURITY_REVIEW.md, SECURITY_REVIEW_TOKEN) (pull_request) Successful in 1m25s
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
|