mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-25 00:01:55 +00:00
fix: resolve release CI failures (pypi bundle, flow serde test, cli windows) (#9595)
Three independent failures on the latest release commit: - pypi (Publish python-client): the `UserDraftOverlay`/`UserDraftItemKind` schema definitions were placed inside the `# -- INLINE START/END --` markers in openapi.yaml. The python-client build replaces that whole block with a wildcard import of `openflow.openapi.yaml`'s schemas, which do not define these two, so every `$ref` to them became unresolvable and the redocly bundle aborted. Move both definitions outside the markers — they are windmill-api schemas, not openflow-mirrored ones. - flows::tests::flowmodule_serde: the expected JSON still carried `"error_message": null` in three `stop_after_if` blocks, but StopAfterIf.error_message is now skipped when None. Drop those keys. - CLI Tests (test-windows): preservePendingScriptLocks mixed the OS path separator (SEP) into map keys that are always forward-slash normalized, so on Windows the multi-module suffix match and the lock-file lookup both failed. Use forward slashes consistently; this also fixes real Windows git-sync deploys, not just the test. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2109,8 +2109,7 @@ mod tests {
|
||||
},
|
||||
"stop_after_if": {
|
||||
"expr": "foo = 'bar'",
|
||||
"skip_if_stopped": false,
|
||||
"error_message": null
|
||||
"skip_if_stopped": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -2131,8 +2130,7 @@ mod tests {
|
||||
},
|
||||
"stop_after_if": {
|
||||
"expr": "previous.isEmpty()",
|
||||
"skip_if_stopped": false,
|
||||
"error_message": null
|
||||
"skip_if_stopped": false
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -2145,8 +2143,7 @@ mod tests {
|
||||
},
|
||||
"stop_after_if": {
|
||||
"expr": "previous.isEmpty()",
|
||||
"skip_if_stopped": false,
|
||||
"error_message": null
|
||||
"skip_if_stopped": false
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -21167,8 +21167,6 @@ components:
|
||||
# NOTE: Not so many generators and validators support this format:
|
||||
# $ref: "../../openflow.openapi.yaml#/components/schemas"
|
||||
# This is why it is better to inline each of schemas for better compat
|
||||
# Do not change next line. It is used by python-client for pre-processing
|
||||
# -- INLINE START --
|
||||
UserDraftOverlay:
|
||||
type: object
|
||||
description: |
|
||||
@@ -21244,6 +21242,8 @@ components:
|
||||
- trigger_nextcloud
|
||||
- trigger_google
|
||||
- trigger_github
|
||||
# Do not change next line. It is used by python-client for pre-processing
|
||||
# -- INLINE START --
|
||||
OpenFlow:
|
||||
$ref: "../../openflow.openapi.yaml#/components/schemas/OpenFlow"
|
||||
FlowValue:
|
||||
|
||||
@@ -2099,7 +2099,8 @@ export function preservePendingScriptLocks(
|
||||
): void {
|
||||
// A multi-module script keeps its metadata in the folder layout
|
||||
// `…__mod/script.{yaml,json}` instead of `….script.{yaml,json}`.
|
||||
const modMeta = getModuleFolderSuffix() + SEP + "script";
|
||||
// Map keys are always forward-slash normalized, on every platform.
|
||||
const modMeta = getModuleFolderSuffix() + "/script";
|
||||
for (const metaKey of Object.keys(remote)) {
|
||||
const isYaml =
|
||||
metaKey.endsWith(".script.yaml") || metaKey.endsWith(modMeta + ".yaml");
|
||||
@@ -2134,9 +2135,9 @@ export function preservePendingScriptLocks(
|
||||
|
||||
// Derive the lock-file key from the `!inline` reference itself, not from the
|
||||
// metadata path: a multi-module script keeps its lock at `…__mod/script.lock`,
|
||||
// which a `.script.yaml -> .script.lock` rewrite would miss. The reference is
|
||||
// always forward-slash; map keys use the OS separator.
|
||||
const lockKey = localLock.slice("!inline ".length).replaceAll("/", SEP);
|
||||
// which a `.script.yaml -> .script.lock` rewrite would miss. The reference and
|
||||
// the map keys are both forward-slash, so no separator rewrite is needed.
|
||||
const lockKey = localLock.slice("!inline ".length);
|
||||
if (local[lockKey] === undefined) continue; // committed lock already gone
|
||||
|
||||
remoteParsed["lock"] = localLock;
|
||||
|
||||
Reference in New Issue
Block a user