Commit 3ffa4b2
authored
fix(workflows): improve robustness of impl-generate and impl-merge (#1308)
## Summary
Fixes several workflow issues discovered during batch processing of
spec-ready issues.
### Fix #1: Branch-Not-Found Errors
**Problem:** `fatal: 'origin/implementation/{spec}/{library}' is not a
commit` errors when workflow tries to checkout a non-existent remote
branch.
**Solution:** Check if remote branch exists before checkout, fall back
to creating fresh branch from main.
### Fix #2: Duplicate Labels
**Problem:** Issues accumulate both `impl:X:pending` and `impl:X:failed`
labels when generation fails.
**Solution:** Failure handler removes both `generate:X` and
`impl:X:pending` when marking as failed.
### Fix #3: Auto-Close with Failures
**Problem:** Issues with 8 done + 1 failed stay OPEN because auto-close
only triggers on 9 done.
**Solution:** Close when `done + failed = 9`, with appropriate summary
(shows which libraries failed).
### Fix #4: Generation Failure Tracking
**Problem:** When `impl-generate` fails (no plot.png), no PR is created
→ no review → no repair → library stays `pending` forever.
**Solution:** Track generation failures and mark as `impl:X:failed`
after 3 consecutive failures. Posts comment explaining the library may
not support this plot type.
## Files Changed
- `.github/workflows/impl-generate.yml` - Fixes #1, #2, #4
- `.github/workflows/impl-merge.yml` - Fix #3
## Testing
- YAML syntax validated
- Logic reviewed against observed failure patterns1 parent 02e7353 commit 3ffa4b2
2 files changed
+98
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
342 | 342 | | |
343 | 343 | | |
344 | 344 | | |
345 | | - | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
346 | 354 | | |
347 | 355 | | |
348 | 356 | | |
| |||
613 | 621 | | |
614 | 622 | | |
615 | 623 | | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
248 | | - | |
| 248 | + | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
253 | 261 | | |
254 | 262 | | |
255 | 263 | | |
256 | | - | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
257 | 286 | | |
258 | | - | |
259 | | - | |
260 | | - | |
| 287 | + | |
261 | 288 | | |
262 | | - | |
| 289 | + | |
263 | 290 | | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
| 291 | + | |
275 | 292 | | |
276 | 293 | | |
277 | 294 | | |
278 | 295 | | |
279 | 296 | | |
280 | | - | |
| 297 | + | |
281 | 298 | | |
282 | 299 | | |
283 | 300 | | |
| |||
0 commit comments