Skip to content

Commit f2aa0c9

Browse files
chore(ci): refresh the Test Core shard-timings dataset (#21826)
Refreshes `scripts/test-shard-timings.json`, the balancing input for the Test Core shard split. Opened automatically by `.github/workflows/shard-timings-refresh.yml`. Every byte came out of `scripts/measure-test-shard-timings.mjs`; nothing here was hand-edited, and no bound, timeout or matrix entry was touched. ## Source Measured across 1 accumulated run(s) of the HOURLY `schedule` run of CI on `main` — the full-battery run (#16467). A `push` run on `main` is affected-only and is not a measurement of the workspace, so no push run feeds this file. No single green run measures the whole workspace either — turbo's cache is namespaced per shard and only main pushes write it, so a package whose inputs have not changed is a HIT and the generator refuses hits rather than recording a replay as a duration. Runs are therefore accumulated, each fenced by its own `--run` group, until every package the committed dataset holds is measured again; a package seen in several of them gets the median of those observations. - https://github.com/objectstack-ai/objectstack/actions/runs/37262126122 - Newest run in the set: `37262126122`, commit `75ddcd1b41e74823b7bb9f3fe9e159a189fa2a91` — the date this refresh carries. - Every run above had all six `Test Core (N/6)` jobs conclude `success` with its six run-summary artifacts still retained; runs that were cancelled, failed or had lost their artifacts were rejected by name in the log before any of these were used. All 72 package weights were measured in these runs; nothing was carried. ⚠️ This PR references #16173 and #16222 but does NOT carry a closing keyword for them, because a weekly lane cannot know which cards a given run ought to retire. If this is the first refresh to land, retire those two by hand as part of merging it. ## Measured per-shard suite time on the newest run in the set ``` 1: 759s | 2: 2100s | 3: 844s | 4: 647s | 5: 802s | 6: 796s ``` ## Predicted bins, before and after ``` BEFORE partition-test-shards: self-test OK (72 measured packages -> 72 shard items, 6 shards, max/mean 1.12x <= 1.3x, floor 1391s, bins 1391/1208/1206/1208/1208/1208s, file-level slices: none) AFTER partition-test-shards: self-test OK (72 measured packages -> 72 shard items, 6 shards, max/mean 1.04x <= 1.3x, floor 1703s, bins 1703/1615/1615/1615/1617/1616s, file-level slices: none) ``` ## No checks will start on this PR by themselves It was opened with the Actions `GITHUB_TOKEN`, and GitHub's recursion guard means a PR opened that way triggers no workflow runs. Push any commit to the branch, or close and reopen the PR, to start CI. Refs #16464, #16173, #16222. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 9cc2c79 commit f2aa0c9

1 file changed

Lines changed: 81 additions & 83 deletions

File tree

‎scripts/test-shard-timings.json‎

Lines changed: 81 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,95 @@
11
{
22
"note": "GENERATED by scripts/measure-test-shard-timings.mjs -- do not hand-edit. Per-package `turbo run test` durations in seconds, the balancing input for the Test Core shard split (scripts/partition-test-shards.mjs). See `provenance.refresh` to regenerate. Every weight is a real measurement: the ones in `carriedOver` were measured by an earlier refresh and re-confirmed unchanged by a turbo cache HIT in this one.",
33
"provenance": {
4-
"measuredAt": "2026-09-28",
4+
"measuredAt": "2026-10-05",
55
"summaries": [
6-
"3JwWrbZiCOcylFiiB35ZkJOifXv.json",
7-
"3JwWH46mvzYLLstazVgnThFBQF7.json",
8-
"3JwWDxW3nyzFgBFRPzsbWsJLCTc.json",
9-
"3JwWyHOCxXLi8SczV1jbpNWxDO8.json",
10-
"3JwWhAnQd01tDSRm9u9uKPsw0Ql.json",
11-
"3JwW4l346RhKYwvosEmVvhQNPVz.json",
12-
"3JwWoVaaflhUD2yWSIIt4evAFhy.json",
13-
"3JwWCoR24UAY40DcD8bYlUWcdn0.json"
6+
"3KGBaktKLrk00zN3tt13JyVppLz.json",
7+
"3KGEGu9v5wH9f7w7TB7ZFx1xsiA.json",
8+
"3KGBg5uv4POK2u7kvXMH9fNlKy3.json",
9+
"3KGBkKTJWVxSHqLCHhlOAEMK5vX.json",
10+
"3KGBdkV5uhJPr3SiUm8czuy8UyT.json",
11+
"3KGBMZv5krSmsEe6KIoyLnDzcs1.json"
1412
],
1513
"runs": [
16-
"36380128221"
14+
"37262126122"
1715
],
1816
"mergeRule": "median across runs; a file-sharded package is summed from its slices WITHIN one run first, and a run that cannot assemble every slice contributes no sample for it; a package not measured in this pass keeps its previous weight ONLY when a turbo cache HIT witnesses that its inputs are unchanged, and every such package is named in `carriedOver`",
1917
"refresh": "node scripts/measure-test-shard-timings.mjs [--run <id>] <run-summary.json>... --merge-into scripts/test-shard-timings.json --out scripts/test-shard-timings.json (summaries: the `test-core-run-summary-<n>-of-6` artifacts of any green run, or a local `pnpm exec turbo run test --concurrency=4 --summarize`. ⚠ ONE RUN COVERS ONLY 2-52 of ~71 packages depending on cache warmth, so feed SEVERAL runs -- a `--run <id>` before each run's summaries is REQUIRED, so a sliced package is assembled per run and then medianed like every other package -- and `--merge-into` to carry the cache-hit remainder. `.github/workflows/shard-timings-refresh.yml` does all of this weekly.)"
2018
},
21-
"secondsPerTestFileFallback": 2.132,
19+
"secondsPerTestFileFallback": 2.454,
2220
"packages": {
23-
"@objectstack/cli": 733.33,
24-
"@objectstack/client": 115.44,
25-
"@objectstack/client-react": 7.36,
26-
"@objectstack/cloud-connection": 77.22,
27-
"@objectstack/connector-mcp": 24.51,
28-
"@objectstack/connector-openapi": 28.33,
29-
"@objectstack/connector-rest": 26.56,
30-
"@objectstack/connector-slack": 26.06,
31-
"@objectstack/core": 57.09,
32-
"@objectstack/downstream-contract": 15.41,
33-
"@objectstack/driver-memory": 104.62,
34-
"@objectstack/driver-mongodb": 66.07,
35-
"@objectstack/driver-sql": 283.54,
36-
"@objectstack/driver-sqlite-wasm": 69.46,
37-
"@objectstack/driver-turso": 137.33,
38-
"@objectstack/embedder-openai": 4.45,
39-
"@objectstack/example-crm": 30.95,
40-
"@objectstack/example-embed-objectql": 32.7,
41-
"@objectstack/example-showcase": 59.76,
42-
"@objectstack/example-todo": 35.3,
43-
"@objectstack/formula": 34.02,
44-
"@objectstack/hono": 31.26,
45-
"@objectstack/http-conformance": 67.43,
46-
"@objectstack/knowledge-memory": 3.54,
47-
"@objectstack/knowledge-ragflow": 2.97,
48-
"@objectstack/lint": 135.82,
49-
"@objectstack/mcp": 44.63,
50-
"@objectstack/metadata": 69.25,
51-
"@objectstack/metadata-core": 19.23,
52-
"@objectstack/metadata-fs": 36.24,
53-
"@objectstack/metadata-protocol": 341.53,
54-
"@objectstack/objectql": 359.61,
55-
"@objectstack/observability": 2.72,
56-
"@objectstack/organizations": 43.6,
57-
"@objectstack/platform-objects": 74.5,
58-
"@objectstack/plugin-approvals": 105.27,
59-
"@objectstack/plugin-audit": 50.91,
60-
"@objectstack/plugin-auth": 189.18,
61-
"@objectstack/plugin-dev": 41.7,
62-
"@objectstack/plugin-email": 49.79,
63-
"@objectstack/plugin-hono-server": 57.28,
64-
"@objectstack/plugin-pinyin-search": 38.77,
65-
"@objectstack/plugin-security": 278.19,
66-
"@objectstack/plugin-sharing": 98.82,
67-
"@objectstack/plugin-webhooks": 43.56,
68-
"@objectstack/rest": 240.77,
69-
"@objectstack/runtime": 434.86,
70-
"@objectstack/sdui-parser": 4.54,
71-
"@objectstack/service-analytics": 212.43,
72-
"@objectstack/service-automation": 235.74,
73-
"@objectstack/service-cache": 2.28,
74-
"@objectstack/service-cluster": 16.86,
75-
"@objectstack/service-cluster-redis": 15.5,
76-
"@objectstack/service-datasource": 61.84,
77-
"@objectstack/service-i18n": 19.78,
78-
"@objectstack/service-job": 17.67,
79-
"@objectstack/service-knowledge": 24.72,
80-
"@objectstack/service-messaging": 117.1,
81-
"@objectstack/service-package": 20.62,
82-
"@objectstack/service-queue": 46.31,
83-
"@objectstack/service-realtime": 17.52,
84-
"@objectstack/service-settings": 73.41,
85-
"@objectstack/service-sms": 20.24,
86-
"@objectstack/service-storage": 85.72,
87-
"@objectstack/spec": 1391.38,
88-
"@objectstack/trigger-api": 2.47,
89-
"@objectstack/trigger-record-change": 36.26,
90-
"@objectstack/trigger-schedule": 29.01,
91-
"@objectstack/types": 21.2,
92-
"@objectstack/verify": 81.38,
93-
"@objectstack/vitest-filter-preflight": 22.23,
94-
"create-objectstack": 22.85
21+
"@objectstack/cli": 1702.69,
22+
"@objectstack/client": 193.74,
23+
"@objectstack/client-react": 6.04,
24+
"@objectstack/cloud-connection": 125.53,
25+
"@objectstack/connector-mcp": 23.43,
26+
"@objectstack/connector-openapi": 41.62,
27+
"@objectstack/connector-rest": 31.03,
28+
"@objectstack/connector-slack": 33.79,
29+
"@objectstack/core": 74.61,
30+
"@objectstack/downstream-contract": 18.27,
31+
"@objectstack/driver-memory": 89.95,
32+
"@objectstack/driver-mongodb": 91.39,
33+
"@objectstack/driver-sql": 300.2,
34+
"@objectstack/driver-sqlite-wasm": 51.38,
35+
"@objectstack/driver-turso": 139.8,
36+
"@objectstack/embedder-openai": 7.91,
37+
"@objectstack/example-crm": 21.59,
38+
"@objectstack/example-embed-objectql": 23.46,
39+
"@objectstack/example-showcase": 79.85,
40+
"@objectstack/example-todo": 24.65,
41+
"@objectstack/formula": 32.87,
42+
"@objectstack/hono": 33.96,
43+
"@objectstack/http-conformance": 74.92,
44+
"@objectstack/knowledge-memory": 2.87,
45+
"@objectstack/knowledge-ragflow": 4,
46+
"@objectstack/lint": 117.21,
47+
"@objectstack/mcp": 74.01,
48+
"@objectstack/metadata": 68.37,
49+
"@objectstack/metadata-core": 18.5,
50+
"@objectstack/metadata-fs": 34.25,
51+
"@objectstack/metadata-protocol": 566.45,
52+
"@objectstack/objectql": 521.33,
53+
"@objectstack/observability": 4,
54+
"@objectstack/organizations": 63.83,
55+
"@objectstack/platform-objects": 60.69,
56+
"@objectstack/plugin-approvals": 160.49,
57+
"@objectstack/plugin-audit": 81.67,
58+
"@objectstack/plugin-auth": 364.98,
59+
"@objectstack/plugin-dev": 58.55,
60+
"@objectstack/plugin-email": 79.79,
61+
"@objectstack/plugin-hono-server": 44.71,
62+
"@objectstack/plugin-pinyin-search": 24.46,
63+
"@objectstack/plugin-security": 369.42,
64+
"@objectstack/plugin-sharing": 116.36,
65+
"@objectstack/plugin-webhooks": 48.81,
66+
"@objectstack/rest": 521.16,
67+
"@objectstack/runtime": 458.54,
68+
"@objectstack/sdui-parser": 5.08,
69+
"@objectstack/service-analytics": 306.5,
70+
"@objectstack/service-automation": 362.09,
71+
"@objectstack/service-cache": 2.32,
72+
"@objectstack/service-cluster": 17.42,
73+
"@objectstack/service-cluster-redis": 26.33,
74+
"@objectstack/service-datasource": 54.96,
75+
"@objectstack/service-i18n": 17.97,
76+
"@objectstack/service-job": 17.17,
77+
"@objectstack/service-knowledge": 27.94,
78+
"@objectstack/service-messaging": 102.96,
79+
"@objectstack/service-package": 21.9,
80+
"@objectstack/service-queue": 39.82,
81+
"@objectstack/service-realtime": 14.26,
82+
"@objectstack/service-settings": 74,
83+
"@objectstack/service-sms": 11.5,
84+
"@objectstack/service-storage": 96.24,
85+
"@objectstack/spec": 1134.86,
86+
"@objectstack/trigger-api": 1.99,
87+
"@objectstack/trigger-record-change": 56.08,
88+
"@objectstack/trigger-schedule": 29.74,
89+
"@objectstack/types": 31.42,
90+
"@objectstack/verify": 194.43,
91+
"@objectstack/vitest-filter-preflight": 26.11,
92+
"create-objectstack": 21.11
9593
},
9694
"skippedAsCached": [],
9795
"skippedIncompleteSlices": [],

0 commit comments

Comments
 (0)