bitfab 0.64.5 → 0.64.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloudReplay.py +16 -3
- package/dist/{chunk-YT45ZRGM.js → chunk-DIOPUOV3.js} +6 -6
- package/dist/{chunk-YT45ZRGM.js.map → chunk-DIOPUOV3.js.map} +1 -1
- package/dist/{chunk-A3CCZ7Q5.js → chunk-FZ7SSJ7S.js} +39 -4
- package/dist/chunk-FZ7SSJ7S.js.map +1 -0
- package/dist/{chunk-4IRNG6KB.js → chunk-RYZO7Q3P.js} +6 -3
- package/dist/{chunk-4IRNG6KB.js.map → chunk-RYZO7Q3P.js.map} +1 -1
- package/dist/{chunk-QF7FLTXB.js → chunk-SZVZU3F6.js} +150 -3
- package/dist/chunk-SZVZU3F6.js.map +1 -0
- package/dist/{chunk-LRY4Y7HE.js → chunk-TAGNRN6F.js} +6 -3
- package/dist/chunk-TAGNRN6F.js.map +1 -0
- package/dist/{http-OGYWTBEP.js → http-QVLMJVZT.js} +2 -2
- package/dist/{http-6TAXWGVJ.js → http-YUNQFRQY.js} +2 -2
- package/dist/index.cjs +162 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -2
- package/dist/index.d.ts +14 -2
- package/dist/index.js +3 -3
- package/dist/node.cjs +162 -4
- package/dist/node.cjs.map +1 -1
- package/dist/node.js +3 -3
- package/dist/{replay-LOAD2DLO.js → replay-PN6MNLGK.js} +3 -3
- package/dist/replayCli.js +2 -2
- package/dist/seedCli.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-A3CCZ7Q5.js.map +0 -1
- package/dist/chunk-LRY4Y7HE.js.map +0 -1
- package/dist/chunk-QF7FLTXB.js.map +0 -1
- /package/dist/{http-6TAXWGVJ.js.map → http-QVLMJVZT.js.map} +0 -0
- /package/dist/{http-OGYWTBEP.js.map → http-YUNQFRQY.js.map} +0 -0
- /package/dist/{replay-LOAD2DLO.js.map → replay-PN6MNLGK.js.map} +0 -0
package/cloudReplay.py
CHANGED
|
@@ -33,6 +33,8 @@ API_VERSION = "2026-03-10"
|
|
|
33
33
|
REPLAY_COMMAND_ENV = "BITFAB_REPLAY_COMMAND"
|
|
34
34
|
SDK_LANGUAGE_ENV = "BITFAB_SDK_LANGUAGE"
|
|
35
35
|
CHECK_COMMAND_ENV = "BITFAB_REPLAY_CHECK"
|
|
36
|
+
EXECUTION_TARGET_ENV = "BITFAB_REPLAY_EXECUTION_TARGET"
|
|
37
|
+
HOSTED_EXECUTION_TARGET = "hosted"
|
|
36
38
|
REQUEST_VERSION = 3
|
|
37
39
|
OLDEST_DISPATCHED_VERSION = 2
|
|
38
40
|
RESULT_LINE = "bitfab-replay-result "
|
|
@@ -169,6 +171,9 @@ fullOutput (true) match --cloud-timeout and --cloud-full-output. version and id
|
|
|
169
171
|
optional: version names the request format (3 now, 2 still accepted), and id is the
|
|
170
172
|
execution UUID, which must match an execution_id input when the workflow has one.
|
|
171
173
|
|
|
174
|
+
The runner's job exits with the replay's exit code, so the Actions run fails when
|
|
175
|
+
the replay does. Traces that errored fail it only under --fail-on-error.
|
|
176
|
+
|
|
172
177
|
Follow a replay by the execution UUID it prints:
|
|
173
178
|
--cloud-watch ID | --cloud-status ID | --cloud-cancel ID | --cloud-cleanup ID
|
|
174
179
|
|
|
@@ -1727,12 +1732,18 @@ def annotate(result):
|
|
|
1727
1732
|
if result.get("stoppedEarly"):
|
|
1728
1733
|
message = f"Replay stopped early: {result['stoppedEarly']}"
|
|
1729
1734
|
elif result["exitCode"]:
|
|
1730
|
-
message = f"Replay exited {result['exitCode']}
|
|
1735
|
+
message = f"Replay exited {result['exitCode']}, so this job exits with it too"
|
|
1731
1736
|
else:
|
|
1732
1737
|
return
|
|
1733
1738
|
print(f"::warning title=Bitfab replay::{message}", flush=True)
|
|
1734
1739
|
|
|
1735
1740
|
|
|
1741
|
+
def runner_exit_code(result):
|
|
1742
|
+
if result.get("stoppedEarly"):
|
|
1743
|
+
return result["exitCode"] or 1
|
|
1744
|
+
return result["exitCode"]
|
|
1745
|
+
|
|
1746
|
+
|
|
1736
1747
|
def summary_markdown(result):
|
|
1737
1748
|
summary = result_summary(result["stdout"]) or {}
|
|
1738
1749
|
counts = summary.get("counts", {})
|
|
@@ -1767,6 +1778,7 @@ def run_command(directory, args, timeout, experiment, *, summarize=True):
|
|
|
1767
1778
|
with subprocess.Popen(
|
|
1768
1779
|
args,
|
|
1769
1780
|
cwd=directory,
|
|
1781
|
+
env={**os.environ, EXECUTION_TARGET_ENV: HOSTED_EXECUTION_TARGET},
|
|
1770
1782
|
stdout=output,
|
|
1771
1783
|
stderr=subprocess.PIPE,
|
|
1772
1784
|
stdin=subprocess.DEVNULL,
|
|
@@ -2200,8 +2212,9 @@ def main():
|
|
|
2200
2212
|
print_json(configure_secrets(argv[1:]))
|
|
2201
2213
|
return 0
|
|
2202
2214
|
if argv == ["--cloud-execute"]:
|
|
2203
|
-
|
|
2204
|
-
|
|
2215
|
+
result = execute()
|
|
2216
|
+
annotate(result)
|
|
2217
|
+
return runner_exit_code(result)
|
|
2205
2218
|
if "-h" in argv or "--help" in argv:
|
|
2206
2219
|
print(HELP, end="")
|
|
2207
2220
|
return 0
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
serializeValue,
|
|
18
18
|
toJsonSafe,
|
|
19
19
|
toJsonSafeReport
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-SZVZU3F6.js";
|
|
21
21
|
import {
|
|
22
22
|
BitfabError,
|
|
23
23
|
CONTENT_OFF_KEY,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
readEnv,
|
|
37
37
|
recordCallerTraceMetadata,
|
|
38
38
|
retireTraceMetadata
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-TAGNRN6F.js";
|
|
40
40
|
import {
|
|
41
41
|
__privateAdd,
|
|
42
42
|
__privateGet,
|
|
@@ -6253,7 +6253,7 @@ var Bitfab = class {
|
|
|
6253
6253
|
await runWithSeedContext({ traceId }, async () => target(...args));
|
|
6254
6254
|
} finally {
|
|
6255
6255
|
try {
|
|
6256
|
-
const { flushTraces: flushTraces2 } = await import("./http-
|
|
6256
|
+
const { flushTraces: flushTraces2 } = await import("./http-YUNQFRQY.js");
|
|
6257
6257
|
await flushTraces2(3e4);
|
|
6258
6258
|
} finally {
|
|
6259
6259
|
unrecorded = activeTraceStates.delete(traceId);
|
|
@@ -6312,7 +6312,7 @@ var Bitfab = class {
|
|
|
6312
6312
|
`Function is wrapped with trace function key '${wrappedKey}' but replay was called with '${traceFunctionKey}'. Pass matching keys, or pass the unwrapped function to replay it under the explicit key.`
|
|
6313
6313
|
);
|
|
6314
6314
|
}
|
|
6315
|
-
const { replay: doReplay } = await import("./replay-
|
|
6315
|
+
const { replay: doReplay } = await import("./replay-PN6MNLGK.js");
|
|
6316
6316
|
return doReplay(
|
|
6317
6317
|
this.httpClient,
|
|
6318
6318
|
this.serviceUrl,
|
|
@@ -6658,7 +6658,7 @@ async function seedFromRegistry(registry, pipeline, cases, options = {}) {
|
|
|
6658
6658
|
sessionId: seedCase.sessionId
|
|
6659
6659
|
})
|
|
6660
6660
|
);
|
|
6661
|
-
const { flushTraces: flushTraces2 } = await import("./http-
|
|
6661
|
+
const { flushTraces: flushTraces2 } = await import("./http-YUNQFRQY.js");
|
|
6662
6662
|
await flushTraces2(3e4);
|
|
6663
6663
|
return { pipeline, traceFunctionKey, traceIds };
|
|
6664
6664
|
}
|
|
@@ -6703,4 +6703,4 @@ export {
|
|
|
6703
6703
|
reseedFromRegistry,
|
|
6704
6704
|
seedFromRegistry
|
|
6705
6705
|
};
|
|
6706
|
-
//# sourceMappingURL=chunk-
|
|
6706
|
+
//# sourceMappingURL=chunk-DIOPUOV3.js.map
|