-
-
Notifications
You must be signed in to change notification settings - Fork 35.5k
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: Switch to Chromium beta channel #25504
Conversation
It also can be seen at https://omahaproxy.appspot.com/ -- take a look on the |
Ideally we should backport this commit to other affected branches -- those ones that have stale runs. Or maybe wait and hope that OmahaProxy developers will quickly fix the problem... |
And in any case we should, I think, cancel all current runs in progress. /ping @mrdoob |
Not sure how to report the problem to its developers... |
Do they recommend people to use that website for CI? |
Not sure -- but using OmahaProxy for getting snapshots' numbers is recommended in many guides, including Puppeteer's ones. We could report the problem to Puppeteer developers. |
@mrdoob Please cancel https://github.com/mrdoob/three.js/actions/runs/4171311708 and https://github.com/mrdoob/three.js/actions/runs/4171560439 runs. (All other current in-progress runs include 15-minute timeout so they aren't a problem.) |
Done! |
Thanks! Hopefully it will start working now. |
It seems it works! |
@mrdoob I've filed an issue at the Chromium bug tracker: https://crbug.com/1416025 Also, I have found in an another OmahaProxy-related issue there that they plan to turn OmahaProxy off completely -- not sure what we can replace it with... |
Maybe it's related to #25459? Does it work without |
That does fix it! I'll remove that flag. |
@epreston Seems like we can't use the ARM build yet. |
I'm trying to make a screenshot and get this now:
|
Not sure what it is -- it's seems like some random Node error when trying to spawn a process. |
I get the error consistently every time I try to make the screenshot. |
Found this issue: pa11y/pa11y#619. It seems from it that you should install Rosetta 2 so that it will work (using |
With With
But the screenshot is black. I'm using a mac Mini with M2 Pro. |
@Mugen87 Does it work with |
TBH, I don't want to install Rosetta 2 on this system. I would rather use a VM for making the screenshot. |
@LeviPesin we've known for a week that the same 5 tests fail on ARM. You said it is related to fonts. I'll finish the testing tonight and put the update in #25450 with the rest of the notes. |
If possible, can we move off of builds of chromium that are intended for chromium developers. Use the npm package ? |
We used stable Chromium until today when OmahaProxy broke. |
We use stable developer chromium is my understanding. |
Notice how the doob and the mugen are on 111. That's not released to public. |
We used stable Chromium until today (there is no such thing as "developer" Chromium -- Puppeteer downloads snapshots only from one source). Currently we are using beta Chromium because OmahaProxy broke after the release of stable Chromium 110.0.5481.97 (released on today's night). |
Chromium 111 has not been released. Look at their screenshots. They flipped stable on the dev builds to 111. You are using a build intended for chrome plugin developers looking to evaluate future releases. |
Yes, currently we are using beta channel. But until today we used stable channel. |
How is that possible if you were not using the chromium development setup ? But the instructions you have followed, the setup in place, is for people developing for chrome, not on it. |
Highly recommend switching to a NPM package that tracks stable releases. Then you can choose when and how chromium moves: not someone else's interpretation of stable. You also remove the "single point of success" when the proxy does not want to behave. NPM is fairly redundant. |
|
I don't want to derail your efforts. I'll leave you to it. I don't know the history and I know I'm missing something. Maybe the project is sponsored to be an early adaptor. From the outside, I have these questions. When you have time, explain it slowly to me. Why dynamically query the latest version ? Why not choose a release and move the dependency when it makes sense. What is currently in place puts you in the position to explore every day one release issue. |
Mainly because that using the |
That does not address the question. I understand wanting to use the version were we tell it "if and when" to download the chromium browser. " Lock the version into something (constant or package var) we can pick up in the config script. If you want to use browserfetcher, the API let's you specify the version: |
That's actually is a good idea. I will do that. |
Yeah man, the demo the current structure is based on is optimised for not having to update the demo every few months. It may not be what you want for production. I had another bit to add but I forgot it when I got distracted... back in 10 minutes. |
Check the screenshots from the other issue, my mac still says |
I remembered the other thing. Set a minimum node version in the "engines": {
"node": ">=16.19.0"
}, Of course, double check the value with what's used in CI. They should match. |
Let's break it down. You want to structure it so you pin to "released" versions. You can do this any way you like using the helper or installing a package.
People don't update their node distribution until they have to. That causes it's own issues and inconsistencies. It looks like the CI sets a version around 16. Require at least that for the project in the It might be best to force a browser language and locale (en-US) during testing. I haven't been able to reproduce it yet, but where font rendering is concerned I've noticed subtle differences when I switch between languages. There's notes against some of the development channels about the limits of translation: https://www.chromium.org/getting-involved/dev-channel/ |
Related issue: #25503 (comment)
Description
OmahaProxy started to return incorrect results for stable Chromium channel.