Compare commits

..

18 Commits

Author SHA1 Message Date
Shaun Arman
ac568add3f fix: revert to two-dot diff — three-dot requires merge base unavailable in shallow clone
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m14s
Test / rust-fmt-check (pull_request) Successful in 2m46s
PR Review Automation / review (pull_request) Successful in 4m4s
Test / rust-clippy (pull_request) Successful in 19m47s
Test / frontend-typecheck (pull_request) Successful in 1m16s
Test / rust-tests (pull_request) Successful in 21m16s
2026-04-12 17:11:54 -05:00
Shaun Arman
0b49899384 fix: replace github.server_url with hardcoded gogs.tftsr.com for container access
Some checks failed
Test / rust-fmt-check (pull_request) Successful in 3m11s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Successful in 1m11s
Test / frontend-tests (pull_request) Successful in 1m9s
PR Review Automation / review (pull_request) Failing after 2m58s
2026-04-12 17:08:19 -05:00
Shaun Arman
bf1f81c563 fix: resolve AI review false positives and address high/medium issues
Some checks failed
PR Review Automation / review (pull_request) Failing after 4m22s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Successful in 1m5s
Test / frontend-typecheck (pull_request) Successful in 1m11s
Test / rust-fmt-check (pull_request) Successful in 2m43s
Root cause of false-positive "critical" errors:
- sed pattern was matching api_key/token within YAML variable names
  (e.g. OLLAMA_API_KEY:) and redacting the ${{ secrets.X }} value,
  producing mangled syntax that confused the AI reviewer
- Fix: use [^$[:space:]] to skip values starting with $ (template
  expressions and shell variable references)

Other fixes:
- Replace --retry-all-errors with --retry-connrefused --retry-max-time 120
  to avoid wasting retries on unrecoverable 4xx errors
- Check HTTP_CODE before jq validation so error messages are meaningful
- Add permissions: pull-requests: write to job
- Add edited to pull_request.types so title changes trigger re-review
- Change git diff .. to git diff ... (three-dot merge-base diff)
- Replace hardcoded server/repo URLs with github.server_url and
  github.repository context variables (portability)
- Log review length before posting to detect truncation
2026-04-12 17:02:39 -05:00
Shaun Arman
e1724d9631 fix: harden pr-review workflow — URLs, DNS, correctness and reliability
Some checks failed
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Successful in 1m6s
Test / frontend-typecheck (pull_request) Successful in 1m12s
Test / rust-fmt-check (pull_request) Successful in 2m52s
PR Review Automation / review (pull_request) Successful in 3m43s
Security:
- Replace http://172.0.0.29:3000 git remote with https://gogs.tftsr.com
- Replace http://172.0.0.29:3000 Gitea API URL with https://gogs.tftsr.com
- Remove internal 172.0.0.29 from container DNS (keep 8.8.8.8, 1.1.1.1)
- Move PR_TITLE and PR_NUMBER to env vars to prevent shell injection

Correctness:
- Fix diff_size comparison from lexicographic > '0' to != '0'
- Strip leading whitespace from wc -l output via tr -d ' '
- Switch diff truncation from head -c 20000 to head -n 500 (line-safe)
- Add jq empty validation before parsing Ollama response

Reliability:
- Add --connect-timeout 30 and --retry 3 --retry-delay 5 to Ollama curl
- Add --connect-timeout 10 to review POST curl
- Change Post review comment to if: always() so it runs on analysis failure
- Post explicit failure comment when analysis produces no output
2026-04-12 16:50:12 -05:00
Shaun Arman
7492f33a5c fix: configure container DNS to resolve ollama-ui.tftsr.com
Some checks failed
Test / frontend-typecheck (pull_request) Successful in 1m11s
Test / frontend-tests (pull_request) Successful in 1m10s
Test / rust-fmt-check (pull_request) Successful in 2m45s
PR Review Automation / review (pull_request) Successful in 3m51s
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
2026-04-12 16:39:43 -05:00
Shaun Arman
8f9529fd77 fix: harden pr-review workflow and sync versions to 0.2.50
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m10s
Test / frontend-typecheck (pull_request) Successful in 1m11s
PR Review Automation / review (pull_request) Failing after 2m47s
Test / rust-fmt-check (pull_request) Successful in 2m49s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Workflow changes:
- Switch Ollama to https://ollama-ui.tftsr.com/ollama/v1 (OpenAI-compat)
  with OLLAMA_API_KEY secret — removes hardcoded internal IP
- Update endpoint to /chat/completions and response parsing to
  .choices[0].message.content for OpenAI-compat format
- Add concurrency block to prevent racing on same PR number
- Add shell: bash + set -euo pipefail to all steps
- Add TF_TOKEN presence validation before posting review
- Add --max-time 30 and HTTP status check to comment POST curl
- Redact common secret patterns from diff before sending to Ollama
- Add binary diff warning via grep for "^Binary files"
- Add UTC timestamps to Ollama call and review post log lines
- Add always-run Cleanup step to remove /tmp artifacts

Version consistency:
- Sync Cargo.toml and package.json from 0.1.0 to 0.2.50 to match
  tauri.conf.json
2026-04-12 16:32:15 -05:00
Shaun Arman
02b40bb12d fix: restore migration 014, bump version to 0.2.50, harden pr-review workflow
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m10s
Test / frontend-typecheck (pull_request) Successful in 1m13s
Test / rust-fmt-check (pull_request) Successful in 2m35s
PR Review Automation / review (pull_request) Successful in 3m40s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
- Restore 014_create_ai_providers migration and tests missing due to
  branch diverging from master before PR #34 merged
- Bump version from 0.2.10 to 0.2.50 to match master and avoid regression
- Trim diff input to 20 KB to prevent Ollama token overflow
- Add --max-time 120 to curl to prevent workflow hanging indefinitely
2026-04-12 16:20:18 -05:00
Shaun Arman
2f7be85e64 fix: use bash shell and remove bash-only substring expansion in pr-review
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m18s
Test / frontend-typecheck (pull_request) Successful in 1m23s
Test / rust-fmt-check (pull_request) Successful in 2m56s
PR Review Automation / review (pull_request) Successful in 4m0s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
2026-04-12 16:07:39 -05:00
Shaun Arman
0105e321d2 fix: add diagnostics to identify empty Ollama response root cause
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m13s
Test / frontend-typecheck (pull_request) Successful in 1m20s
PR Review Automation / review (pull_request) Failing after 3m7s
Test / rust-fmt-check (pull_request) Successful in 3m23s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
2026-04-12 16:03:27 -05:00
Shaun Arman
dbd567972f fix: correct Ollama URL, API endpoint, and JSON construction in pr-review workflow
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m19s
Test / frontend-typecheck (pull_request) Successful in 1m34s
Test / rust-fmt-check (pull_request) Successful in 3m31s
PR Review Automation / review (pull_request) Successful in 4m22s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
- Fix OLLAMA_URL to point at actual Ollama server (172.0.1.42:11434)
- Fix API path from /v1/chat to /api/chat (Ollama native endpoint)
- Fix response parsing from OpenAI format to Ollama native (.message.content)
- Use jq to safely construct JSON bodies in both Analyze and Post steps
- Add HTTP status code check and response body logging for diagnostics
2026-04-12 15:56:13 -05:00
Shaun Arman
313dcf7cdc fix: add debugging output for Ollamaresponse
All checks were successful
Test / frontend-typecheck (pull_request) Successful in 1m14s
Test / frontend-tests (pull_request) Successful in 1m13s
Test / rust-fmt-check (pull_request) Successful in 2m50s
PR Review Automation / review (pull_request) Successful in 2m52s
Test / rust-clippy (pull_request) Successful in 20m50s
Test / rust-tests (pull_request) Successful in 22m5s
2026-04-10 16:16:55 -05:00
Shaun Arman
135f115b98 fix: simplified workflow syntax
Some checks failed
Test / frontend-tests (pull_request) Failing after 1m5s
Test / frontend-typecheck (pull_request) Successful in 1m13s
PR Review Automation / review (pull_request) Failing after 2m43s
Test / rust-fmt-check (pull_request) Successful in 2m45s
Test / rust-clippy (pull_request) Successful in 19m7s
Test / rust-tests (pull_request) Successful in 20m32s
2026-04-10 14:59:41 -05:00
Shaun Arman
0e5ee6dc1b fix: use IP addresses for internal services
Some checks failed
Test / rust-fmt-check (pull_request) Successful in 2m29s
Test / frontend-tests (pull_request) Successful in 1m13s
Test / frontend-typecheck (pull_request) Successful in 1m15s
Test / rust-clippy (pull_request) Successful in 19m59s
Test / rust-tests (pull_request) Successful in 19m51s
PR Review Automation / review (pull_request) Has been cancelled
2026-04-10 14:08:48 -05:00
Shaun Arman
bb296a226c fix: use actions/checkout with token auth and self-hosted runner
Some checks failed
Test / frontend-typecheck (pull_request) Successful in 1m10s
Test / frontend-tests (pull_request) Successful in 1m4s
Test / rust-fmt-check (pull_request) Successful in 2m39s
PR Review Automation / review (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
2026-04-10 14:07:54 -05:00
Shaun Arman
ad34bda097 fix: use ubuntu container with git installed
Some checks failed
PR Review Automation / review (pull_request) Failing after 1m49s
Test / rust-fmt-check (pull_request) Successful in 2m35s
Test / frontend-typecheck (pull_request) Successful in 1m14s
Test / frontend-tests (pull_request) Successful in 1m8s
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
2026-04-10 13:51:50 -05:00
Shaun Arman
0e5e8bee69 fix: remove actions/checkout to avoid Node.js dependency
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m8s
Test / frontend-typecheck (pull_request) Successful in 1m10s
Test / rust-fmt-check (pull_request) Successful in 2m35s
PR Review Automation / review (pull_request) Failing after 3s
Test / rust-clippy (pull_request) Successful in 22m24s
Test / rust-tests (pull_request) Successful in 23m43s
2026-04-10 13:43:43 -05:00
Shaun Arman
6c3d6fc2ec fix: rename GITEA_TOKEN to TF_TOKEN to comply with naming restrictions
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m13s
Test / frontend-typecheck (pull_request) Successful in 1m15s
Test / rust-fmt-check (pull_request) Successful in 3m7s
Test / rust-clippy (pull_request) Successful in 28m59s
Test / rust-tests (pull_request) Successful in 31m16s
PR Review Automation / review (pull_request) Failing after 10s
2026-04-10 13:04:04 -05:00
Shaun Arman
c077bf3348 feat: add automated PR review workflow with Ollama AI 2026-04-10 12:52:17 -05:00

Diff Content Not Available