Skip to content

Commit e0e109f

Browse files
TMHSDigitalclaude
andcommitted
ci: report failed weekly content-smoke and plugin-install runs as issues
Both crons exist to catch drift nobody is watching for (upstream Blender API changes in snippets and skill blocks; a broken published plugin-dist install), yet a red scheduled run opened nothing. They now carry the same report-scheduled-failure job as blender-smoke and mcp-server, scoped to issues: write and to the schedule event only. Closes #538 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LpkeXRvikhJZSVGBFM91Dv Signed-off-by: TM Hospitality Strategies <TMHospitalityStrategies@gmail.com>
1 parent f5c1a3f commit e0e109f

2 files changed

Lines changed: 68 additions & 0 deletions

File tree

‎.github/workflows/content-smoke.yml‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,37 @@ jobs:
117117
set -euo pipefail
118118
xvfb-run -a "$BLENDER" --background --factory-startup --python-exit-code 1 \
119119
--python tests/smoke/run_content.py
120+
121+
report-scheduled-failure:
122+
# A red weekly cron otherwise goes unnoticed (#482, #538): open an issue,
123+
# or comment on the one already open.
124+
name: Report a failed weekly run
125+
needs: [content]
126+
if: >-
127+
always() && github.event_name == 'schedule' &&
128+
(contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled'))
129+
runs-on: ubuntu-latest
130+
timeout-minutes: 5
131+
permissions:
132+
issues: write
133+
steps:
134+
- name: Open or update the tracking issue
135+
env:
136+
GH_TOKEN: ${{ github.token }}
137+
GH_REPO: ${{ github.repository }}
138+
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
139+
run: |
140+
set -euo pipefail
141+
title="Weekly content smoke run failed"
142+
body="Scheduled run: $RUN_URL
143+
144+
A snippet, its falsifier, or a tagged SKILL.md block failed on a floating Blender point release: likely upstream API drift. Reproduce with tests/smoke/run_content.py --only NAME.
145+
146+
Opened by content-smoke.yml (report-scheduled-failure). Close it once a weekly run is green."
147+
num=$(gh issue list --state open --search "\"$title\" in:title" --json number --jq '.[0].number // empty')
148+
if [ -n "$num" ]; then
149+
gh issue comment "$num" --body "$body"
150+
echo "commented on #$num"
151+
else
152+
gh issue create --title "$title" --body "$body" --label "bug,ci,priority: high"
153+
fi

‎.github/workflows/plugin-install.yml‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,37 @@ jobs:
8383
claude plugin install blender-developer-tools@blender-developer-tools
8484
claude plugin install blender-live-session@blender-developer-tools
8585
claude plugin list
86+
87+
report-scheduled-failure:
88+
# A red weekly cron otherwise goes unnoticed (#482, #538): open an issue,
89+
# or comment on the one already open.
90+
name: Report a failed weekly run
91+
needs: [install]
92+
if: >-
93+
always() && github.event_name == 'schedule' &&
94+
(contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled'))
95+
runs-on: ubuntu-latest
96+
timeout-minutes: 5
97+
permissions:
98+
issues: write
99+
steps:
100+
- name: Open or update the tracking issue
101+
env:
102+
GH_TOKEN: ${{ github.token }}
103+
GH_REPO: ${{ github.repository }}
104+
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
105+
run: |
106+
set -euo pipefail
107+
title="Weekly plugin install check failed"
108+
body="Scheduled run: $RUN_URL
109+
110+
Building, validating or installing the plugin failed; on the weekly run this includes installing from the published plugin-dist branch, which is what users add.
111+
112+
Opened by plugin-install.yml (report-scheduled-failure). Close it once a weekly run is green."
113+
num=$(gh issue list --state open --search "\"$title\" in:title" --json number --jq '.[0].number // empty')
114+
if [ -n "$num" ]; then
115+
gh issue comment "$num" --body "$body"
116+
echo "commented on #$num"
117+
else
118+
gh issue create --title "$title" --body "$body" --label "bug,ci,priority: high"
119+
fi

0 commit comments

Comments
 (0)