Files
davidson-ci/.gitea/scoped_workflows/davidson-ci.yml
T
pauljd a6b14fe6d6
pauljd/davidson-ci: Davidson CI / quality (push) Successful in 13s
pauljd/davidson-ci: Davidson CI / ai-review (push) Successful in 3m45s
Add isolated Davidson AI review job
2026-09-08 18:44:51 +01:00

95 lines
2.1 KiB
YAML

name: Davidson CI
on:
push:
permissions:
contents: read
jobs:
quality:
runs-on: davidson-ci
steps:
- name: Checkout project
uses: actions/checkout@v4
- name: Checkout Davidson CI
uses: actions/checkout@v4
with:
repository: pauljd/davidson-ci
path: .davidson-ci
- name: Detect project
id: detect
run: .davidson-ci/modules/detect.sh
- name: PHP
id: php
if: always()
run: .davidson-ci/modules/php.sh
- name: JavaScript / TypeScript
id: javascript
if: always()
run: .davidson-ci/modules/javascript.sh
- name: CSS
id: css
if: always()
run: .davidson-ci/modules/css.sh
- name: Security
id: security
if: always()
run: .davidson-ci/modules/security.sh
- name: Davidson CI Report
if: always()
run: .davidson-ci/scripts/report.sh
- name: Final CI status
if: always()
run: |
FAILED=0
[ "${DAVIDSON_PHP_STATUS:-UNKNOWN}" = "FAIL" ] && FAILED=1
[ "${DAVIDSON_JS_STATUS:-UNKNOWN}" = "FAIL" ] && FAILED=1
[ "${DAVIDSON_CSS_STATUS:-UNKNOWN}" = "FAIL" ] && FAILED=1
[ "${DAVIDSON_SECURITY_STATUS:-UNKNOWN}" = "FAIL" ] && FAILED=1
if [ "$FAILED" -eq 1 ]; then
echo "Davidson CI failed"
exit 1
fi
echo "Davidson CI passed"
ai-review:
needs: quality
if: always()
runs-on: davidson-ai
steps:
- name: Checkout project
uses: actions/checkout@v4
- name: Checkout Davidson CI
uses: actions/checkout@v4
with:
repository: pauljd/davidson-ci
path: .davidson-ci
- name: Prepare OpenCode config
run: |
mkdir -p .opencode
cp -r .davidson-ci/.opencode/* .opencode/
- name: Davidson AI Review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
opencode run \
--agent davidson-review \
"Perform a complete Davidson CI review of this repository. Do not modify anything."