{"record":{"id":"0ae47a85f809e9fc","repo":"windmill-labs/windmill","slug":"detected-require-bundler-inline-please-repla","errorCode":null,"errorMessage":"Detected `require 'bundler/inline'` - please replace with `require 'windmill/inline'`.\nYour Gemfile syntax will continue to work as-is.","messagePattern":"Detected `require 'bundler/inline'` - please replace with `require 'windmill/inline'`\\.\nYour Gemfile syntax will continue to work as-is\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"backend/windmill-worker/src/ruby_executor.rs","lineNumber":286,"sourceCode":"\npub async fn resolve<'a>(\n    job_id: &Uuid,\n    inner_content: &str,\n    mem_peak: &mut i32,\n    canceled_by: &mut Option<CanceledBy>,\n    job_dir: &str,\n    conn: &Connection,\n    worker_name: &str,\n    w_id: &str,\n) -> Result<String, Error> {\n    lazy_static::lazy_static! {\n        static ref BUNDLER_RE: Regex = Regex::new(r#\"(?m)^\\s*require\\s*['\"]bundler/inline['\"]\"#).unwrap();\n        static ref UNSUPPORTED_SOURCE_RE: Regex = Regex::new(r#\"(?m)(?<src>^\\s*source\\s*['\"]\\S+://(?<usr>\\S+):(?<passwd>\\S+)@.*['\"]\\s*\\n)\"#).unwrap();\n        static ref SOURCES_RE: Regex = Regex::new(r#\"\\S+://(?<creds>\\S+:\\S+)@(?<url>\\S*)\"#).unwrap();\n    }\n\n    if BUNDLER_RE.find(&inner_content).is_some() {\n        return Err(anyhow!(\n            \"Detected `require 'bundler/inline'` - please replace with `require 'windmill/inline'`.\nYour Gemfile syntax will continue to work as-is.\"\n        )\n        .into());\n    }\n\n    let gemfile: String = windmill_parser_ruby::parse_ruby_requirements(&inner_content)?\n        .lines()\n        .map(str::trim)\n        .filter(|s| !s.is_empty() && !s.starts_with('#'))\n        .join(\"\\n\");\n\n    if let Some(caps) = UNSUPPORTED_SOURCE_RE.captures(&gemfile) {\n        if let (Some(src_m), Some(usr_m), Some(passwd_m)) =\n            (caps.name(\"src\"), caps.name(\"usr\"), caps.name(\"passwd\"))\n        {\n            let cause = src_m\n                .as_str()","sourceCodeStart":268,"sourceCodeEnd":304,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/backend/windmill-worker/src/ruby_executor.rs#L268-L304","documentation":"Raised by the Ruby dependency resolver when the script requires 'bundler/inline' directly. Windmill injects its own compatible inline runner ('windmill/inline'); the stock bundler one would bypass the proxy that enforces dependency management. The message is instructive by design: gemfile block syntax keeps working unchanged, only the require line must be swapped.","triggerScenarios":"Thrown at backend/windmill-worker/src/ruby_executor.rs:286 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Replace `require 'bundler/inline'` with `require 'windmill/inline'`","Leave the gemfile block syntax as-is — it is fully supported","Re-run the job after the one-line require change"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}