Automatic regression testing with CI#18574
Conversation
|
2do list:
|
|
Very cool, out of curiosity, is it the same approach (determinist timers and so on) injection other projects such as the model viewer? https://modelviewer.dev/ |
|
@NicolasRannou probably not, but if they fix issue with offscreen-canvas or video tag we can take approach from there. P.S. they doesn't have any randomness or timer hooks, I was inspired from gl-bench, this issue from Greggman and Miku-Miku from Takahirox. |
|
This PR has already 42 commits. Can you please force-push a single commit that contains all changes? |
|
Yep. |
|
I done different tests but after force push it gone:
This PR ready for merge. Also this similar settings just works in Travis under OS Windows: Note that I am not changed contribution guide in Wiki page. |
|
@mrdoob actually this PR ready for merge, but need a feedback. Especially I am confused about folder naming Code is complicated and exists small bug that appeared in 1/10 of tests in Travis under Linux but in most of the cases it's work, and this is better than nothing I guess. |
Oh, I missed this decision. What's the reasoning? |
|
Because But having two similar package |
|
Fine by me. I personally do not use I wonder if anyone uses |
|
Merging this 🤞 |
|
Many thanks! |
|
@looeee do you used 8080 port somehow in your settings? |
Correct. We've had some trouble with |
|
Besides, is it possible to just log a warning if the screenshot for an example is missing? Right now, it seems the complete build fails which seems not appropriated for this use case. |
|
We can make a new fake stage in Travis with name |
No, but I hadn't followed the recent switch to
By the way @mrdoob, it's not a big deal for me if this gets removed. However I would prefer if there's at least a |
|
Hi, after we switch to serve I face some troubles on Examples and Docs. If I run Similarly on http://localhost:5000/docs or http://localhost:5000/docs/index.html, the docs don't appear because of Can anyone here reproduce the same error? I use Windows 10 + Firefox/Chrome. Update: Ah, sorry. I have missed the PR reverting to http-server. Never mind, thanks. |
|
@takahirox hi! We reverted |
|
Still one left: https://travis-ci.org/mrdoob/three.js/builds/654693062 I guess we can ignore that one? |
|
Added |
|
Lets add Also, I started to received emails every time the test pass. I used to only receive emails when test failed and when they get fixed. Any chance we can make it that way again? |
|
@mrdoob looks strange, I am not changed anything with emails, do you started receive this emails yesterday after #18745? Here documentation from Travis notifications:
email:
recipients:
- one@example.com
- other@example.com
on_success: never # default: change
on_failure: always # default: alwaysemails can be hided. |
|
Yes, they started yesterday. |
|
Fixed #18776 |
|
@Mugen87 because this stage exist in CI and usually we have ESLint in code editor. You have another cases? |
|
I was just surprised that the familiar command was suddenly gone, that's all. |
|
Need help for good determinism in video/audio tag, other contributions also welcome. |
|
I think we can ignore these examples. These tests are to make sure we don't break the renderer, video/audio is handled by the browser. |
|
Sure that it can be solved with hooks, but #18782 for now. |
|
I just ran 13a0fc2?short_path=45d17f6#diff-45d17f64c08d97c9b0ec35e778f822df |
|
Weird, did you ever try to run |
I didn't. I'll try later. |
|
|
||
| setTimeout( function() { | ||
|
|
||
| requestAnimationFrame( cb ); |
There was a problem hiding this comment.
I think this should have been RAF( cb ).





In Three.js repo we have several PR in a day and right now is really hard to formally validate correctness of the new PRs for maintainers. This idea was suggested by mrdoob and discussed here #16941, #13017. Also it makes possible to create a gallery with all existed examples in one page #17957.
This POC heavily optimized and provides test coverage in 98%. Details you can find here: https://github.com/munrocket/puppeteer-three. Before merge we probably need to create new contribution guides and add handy command in package.json that generate one screenshot.