From 2d9481adcc1d239050f8998cfd6b4e5749b36e02 Mon Sep 17 00:00:00 2001 From: Pyra <92104930+pyranota@users.noreply.github.com> Date: Tue, 4 Nov 2025 16:01:49 +0100 Subject: [PATCH] fix(ruby): propagate error correctly (#7046) Signed-off-by: pyranota --- backend/windmill-worker/src/ruby_executor.rs | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/backend/windmill-worker/src/ruby_executor.rs b/backend/windmill-worker/src/ruby_executor.rs index 4dbc5bcf8a..cd25663889 100644 --- a/backend/windmill-worker/src/ruby_executor.rs +++ b/backend/windmill-worker/src/ruby_executor.rs @@ -891,9 +891,23 @@ fn wrap(inner_content: &str) -> Result { require 'json' a = JSON.parse(File.read("args.json")) -res = main(SPREAD) -File.open("result.json", "w") do |file| - file.write(JSON.generate(res)) + +begin + res = main(SPREAD) + File.open("result.json", "w") do |file| + file.write(JSON.generate(res)) + end + +rescue => e + error = { + name: e.class.name, + stack: e.full_message, + message: e.message + } + File.open("result.json", "w") do |file| + file.write(JSON.generate(error)) + end + raise end "# .replace("INNER_CONTENT", inner_content)