Skip to content

Commit 855b081

Browse files
Make weave_folder re-throw at end if any .jmd failed
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 #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>
1 parent a4a9639 commit 855b081

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

src/SciMLBenchmarks.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ function weave_folder(folder, build_list = (:script, :github))
8989

9090
weave_files = weave_files[sortperm(priorities; rev = true)]
9191

92+
failures = Tuple{String,String}[]
9293
for file in weave_files
9394
try
9495
@eval @subprocess begin
@@ -98,8 +99,10 @@ function weave_folder(folder, build_list = (:script, :github))
9899
catch e
99100
@show folder, file
100101
@error(e)
102+
push!(failures, (folder, file))
101103
end
102104
end
105+
isempty(failures) || error("weave_folder: $(length(failures)) file(s) failed: $failures")
103106
return
104107
end
105108

0 commit comments

Comments
 (0)