Skip to content

Tweaks to WASM CI for sparse strips#1680

Merged
xStrom merged 1 commit into
mainfrom
laurenz/update_ci
May 28, 2026
Merged

Tweaks to WASM CI for sparse strips#1680
xStrom merged 1 commit into
mainfrom
laurenz/update_ci

Conversation

@LaurenzV
Copy link
Copy Markdown
Collaborator

This PR introduces two changes to our CI for testing sparse strips in CI:

  1. Instead of having one single job, we split them up into three jobs: The first job for checking the examples, the second for running the tests without WASM and the third for running the tests with WASM. This cuts the "bottleneck" time for this test specifically from around 13 minutes to around 6-7 minutes. This won't have an immediate effect since the overall bottleneck is still Windows CI, but it's an easy change and will likely be worth it in the future once we reduce the time of Windows CI.

  2. Use MacOS-based runners instead of Ubuntu for running the WASM tests. When working on vello_hybrid: Make probe more asynchronous #1671, I have encountered the problem that the probe test does not pass anymore due to some weird timeout.

image

I've spent more than a day trying to debug this now, but have not gotten further than concluding that for some reason, invoking asynchronous methods like setTimeout or requestAnimationFrame causes those timeouts to occur, regardless of what happens in there (even when removing the actual probing, it still happened when I invoked those methods). Locally everything works fine, and apparently it also works fine when switching to a MacOS-based runners. I'm fairly certain that this is some weirdness with the Github CI runners and not with probing failing completely on Linux (though I admittedly haven't tested it since I don't have a linux laptop), so I think this is the easiest thing to do for now. I'd also like to get to the bottom of this, but I've already spent more time on this than I can really justify, so I hope that this is fine doing for now.

Copy link
Copy Markdown
Contributor

@ajakubowicz-canva ajakubowicz-canva left a comment

Choose a reason for hiding this comment

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

Nice!

Comment thread .github/workflows/ci.yml
Comment on lines +326 to +328
# We use MacOS because for some reason the Ubuntu-based runners
# have trouble handling things like `requestAnimationFrame` or
# `setTimeout` in our testing code.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This magic is quite unfortunate but I agree that being pragmatic makes sense and it's not worth burning all the time on this.

@LaurenzV LaurenzV enabled auto-merge May 28, 2026 13:25
@LaurenzV LaurenzV disabled auto-merge May 28, 2026 13:25
@LaurenzV
Copy link
Copy Markdown
Collaborator Author

@raphlinus @DJMcNab I think I will need one of you again to merge this to circumvent the bug where CI endlessly waits for a check that isn't going to happen 😦

@xStrom
Copy link
Copy Markdown
Member

xStrom commented May 28, 2026

That's not a bug, it's a feature. The old test job is marked as mandatory and removing it from the CI script doesn't remove that requirement.

Anyway, I removed that requirement and will mark these new ones as required.

@xStrom xStrom added this pull request to the merge queue May 28, 2026
Merged via the queue into main with commit 59dba3c May 28, 2026
19 checks passed
@xStrom xStrom deleted the laurenz/update_ci branch May 28, 2026 14:48
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.

3 participants