Skip to content

Run the web elements test as a unit test, so the Publish tests pass on the packed packages - #112

Merged
jwrosewell merged 1 commit into
rcfrom
fix/web-elements-unit-test
Nov 14, 2026
Merged

jwrosewell merged 1 commit into
rcfrom
fix/web-elements-unit-test

Conversation

@jwrosewell

@jwrosewell jwrosewell commented Nov 14, 2026 •

Copy link
Copy Markdown
Contributor

Problem

The Nightly Pipeline dry run 43578169805, on a throwaway branch holding rc at 7539a0b with the drafts then approved merged in, fails one test in all eight Test jobs of its Publish stage, being Ubuntu, Ubuntu ARM, Windows and macOS on Node.js 22 and 24.

FAIL pipeline/fiftyone.pipeline.core/tests/webIntegrationElements.test.js
  ● web integration elements › keep the Sequence Element first when elements come from a configuration
    thrown: "Can't find ./tests/configTestFlowElement.js"

The test came with #105 and builds a Pipeline from tests/config.json, which names its element ./tests/configTestFlowElement.js. PipelineBuilder.buildFromConfiguration requires that name from the core package's own folder (pipelineBuilder.js lines 136 to 151 at a9a3bd2e). In this repository that folder holds tests. The Publish stage runs its tests against the packed packages, and since #106 the core package packs no tests folder.

The test is a unit test, and it ran against the packed packages because of its name. The integration-test script picks tests with --testPathPattern="(examples/|integration|location/)" (package.json line 26 at a9a3bd2e). Jest matches that pattern ignoring case (testPathPatternToRegExp.ts line 16 at Jest 29.7.0), so webIntegrationElements matched. The unit-test script leaves out integration with --testPathIgnorePatterns, which Jest matches with case (SearchSource.ts lines 82 to 89 at Jest 29.7.0), so the test ran in both sets.

Monday's Publish run would fail the same way, before it publishes anything. The Publish dry run of the same branch, 43578220634, did not show it, because it skipped the tests that the nightly ran.

What changed

pipeline/fiftyone.pipeline.core/tests/webIntegrationElements.test.js is renamed webElements.test.js, with no change to its content. It now runs only among the unit tests, which run in this repository, where the core package's folder holds tests.

core.test.js reads the same config.json, and its name has never matched the integration pattern.

Tests

  • Red, the nightly dry run above, on the test as rc has it.
  • Green, Publish dry run 43580433638 on version/node-monday-composite2, being the nightly's branch with this change and a throwaway commit that leaves out macOS and skips the performance comparison, with the tests run. All six Test jobs, Ubuntu, Ubuntu ARM and Windows on Node.js 22 and 24, ran the integration tests against the packed packages and passed 109 with 4 skipped, of 113. The nightly ran 168 there, and the renamed file holds the other 55. Package then dry-published all 16 packages at 4.5.103.

Full build

Run 43580463887 on tmp/pr-matrix-112, started by tools/pr-matrix.py without macOS. All 7 Setting 'PullRequestSha' lines give this head, a195c31, and Configure printed "Left out 2 macOS entries". Each of the six Build and Test jobs, Ubuntu, Ubuntu ARM and Windows on Node.js 22 and 24, passed 1,486 unit tests with 2 skipped and 96 integration tests with 4 skipped, and webElements.test.js passed among the unit tests.

macOS was left out of this draft's full build under the 9 November decision. The nightly above ran the same test on macOS, where it failed only for the reason above. The rc head is built with macOS before it merges into main.

What remains

Nothing for this change.

Jest matches the integration test pattern without regard to case, so
the word Integration in webIntegrationElements.test.js put this unit
test of PipelineBuilder among the integration tests. The Publish
workflow runs those against the packed packages, where the core
package no longer holds tests/configTestFlowElement.js, which the
test's configuration names, so the test failed there on every runner.
@jwrosewell
jwrosewell marked this pull request as ready for review November 14, 2026 10:36
@jwrosewell
jwrosewell merged commit 7004cc6 into rc Nov 14, 2026
2 checks passed
@jwrosewell
jwrosewell deleted the fix/web-elements-unit-test branch November 14, 2026 10:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant