fix: flow editor workspace script test use actual workspace script hash

This commit is contained in:
Ruben Fiszel
2025-04-16 00:44:49 +00:00
parent bc638967ea
commit c4ceb51bdb
5 changed files with 29 additions and 14 deletions
+2
View File
@@ -14048,6 +14048,8 @@ components:
type: string
path:
type: string
script_hash:
type: string
args:
$ref: "#/components/schemas/ScriptArgs"
language:
+6 -2
View File
@@ -3095,16 +3095,17 @@ struct CancelJob {
enum PreviewKind {
Code,
Identity,
Http,
Noop,
Bundle,
Tarbundle,
ScriptHash,
}
#[derive(Deserialize)]
struct Preview {
content: Option<String>,
kind: Option<PreviewKind>,
script_hash: Option<String>,
path: Option<String>,
args: Option<HashMap<String, Box<JsonRawValue>>>,
language: Option<ScriptLang>,
@@ -4851,7 +4852,10 @@ async fn run_preview_script(
Some(PreviewKind::Identity) => JobPayload::Identity,
Some(PreviewKind::Noop) => JobPayload::Noop,
_ => JobPayload::Code(RawCode {
hash: None,
hash: preview
.script_hash
.as_ref()
.and_then(|s| windmill_common::scripts::to_i64(s).ok()),
content: preview.content.unwrap_or_default(),
path: preview.path,
language: preview.language.unwrap_or(ScriptLang::Deno),
+16 -10
View File
@@ -2456,16 +2456,22 @@ async fn handle_code_execution_job(
_ => None,
};
arc_data =
preview.ok_or_else(|| Error::internal_err("expected preview".to_string()))?;
metadata = ScriptMetadata {
language: job.script_lang,
codebase,
envs: None,
schema: None,
schema_validator: None,
};
(arc_data.as_ref(), &metadata)
if codebase.is_none() && job.runnable_id.is_some() {
(arc_data, arc_metadata) =
cache::script::fetch(conn, job.runnable_id.unwrap()).await?;
(arc_data.as_ref(), arc_metadata.as_ref())
} else {
arc_data =
preview.ok_or_else(|| Error::internal_err("expected preview".to_string()))?;
metadata = ScriptMetadata {
language: job.script_lang,
codebase,
envs: None,
schema: None,
schema_validator: None,
};
(arc_data.as_ref(), &metadata)
}
}
JobKind::Script_Hub => {
let ContentReqLangEnvs { content, lockfile, language, envs, codebase, schema } =
@@ -68,7 +68,9 @@
script.content,
script.language,
args,
$flowStore?.tag ?? (val.tag_override ? val.tag_override : script.tag)
$flowStore?.tag ?? (val.tag_override ? val.tag_override : script.tag),
script.lock,
val.hash
)
} else if (val.type == 'flow') {
await testJobLoader?.abstractRun(() =>
@@ -126,7 +126,8 @@
lang: SupportedLanguage | undefined,
args: Record<string, any>,
tag: string | undefined,
lock?: string
lock?: string,
hash?: string
): Promise<string> {
// Reset in case we rerun job without reloading
scriptProgress = undefined