mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-08 01:57:31 +01:00
feat(runner): add experimental two-way OpenAI Dot provider
This commit is contained in:
1 parent
cd4739aa9c
commit
bc1220336d
74 files changed
+8429
-230
No files matched your search
@@ -273,6 +273,7 @@ test("the real shard partition is duration-balanced", () => {
|
||||
const chatSuitePath = "server/src/__tests__/chat-channels.integration.test.ts";
|
||||
const nativeRunnerSuitePath =
|
||||
"server/src/services/native-runtime/native-codex-runner.integration.test.ts";
|
||||
const dotRunnerSuitePath = "server/src/__tests__/dot-runner.test.ts";
|
||||
|
||||
// Mirrors pr-trusted.yml (12 shards, called by pr.yml so GITHUB_WORKFLOW is
|
||||
// "PR"): the chat suite runs in its dedicated lanes and the cargo-dependent
|
||||
@@ -288,7 +289,8 @@ test("12 PR without-chat shards plus the dedicated chat and native-runner lanes
|
||||
const files = shards.flatMap((shard) => shard.selectedGeneralServerSuites);
|
||||
assert.ok(!files.includes(chatSuitePath));
|
||||
assert.ok(!files.includes(nativeRunnerSuitePath));
|
||||
assert.deepEqual([...files, chatSuitePath, nativeRunnerSuitePath].sort(), full.selectedGeneralServerSuites.sort());
|
||||
assert.ok(!files.includes(dotRunnerSuitePath));
|
||||
assert.deepEqual([...files, chatSuitePath, nativeRunnerSuitePath, dotRunnerSuitePath].sort(), full.selectedGeneralServerSuites.sort());
|
||||
assert.equal(new Set(files).size, files.length);
|
||||
const defaultRun = dryRunJson([], prEnv);
|
||||
assert.ok(defaultRun.generalServerSuiteCount === full.generalServerSuiteCount);
|
||||
@@ -307,6 +309,7 @@ for (const [caller, envOverrides] of [["Release", { GITHUB_WORKFLOW: "Release" }
|
||||
const files = shards.flatMap((shard) => shard.selectedGeneralServerSuites);
|
||||
assert.ok(!files.includes(chatSuitePath));
|
||||
assert.ok(files.includes(nativeRunnerSuitePath));
|
||||
assert.ok(files.includes(dotRunnerSuitePath));
|
||||
assert.deepEqual([...files, chatSuitePath].sort(), full.selectedGeneralServerSuites.sort());
|
||||
assert.equal(new Set(files).size, files.length);
|
||||
});
|
||||
@@ -316,6 +319,7 @@ test("the native-runner lane runs exactly the cargo-dependent vertical-slice sui
|
||||
const lane = dryRunJson(["--mode", "general", "--group", "general-server-native-runner"]);
|
||||
assert.deepEqual(lane.selectedGeneralServerSuites, [
|
||||
"server/src/services/native-runtime/native-codex-runner.integration.test.ts",
|
||||
dotRunnerSuitePath,
|
||||
]);
|
||||
});
|
||||
|
||||
|
||||
@@ -76,8 +76,10 @@ const chatSuite = "server/src/__tests__/chat-channels.integration.test.ts";
|
||||
// Inside the PR workflow's plain server shards, which carry no Rust cache,
|
||||
// that build was a ~4m30s cold compile of every third-party crate on each run
|
||||
// (277s of a 291s shard vitest step, actions run 35246999382, 2026-09-17).
|
||||
const nativeRunnerSuite =
|
||||
"server/src/services/native-runtime/native-codex-runner.integration.test.ts";
|
||||
const nativeRunnerSuites = [
|
||||
"server/src/services/native-runtime/native-codex-runner.integration.test.ts",
|
||||
"server/src/__tests__/dot-runner.test.ts",
|
||||
];
|
||||
// In the PR workflow (pr.yml, the caller of pr-trusted.yml — reusable
|
||||
// workflows inherit the caller's GITHUB_WORKFLOW), the last Verify Paperclip
|
||||
// Runner vitest shard runs the native-runner group instead, because those
|
||||
@@ -90,7 +92,7 @@ const nativeRunnerSuite =
|
||||
const prWorkflowName = "PR";
|
||||
const nativeRunnerSuiteRunsInRustCachedLane = process.env.GITHUB_WORKFLOW === prWorkflowName;
|
||||
const withoutChatExcludedSuites = nativeRunnerSuiteRunsInRustCachedLane
|
||||
? [chatSuite, nativeRunnerSuite]
|
||||
? [chatSuite, ...nativeRunnerSuites]
|
||||
: [chatSuite];
|
||||
const generalWorkspacesAGroupName = "general-workspaces-a";
|
||||
const generalWorkspacesBGroupName = "general-workspaces-b";
|
||||
@@ -383,7 +385,7 @@ function runGeneralGroup(routeTests, groupName, shardIndex = null, shardCount =
|
||||
}
|
||||
if (groupName === generalServerNativeRunnerGroupName) {
|
||||
runVitest(
|
||||
["--project", "@paperclipai/server", ...serializedServerVitestArgs, nativeRunnerSuite],
|
||||
["--project", "@paperclipai/server", ...serializedServerVitestArgs, ...nativeRunnerSuites],
|
||||
"native runner vertical-slice suite",
|
||||
);
|
||||
return;
|
||||
@@ -517,7 +519,7 @@ if (options.dryRun) {
|
||||
generalServerSuiteCount: generalServerTestFiles.length,
|
||||
selectedGeneralServerSuites:
|
||||
options.mode === generalModeName && options.group === generalServerNativeRunnerGroupName
|
||||
? [nativeRunnerSuite]
|
||||
? nativeRunnerSuites
|
||||
: options.mode === generalModeName &&
|
||||
[generalServerGroupName, generalServerWithoutChatGroupName].includes(options.group) &&
|
||||
options.shardCount !== null
|
||||
|
||||
Reference in new issue
Block a user