Skip to content

Commit 5a15692

Browse files
clouddrove-cianmolnagpalhahirwar-cd
authored
feat(naoru-ai): add naoru AI failure diagnosis to core build/deploy workflows (#397)
Co-authored-by: Anmol <anmol@clouddrove.com> Co-authored-by: Himanshu Ahirwar <himanshu.ahirwar@clouddrove.com>
1 parent 3d51e96 commit 5a15692

5 files changed

Lines changed: 112 additions & 0 deletions

File tree

.github/workflows/cf-deploy.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ on:
7474
GITHUB:
7575
required: false
7676
description: 'GitHub token'
77+
NAORU_API_KEY:
78+
required: false
79+
description: 'API key for naoru AI failure diagnosis (OpenRouter provider by default).'
7780

7881
jobs:
7982
deploy-cf-stack:
@@ -115,4 +118,24 @@ jobs:
115118
no-fail-on-empty-changeset: "1"
116119
parameter-overrides: ${{ inputs.parameter-overrides }}
117120
capabilities: ${{ inputs.capabilities }}
121+
122+
naoru:
123+
name: 🩺 Diagnose failure (naoru)
124+
needs: [deploy-cf-stack]
125+
if: ${{ failure() }}
126+
runs-on: ubuntu-latest
127+
permissions:
128+
contents: read
129+
actions: read
130+
pull-requests: write
131+
steps:
132+
- name: 🩺 Diagnose with naoru
133+
env:
134+
NAORU_KEY: ${{ secrets.NAORU_API_KEY }}
135+
if: ${{ env.NAORU_KEY != '' }}
136+
uses: clouddrove/naoru@v0
137+
with:
138+
api-key: ${{ secrets.NAORU_API_KEY }}
139+
provider: openrouter
140+
model: openai/gpt-4o
118141
...

.github/workflows/ci.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,3 +371,23 @@ jobs:
371371
echo "- Total Documentation Files: $doc_count" >> $GITHUB_STEP_SUMMARY
372372
echo "" >> $GITHUB_STEP_SUMMARY
373373
echo "✅ All checks completed!"
374+
375+
naoru:
376+
name: 🩺 Diagnose failure (naoru)
377+
needs: [validate-yaml, lint-yaml, validate-workflows, security-scan, validate-docs, validate-naming, actionlint, generate-docs, check-deprecated, validate-permissions]
378+
if: ${{ failure() }}
379+
runs-on: ubuntu-latest
380+
permissions:
381+
contents: read
382+
actions: read
383+
pull-requests: write
384+
steps:
385+
- name: 🩺 Diagnose with naoru
386+
env:
387+
NAORU_KEY: ${{ secrets.NAORU_API_KEY }}
388+
if: ${{ env.NAORU_KEY != '' }}
389+
uses: clouddrove/naoru@v0
390+
with:
391+
api-key: ${{ secrets.NAORU_API_KEY }}
392+
provider: openrouter
393+
model: openai/gpt-4o

.github/workflows/docker-build-push.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ on:
4848
DOCKERHUB_PASSWORD:
4949
description: 'dockerhub password'
5050
required: false
51+
NAORU_API_KEY:
52+
required: false
53+
description: 'API key for naoru AI failure diagnosis (OpenRouter provider by default).'
5154

5255
jobs:
5356
build-image:
@@ -127,4 +130,24 @@ jobs:
127130
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
128131
docker build -t $images:$IMAGE_TAG $BUILD_PATH
129132
docker push $images:$IMAGE_TAG
133+
134+
naoru:
135+
name: 🩺 Diagnose failure (naoru)
136+
needs: [build-image]
137+
if: ${{ failure() }}
138+
runs-on: ubuntu-latest
139+
permissions:
140+
contents: read
141+
actions: read
142+
pull-requests: write
143+
steps:
144+
- name: 🩺 Diagnose with naoru
145+
env:
146+
NAORU_KEY: ${{ secrets.NAORU_API_KEY }}
147+
if: ${{ env.NAORU_KEY != '' }}
148+
uses: clouddrove/naoru@v0
149+
with:
150+
api-key: ${{ secrets.NAORU_API_KEY }}
151+
provider: openrouter
152+
model: openai/gpt-4o
130153
...

.github/workflows/helm-deploy.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ on:
108108
set-parameters:
109109
required: false
110110
description: 'Overriding the default values using --set flag'
111+
NAORU_API_KEY:
112+
required: false
113+
description: 'API key for naoru AI failure diagnosis (OpenRouter provider by default).'
111114
jobs:
112115
helm-action:
113116
runs-on: ubuntu-latest
@@ -223,4 +226,24 @@ jobs:
223226
if: ${{ inputs.uninstall == true }}
224227
run: |
225228
helm uninstall ${{ inputs.release-name }} -n ${{ inputs.namespace }}
229+
230+
naoru:
231+
name: 🩺 Diagnose failure (naoru)
232+
needs: [helm-action]
233+
if: ${{ failure() }}
234+
runs-on: ubuntu-latest
235+
permissions:
236+
contents: read
237+
actions: read
238+
pull-requests: write
239+
steps:
240+
- name: 🩺 Diagnose with naoru
241+
env:
242+
NAORU_KEY: ${{ secrets.NAORU_API_KEY }}
243+
if: ${{ env.NAORU_KEY != '' }}
244+
uses: clouddrove/naoru@v0
245+
with:
246+
api-key: ${{ secrets.NAORU_API_KEY }}
247+
provider: openrouter
248+
model: openai/gpt-4o
226249
...

.github/workflows/tf-workflow.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ on:
123123
SSH_PRIVATE_KEY:
124124
required: false
125125
description: 'Private SSH key to register in the SSH agent'
126+
NAORU_API_KEY:
127+
required: false
128+
description: 'API key for naoru AI failure diagnosis (OpenRouter provider by default).'
126129

127130
jobs:
128131
terraform-workflow:
@@ -413,3 +416,23 @@ jobs:
413416
else
414417
terraform destroy -auto-approve
415418
fi
419+
420+
naoru:
421+
name: 🩺 Diagnose failure (naoru)
422+
needs: [terraform-workflow]
423+
if: ${{ failure() }}
424+
runs-on: ubuntu-latest
425+
permissions:
426+
contents: read
427+
actions: read
428+
pull-requests: write
429+
steps:
430+
- name: 🩺 Diagnose with naoru
431+
env:
432+
NAORU_KEY: ${{ secrets.NAORU_API_KEY }}
433+
if: ${{ env.NAORU_KEY != '' }}
434+
uses: clouddrove/naoru@v0
435+
with:
436+
api-key: ${{ secrets.NAORU_API_KEY }}
437+
provider: openrouter
438+
model: openai/gpt-4o

0 commit comments

Comments
 (0)