Skip to content

ci(ui-merge): retire the two-repo pin gates — Spec Shape Gate, Console Pin Gate, prerelease-pin-watch #50165

ci(ui-merge): retire the two-repo pin gates — Spec Shape Gate, Console Pin Gate, prerelease-pin-watch

ci(ui-merge): retire the two-repo pin gates — Spec Shape Gate, Console Pin Gate, prerelease-pin-watch #50165

Triggered via pull request October 25, 2026 23:37
Status Failure
Total duration 17m 20s
Artifacts 2

ci.yml

on: pull_request
Matrix: dogfood
Matrix: test
Dogfood Verify CLI
0s
Dogfood Verify CLI
Matrix: test-ui
Test Core
32s
Test Core
Dogfood Regression Gate
28s
Dogfood Regression Gate
Fit to window
Zoom out
Zoom in

Annotations

21 errors, 20 warnings, and 40 notices
Type Check UI
Process completed with exit code 2.
Type Check UI
Cannot find module '@object-ui/i18n/locales' or its corresponding type declarations.
Type Check UI
Cannot find module or type declarations for side-effect import of '@object-ui/plugin-grid'.
Type Check UI
Cannot find module or type declarations for side-effect import of '@object-ui/plugin-dashboard'.
Type Check UI
Cannot find module or type declarations for side-effect import of '@object-ui/fields'.
Type Check UI
Cannot find module or type declarations for side-effect import of '@object-ui/components'.
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — command parity, every workflow section > declares every command a section names that its workflow does not run: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L3443
Error: ENOENT: no such file or directory, open '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:3443:23 ❯ sweepUnits scripts/__tests__/ci-cd-pipeline-doc.test.ts:3442:6 ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:3699:38 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' }
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — command parity, every workflow section > names every first-party command every workflow job actually runs: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L3443
Error: ENOENT: no such file or directory, open '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:3443:23 ❯ sweepUnits scripts/__tests__/ci-cd-pipeline-doc.test.ts:3442:6 ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:3683:42 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' }
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — command parity, every workflow section > finds commands on both sides — a silent parser would make every pin below vacuous: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L3443
Error: ENOENT: no such file or directory, open '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:3443:23 ❯ sweepUnits scripts/__tests__/ci-cd-pipeline-doc.test.ts:3442:6 ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:3644:19 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' }
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — command parity, every workflow section > reads one section per workflow — a shrunken enumeration is a broken reader: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L3640
AssertionError: these headings name a `.yml` that is not in .github/workflows/. The sweep would crash reading it; delete the section or restore the workflow.: expected [ 'changeset-release.yml', …(1) ] to deeply equal [] - Expected + Received - [] + [ + "changeset-release.yml", + "spec-range-floors.yml", + ] ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:3640:7
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — the four sections measured as parity defects > names no command outside the declared non-`run:` set: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L915
Error: ENOENT: no such file or directory, open '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' ❯ commandParity scripts/__tests__/ci-cd-pipeline-doc.test.ts:915:19 ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:2837:16 ❯ units scripts/__tests__/ci-cd-pipeline-doc.test.ts:2836:17 ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:2914:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' }
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — the four sections measured as parity defects > names every first-party command the four jobs actually run: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L915
Error: ENOENT: no such file or directory, open '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' ❯ commandParity scripts/__tests__/ci-cd-pipeline-doc.test.ts:915:19 ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:2837:16 ❯ units scripts/__tests__/ci-cd-pipeline-doc.test.ts:2836:17 ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:2893:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' }
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — the four sections measured as parity defects > documents every job these four workflows define: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L2859
Error: ENOENT: no such file or directory, open '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:2859:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/objectstack/objectstack/ui/.github/workflows/changeset-release.yml' }
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — workflow inventory > never names a workflow file that does not exist: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L406
AssertionError: ci-cd-pipeline.md documents changeset-release.yml, which is not in .github/workflows/: expected [ 'board-snapshot.yml', …(25) ] to include 'changeset-release.yml' ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:406:104
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — workflow inventory > gives every workflow in .github/workflows/ a row in the inventory table — in both directions: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L296
AssertionError: the "Workflow Inventory" table has rows for workflows that are NOT in .github/workflows/: - changeset-release.yml - spec-range-floors.yml Delete the row. A table that advertises a workflow the repository does not run is worse than no table — objectui#3451 measured that exact rot on this page's job table.: expected [ 'changeset-release.yml', …(1) ] to deeply equal [] - Expected + Received - [] + [ + "changeset-release.yml", + "spec-range-floors.yml", + ] ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:296:7
[unit] scripts/__tests__/check-pre-install-import-graph.test.ts > the real tree — every step objectui#6148 measured is still derived > finds no pre-install gate reaching a package: ui/scripts/__tests__/check-pre-install-import-graph.test.ts#L297
AssertionError: a script this repository runs before `pnpm install` needs `node_modules` to load: expected [ Array(1) ] to deeply equal [] - Expected + Received - [] + [ + "unresolved: scripts/objectstack-pin.mjs", + ] ❯ scripts/__tests__/check-pre-install-import-graph.test.ts:297:7
Test UI (9/16)
Process completed with exit code 1.
[unit] scripts/__tests__/workflow-cache-save-bound.test.ts > every workflow cache save is bounded and non-fatal (objectui#7048) > bounds the four jobs objectui#7956 derived a ceiling for: ui/scripts/__tests__/workflow-cache-save-bound.test.ts#L417
AssertionError: changeset-release.yml must still define a `lane:` job: expected undefined to be defined ❯ scripts/__tests__/workflow-cache-save-bound.test.ts:417:71
[unit] scripts/__tests__/workflow-cache-save-bound.test.ts > every workflow cache save is bounded and non-fatal (objectui#7048) > bounds the three jobs objectui#7270 found running under the 360-minute default: ui/scripts/__tests__/workflow-cache-save-bound.test.ts#L351
AssertionError: changeset-release.yml must still define a `release:` job: expected undefined to be defined ❯ scripts/__tests__/workflow-cache-save-bound.test.ts:351:71
Test UI (3/16)
Process completed with exit code 1.
[unit] packages/cli/src/__tests__/app-generator.test.ts > generated app manifests > pins the release lockstep that lets the platform range be derived: ui/packages/cli/src/__tests__/app-generator.test.ts#L745
Error: ENOENT: no such file or directory, open '/home/runner/work/objectstack/objectstack/ui/.changeset/config.json' ❯ packages/cli/src/__tests__/app-generator.test.ts:745:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/objectstack/objectstack/ui/.changeset/config.json' }
Lint UI: ui/packages/plugin-kanban/src/KanbanLanePaging.ts#L119
Unexpected any. Specify a different type
Lint UI: ui/packages/plugin-kanban/src/KanbanImpl.tsx#L261
Unexpected any. Specify a different type
Lint UI: ui/packages/plugin-kanban/src/InlineQuickAdd.tsx#L203
Unexpected any. Specify a different type
Lint UI: ui/packages/plugin-kanban/src/InlineQuickAdd.tsx#L202
Unexpected any. Specify a different type
Lint UI: ui/packages/plugin-kanban/src/InlineQuickAdd.tsx#L201
Unexpected any. Specify a different type
Lint UI: ui/packages/plugin-kanban/src/InlineQuickAdd.tsx#L57
Unexpected any. Specify a different type
Lint UI: ui/packages/plugin-kanban/src/InlineQuickAdd.tsx#L42
Unexpected any. Specify a different type
Lint UI: ui/packages/plugin-kanban/src/InlineQuickAdd.tsx#L41
Unexpected any. Specify a different type
Lint UI: ui/packages/plugin-kanban/src/InlineQuickAdd.tsx#L26
Unexpected any. Specify a different type
Lint UI: ui/packages/plugin-kanban/src/InlineQuickAdd.tsx#L22
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/inline-edit-polish-2572.spec.ts#L84
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/inline-edit-polish-2572.spec.ts#L63
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/helpers.ts#L16
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/helpers.ts#L15
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/grid-file-upload.spec.ts#L92
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/grid-file-upload.spec.ts#L36
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/global-setup.ts#L42
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/form-view-subforms.spec.ts#L83
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/form-view-subforms.spec.ts#L75
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/form-view-subforms.spec.ts#L20
Unexpected any. Specify a different type
filter
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Dogfood Regression Gate
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Lint UI
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test Core (7/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test Core (5/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test Core (6/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
🎭 Playwright Run Summary
23 skipped 55 passed (1.1m)
Build & E2E UI
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (4/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (4/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test Core (8/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (3/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (3/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Build Docs
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (2/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (2/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Type Check UI
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (1/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (1/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test Core
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (7/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (15/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (8/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Build Core)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Build Core
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (1/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (9/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (6/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Shard headroom
longest Test (shard 4/8): 10m37s = 212% of the 5-minute cap, -6m-37s of headroom; total 75m45s over 8 shard(s); at the 2-minute target per shard that is 38 shard(s) (the matrix has 8)
Shard headroom
Test (shard N/16): NOT MEASURED -- the jobs API could not be read (GITHUB_REPOSITORY is not set). This is a reading, not a gate; nothing failed because of it.
Test UI (14/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (4/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (5/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (16/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (12/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (13/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (10/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (11/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (2/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (3/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"

Artifacts

Produced during runtime
Name Size Digest
build-output
16.7 MB
sha256:af50237ee6a034b1f607e6feeab8b174bb85be4bada9a6c0cda809036e5294ed
test-core-timing-table
27 KB
sha256:d5b8163e6a46da083bb1c1be22d96f4be0bac8e2ce884b8b54bd4f1f4e418fcf