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

Puppeteer E2E test: Use new headless mode #25982

Merged
merged 7 commits into from
Jun 12, 2023

Conversation

LeviPesin
Copy link
Contributor

Related issue: #25979
(I cannot access my computer currently to do a force push so I just created a new branch from an older commit and made new PR)

@mrdoob
Copy link
Owner

mrdoob commented May 4, 2023

Reposting my comment from #25979

The issue is the difference of text rendering between all three OSes.

Then... How about we just test in one OS as we used to?

I have yet to see any benefit in testing on all OSes...

@LeviPesin
Copy link
Contributor Author

Wouldn't that confuse people if they try to (re)generate screenshot on their machine and then after commiting it see that it doesn't work because it renders differently on Linux? Currently we can see which screenshots render differently on which OSes.

@mrdoob
Copy link
Owner

mrdoob commented May 4, 2023

I guess we have to pick one...

  1. Making contributors generate screenshots using MacOS (and we maintainers can help)
  2. Continue battling with Puppeteer timeouts, text rendering issues, and waiting for CI tests that take 3x longer 😅

@LeviPesin
Copy link
Contributor Author

The MacOS is the worst OS for running CI tests -- currently Mac tests sometimes don't complete even in 20 minutes. If we are going to select one it's better to return to the Ubuntu.

@mrdoob
Copy link
Owner

mrdoob commented May 4, 2023

Does any of them support WebGPU yet? 🤔

@linbingquan
Copy link
Contributor

Chrome 113 supported WebGPU by default, I tested it can generated screenshot with WebGPU examples in my computer (windows 11) with puppeteer 20.1.0.

I tried commit this code in my repo to test, but it has some fail... TBH, I have no idea how to fix it.

P.S. puppeteer-core 20.1.0 use Chrome 113, but it does not have BrowserFetcher API...

@LeviPesin
Copy link
Contributor Author

I think the problem is not that Chrome doesn't support WebGPU (it does behind a flag) but that Chrome headless mode doesn't. Maybe in this new mode which should be more similar to headful it would...

@Mugen87
Copy link
Collaborator

Mugen87 commented May 5, 2023

(it does behind a flag)

To clarify: Since 113 enabling a flag isn't necessary anymore. WebGPU works right out of the box.

@LeviPesin
Copy link
Contributor Author

LeviPesin commented Jun 11, 2023

Can we merge this PR? I plan again to work on E2E (replacing BrowserFetcher with @browsers, retesting exceptions, tweaking timeouts, adding support for setInterval/setTimeout, maybe removing text completely for fixing few exceptions, trying to add support for WebGPU again) soon (maybe next week).
We can discuss whether we should keep three OSes or return to one (Ubuntu) in another issue.

@mrdoob mrdoob added this to the r154 milestone Jun 12, 2023
@mrdoob
Copy link
Owner

mrdoob commented Jun 12, 2023

Okay!

@mrdoob mrdoob merged commit c1c3625 into mrdoob:dev Jun 12, 2023
@LeviPesin LeviPesin deleted the update-to-new-headless branch June 12, 2023 18:55
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.

4 participants