mirror of
https://git.coastit.co.za/caitlin/CRM_ENVR.git
synced 2026-07-10 11:15:43 +02:00
59 lines
1.6 KiB
YAML
59 lines
1.6 KiB
YAML
name: Build & Auto-Repair
|
|
on:
|
|
push:
|
|
branches: [main, develop]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "20"
|
|
|
|
- name: Install dependencies
|
|
run: npm ci --no-audit --no-fund
|
|
|
|
- name: Install Playwright
|
|
run: npx playwright install chromium firefox
|
|
|
|
- name: Build check
|
|
id: build
|
|
continue-on-error: true
|
|
run: npx tsc --noEmit
|
|
|
|
- name: Run self-healing setup
|
|
if: steps.build.outcome == 'failure'
|
|
run: node scripts/setup.mjs --self-heal
|
|
|
|
- name: Run code repair agent
|
|
if: steps.build.outcome == 'failure'
|
|
env:
|
|
OLLAMA_HOST: ${{ vars.OLLAMA_HOST || 'http://localhost:11434' }}
|
|
run: node scripts/code-repair-agent.mjs --ci
|
|
|
|
- name: Re-check build after repair
|
|
id: rebuild
|
|
continue-on-error: true
|
|
run: npx tsc --noEmit
|
|
|
|
- name: Commit fixes
|
|
if: steps.build.outcome == 'failure' && steps.rebuild.outcome == 'success'
|
|
run: |
|
|
git config user.name "CRM Repair Bot"
|
|
git config user.email "bot@coastit.co.za"
|
|
git add -A
|
|
git diff --cached --quiet || git commit -m "[bot] Auto-repair build errors"
|
|
git push
|
|
|
|
- name: Build failed — report
|
|
if: steps.rebuild.outcome == 'failure'
|
|
run: |
|
|
echo "::error::Build still failing after auto-repair. Manual intervention required."
|
|
exit 1
|