Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove the streamqueue dependency #18483

Merged
merged 1 commit into from
Jul 23, 2024

Conversation

timvandermeij
Copy link
Contributor

@timvandermeij timvandermeij commented Jul 22, 2024

The streamqueue dependency is only used for the test targets in the Gulpfile to make sure that the test types are run in series. This is done by modelling the test processes as readable streams and then having streamqueue combine them into a single readable stream for Gulp that processes the inner readable streams in series (in contrast to the ordered-read-streams dependency which is very similar but processes the inner streams in parallel).

However, modelling the test processes as readable streams is a bit odd because we're not actually streaming any data as one might expect. Instead, we only use them to signal test process completion/abortion.

Fortunately nowadays, with modern Gulp versions, we don't need readable streams and streamqueue anymore because we can achieve the same result with simple asynchronous functions that can be passed to e.g. gulp.series() calls. Note that we already do this in various places, and overall it should be a better fit for test process invocations.

I have run all affected test targets locally to confirm that they still work and run the test types in series like before. Moreover, I have triggered the error paths to make sure those didn't change either.

Fixes #18474.

The `streamqueue` dependency is only used for the test targets in the
Gulpfile to make sure that the test types are run in series. This is
done by modelling the test processes as readable streams and then having
`streamqueue` combine them into a single readable stream for Gulp that
processes the inner readable streams in series (in contrast to the
`ordered-read-streams` dependency which is very similar but processes
the inner streams in parallel).

However, modelling the test processes as readable streams is a bit odd
because we're not actually streaming any data as one might expect.
Instead, we only use them to signal test process completion/abortion.

Fortunately nowadays, with modern Gulp versions, we don't need readable
streams and `streamqueue` anymore because we can achieve the same result
with simple asynchronous functions that can be passed to e.g.
`gulp.series()` calls. Note that we already do this in various places,
and overall it should be a better fit for test process invocations.
@timvandermeij
Copy link
Contributor Author

/botio test

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Linux m4)


Received

Command cmd_test from @timvandermeij received. Current queue size: 0

Live output at: http://54.241.84.105:8877/afcc203273b9d7c/output.txt

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Windows)


Received

Command cmd_test from @timvandermeij received. Current queue size: 0

Live output at: http://54.193.163.58:8877/a331256530fa111/output.txt

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Linux m4)


Failed

Full output at http://54.241.84.105:8877/afcc203273b9d7c/output.txt

Total script time: 27.78 mins

  • Unit tests: Passed
  • Integration Tests: Passed
  • Regression tests: FAILED
  errors: 741
  different ref/snapshot: 10

Image differences available at: http://54.241.84.105:8877/afcc203273b9d7c/reftest-analyzer.html#web=eq.log

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Windows)


Failed

Full output at http://54.193.163.58:8877/a331256530fa111/output.txt

Total script time: 44.21 mins

  • Unit tests: Passed
  • Integration Tests: Passed
  • Regression tests: FAILED
  different ref/snapshot: 3

Image differences available at: http://54.193.163.58:8877/a331256530fa111/reftest-analyzer.html#web=eq.log

@timvandermeij
Copy link
Contributor Author

/botio-linux browsertest

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Linux m4)


Received

Command cmd_browsertest from @timvandermeij received. Current queue size: 0

Live output at: http://54.241.84.105:8877/df096da383831f7/output.txt

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Linux m4)


Failed

Full output at http://54.241.84.105:8877/df096da383831f7/output.txt

Total script time: 20.24 mins

  • Regression tests: FAILED
  different ref/snapshot: 16
  different first/second rendering: 2

Image differences available at: http://54.241.84.105:8877/df096da383831f7/reftest-analyzer.html#web=eq.log

Copy link
Collaborator

@Snuffleupagus Snuffleupagus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing a dependency is even better than replacing it with another one :-)

r=me, thank you!

@timvandermeij timvandermeij merged commit 1c65ad3 into mozilla:master Jul 23, 2024
9 checks passed
@timvandermeij timvandermeij deleted the streamqueue branch July 23, 2024 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade streamqueue to version 2.0.0
3 participants