Compare commits
10 Commits
9325cd901f
...
feature/ai
| Author | SHA1 | Date | |
|---|---|---|---|
| 093e57c4cc | |||
| 01ba25f097 | |||
| c3b2b03c13 | |||
| 9ad7efc09d | |||
| d7ac8b5b26 | |||
| c4f6a1c028 | |||
| a3507fd7f1 | |||
| 72ab85d0cd | |||
| f97b613c12 | |||
| 9c7db11470 |
@@ -2,10 +2,12 @@ name: AI Code Review
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [opened, synchronize]
|
types: [ labeled, synchronize ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ai-review:
|
ai-review:
|
||||||
|
if: >-
|
||||||
|
(github.event.action == 'synchronized' && contains(toJSON(github.event.pull_request.labels), 'ai-review')) || contains(toJSON(gitea.event.changes.added_labels), 'ai-review')
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
env:
|
env:
|
||||||
@@ -17,9 +19,12 @@ jobs:
|
|||||||
VCS__PIPELINE__PULL_NUMBER: ${{ github.event.pull_request.number }}
|
VCS__PIPELINE__PULL_NUMBER: ${{ github.event.pull_request.number }}
|
||||||
VCS__HTTP_CLIENT__API_URL: https://git.forteapps.net/api/v1
|
VCS__HTTP_CLIENT__API_URL: https://git.forteapps.net/api/v1
|
||||||
VCS__HTTP_CLIENT__API_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
|
VCS__HTTP_CLIENT__API_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
|
||||||
|
# Review — disable fallback to see real Gitea API errors
|
||||||
|
REVIEW__INLINE_COMMENT_FALLBACK: "false"
|
||||||
# LLM configuration
|
# LLM configuration
|
||||||
LLM__PROVIDER: CLAUDE
|
LLM__PROVIDER: CLAUDE
|
||||||
LLM__META__MODEL: claude-sonnet-4-20250514
|
LLM__META__MODEL: claude-sonnet-4-20250514
|
||||||
|
LLM__META__MAX_TOKENS: "4096"
|
||||||
LLM__HTTP_CLIENT__API_URL: https://api.anthropic.com
|
LLM__HTTP_CLIENT__API_URL: https://api.anthropic.com
|
||||||
LLM__HTTP_CLIENT__API_TOKEN: ${{ secrets.ANTHROPIC_API_KEY }}
|
LLM__HTTP_CLIENT__API_TOKEN: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||||
|
|
||||||
@@ -31,11 +36,11 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Run inline review
|
- name: Run inline review
|
||||||
uses: docker://nikitafilonov/ai-review:latest
|
uses: docker://nikitafilonov/ai-review:v0.64.0
|
||||||
with:
|
with:
|
||||||
args: ai-review run-inline
|
args: ai-review run-inline
|
||||||
|
|
||||||
- name: Run summary review
|
- name: Run summary review
|
||||||
uses: docker://nikitafilonov/ai-review:latest
|
uses: docker://nikitafilonov/ai-review:v0.64.0
|
||||||
with:
|
with:
|
||||||
args: ai-review run-summary
|
args: ai-review run-summary
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
standards_version: "2025.1"
|
|
||||||
last_configured: "2026-04-04"
|
|
||||||
components:
|
|
||||||
github-pages: "2025.1"
|
|
||||||
github-pages-generator: "mkdocs"
|
|
||||||
github-pages-source: "docs/"
|
|
||||||
github-pages-theme: "material"
|
|
||||||
@@ -819,6 +819,8 @@ postgresql:
|
|||||||
|
|
||||||
**Email Notifications**: Enabled (`ENABLE_NOTIFY_MAIL: true`). SMTP credentials injected via `gitea-smtp-secret` using `additionalConfigFromEnvs` with `GITEA__mailer__USER` / `GITEA__mailer__PASSWD` environment variables.
|
**Email Notifications**: Enabled (`ENABLE_NOTIFY_MAIL: true`). SMTP credentials injected via `gitea-smtp-secret` using `additionalConfigFromEnvs` with `GITEA__mailer__USER` / `GITEA__mailer__PASSWD` environment variables.
|
||||||
|
|
||||||
|
**Auto-Watch**: Disabled (`AUTO_WATCH_ON_CHANGES: false`, `AUTO_WATCH_NEW_REPOS: false`). Prevents contributors from being auto-subscribed to repo notifications on push, reducing email noise from CI bots (e.g., ai-review PR comments). Users who were already watching before this change need to manually unwatch or switch to "Only participating".
|
||||||
|
|
||||||
**Endpoints**:
|
**Endpoints**:
|
||||||
- Web UI: `https://git.forteapps.net`
|
- Web UI: `https://git.forteapps.net`
|
||||||
- SSH: port 22 (ClusterIP)
|
- SSH: port 22 (ClusterIP)
|
||||||
@@ -940,10 +942,10 @@ ignore:
|
|||||||
| Secret | Purpose |
|
| Secret | Purpose |
|
||||||
|--------|---------|
|
|--------|---------|
|
||||||
| `ANTHROPIC_API_KEY` | Claude API key (from Anthropic console) |
|
| `ANTHROPIC_API_KEY` | Claude API key (from Anthropic console) |
|
||||||
| `AI_REVIEW_TOKEN` | Gitea API token with `write:issue` + `read:repository` scopes (use a bot/service account) |
|
| `AI_REVIEW_TOKEN` | Gitea API token with `write:repository` + `read:repository` scopes (use a bot/service account) |
|
||||||
|
|
||||||
**Setup Steps**:
|
**Setup Steps**:
|
||||||
1. Create a Gitea bot/service account and generate an API token with `write:issue` + `read:repository` scopes
|
1. Create a Gitea bot/service account and generate an API token with `write:repository` + `read:repository` scopes
|
||||||
2. Add `AI_REVIEW_TOKEN` secret in Gitea repo settings → Actions → Secrets
|
2. Add `AI_REVIEW_TOKEN` secret in Gitea repo settings → Actions → Secrets
|
||||||
3. Add `ANTHROPIC_API_KEY` secret with your Anthropic API key
|
3. Add `ANTHROPIC_API_KEY` secret with your Anthropic API key
|
||||||
4. Ensure the `shared-prompts` submodule is initialized (`git submodule update --init`)
|
4. Ensure the `shared-prompts` submodule is initialized (`git submodule update --init`)
|
||||||
|
|||||||
@@ -29,7 +29,10 @@ gitea:
|
|||||||
ALLOW_ONLY_EXTERNAL_REGISTRATION: true
|
ALLOW_ONLY_EXTERNAL_REGISTRATION: true
|
||||||
ENABLE_BASIC_AUTHENTICATION: true
|
ENABLE_BASIC_AUTHENTICATION: true
|
||||||
ENABLE_PASSWORD_SIGNIN_FORM: false
|
ENABLE_PASSWORD_SIGNIN_FORM: false
|
||||||
ENABLE_NOTIFY_MAIL: true
|
AUTO_WATCH_ON_CHANGES: false
|
||||||
|
AUTO_WATCH_NEW_REPOS: false
|
||||||
|
ENABLE_NOTIFY_MAIL: false
|
||||||
|
ENABLE_TIMETRACKING: false
|
||||||
|
|
||||||
openid:
|
openid:
|
||||||
ENABLE_OPENID_SIGNIN: false
|
ENABLE_OPENID_SIGNIN: false
|
||||||
|
|||||||
43
mkdocs.yml
43
mkdocs.yml
@@ -1,43 +0,0 @@
|
|||||||
site_name: K8s Launchpad
|
|
||||||
site_description: Documentation for the GitOps-managed Kubernetes cluster
|
|
||||||
repo_url: https://git.forteapps.net/Forte/launchpad
|
|
||||||
repo_name: Forte/launchpad
|
|
||||||
|
|
||||||
theme:
|
|
||||||
name: material
|
|
||||||
palette:
|
|
||||||
- scheme: default
|
|
||||||
primary: indigo
|
|
||||||
toggle:
|
|
||||||
icon: material/brightness-7
|
|
||||||
name: Switch to dark mode
|
|
||||||
- scheme: slate
|
|
||||||
primary: indigo
|
|
||||||
toggle:
|
|
||||||
icon: material/brightness-4
|
|
||||||
name: Switch to light mode
|
|
||||||
features:
|
|
||||||
- navigation.instant
|
|
||||||
- navigation.sections
|
|
||||||
- navigation.top
|
|
||||||
- search.highlight
|
|
||||||
- content.code.copy
|
|
||||||
|
|
||||||
nav:
|
|
||||||
- Home: README.md
|
|
||||||
- GitOps Architecture: GITOPS-ARCHITECTURE.md
|
|
||||||
- Developer Guide: DEVELOPER-GUIDE.md
|
|
||||||
- Operations Runbook: OPERATIONS-RUNBOOK.md
|
|
||||||
- Technical Reference: REFERENCE.md
|
|
||||||
|
|
||||||
markdown_extensions:
|
|
||||||
- tables
|
|
||||||
- toc:
|
|
||||||
permalink: true
|
|
||||||
- pymdownx.highlight:
|
|
||||||
anchor_linenums: true
|
|
||||||
- pymdownx.superfences
|
|
||||||
- pymdownx.tabbed:
|
|
||||||
alternate_style: true
|
|
||||||
- admonition
|
|
||||||
- pymdownx.details
|
|
||||||
Reference in New Issue
Block a user