Skip to content

Make weave_folder re-throw at end if any .jmd failed (make CI accurate) - #1591

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:fix/weave-folder-rethrow
May 22, 2026
Merged

Make weave_folder re-throw at end if any .jmd failed (make CI accurate)#1591
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:fix/weave-folder-rethrow

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Ignore until reviewed by @ChrisRackauckas.

What

weave_folder in src/SciMLBenchmarks.jl previously caught per-file ProcessFailedException and only @error'd it, then returned normally. As a result, benchmark.jl always exits 0 and the GHA job always goes green — even when one or more .jmd files actually failed.

This PR collects per-file failures and throws at the end of weave_folder if any happened. The 'continue past per-file failure' behaviour is preserved (so one bad .jmd doesn't block others from producing partial artifacts), but the job now exits non-zero if anything failed.

Why

Real example: ComplicatedPDE was merged green in #1580 even though Filament.jmd was failing with Package ADTypes not found in current path. Fix landed in follow-up #1589. Without this PR, future bugs of that shape will keep getting masked.

Expected impact

Master CI will start showing red for folders that have been silently failing. Known candidates as of this writing:

These should be addressed separately; this PR just makes CI tell the truth.

Diff

Three new lines in weave_folder:

  • failures = Tuple{String,String}[] before the loop
  • push!(failures, (folder, file)) inside the catch block
  • isempty(failures) || error(...) after the loop

🤖 Generated with Claude Code

Per-file ProcessFailedException was previously caught and only @error'd,
so benchmark.jl always exited 0 even when one or more .jmd files
actually failed — CI showed green despite real failures (e.g. the
ComplicatedPDE/Filament.jmd ADTypes missing-dep bug masked until SciML#1589).

Collect failures and throw at end. Per-file 'continue on failure'
behaviour is preserved (so one bad .jmd doesn't block others from
producing artifacts), but the job now exits non-zero if anything failed.

This will cause master CI to start showing red for folders that have
been silently failing — that's the intended behaviour; the goal is for
red CI to reflect real failures.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review May 22, 2026 14:13
@ChrisRackauckas
ChrisRackauckas merged commit 369e0da into SciML:master May 22, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants