-
-
Notifications
You must be signed in to change notification settings - Fork 820
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
Separate web testing into per-browser runners #17529
Conversation
458355e
to
3e3ffa6
Compare
The errors suggest that the built ruffle wasn't found |
Anyone, feel free to force-push while I'm busy, if you'd like to experiment, I don't mind. |
I fixed the failure with running the test. Some comments that I don't have time to fix:
|
Yay, thanks! ^^
Uh, building what image...? 🤔 This is an entirely separate matrix from the build job. We can cut it down of course, I was just curious about the whole space initially. |
The So right now it's:
But it should just be the 3 browsers, triggered by one of the web tests. Maybe ubuntu node 22. Something like:
|
Sure - but I don't think this is how it works...? As in, they don't trigger each other, they all are triggered when the workflow starts, there is just a blocking dependency among some of them that holds them up for a while. At least this is how I see it. |
Just change the matrix of |
(sorry I forgot how silly github workflows are for a bit) |
And I suspect we'll have to adjust that heckin' fake no-op job as well, if we want to make these jobs required aswell/instead. |
I wish it was possible to make the browser tests wait only for the ubuntu builds... it would be so much quicker. But alas... :/ We could split it (and for example, remove the formatting checker step from the windows ones), but eh, that would be a bit too much copy-paste... |
Well, it seems that the full "test web" takes exactly as much time as before - so at least it's not slower? :D
There is a kind of template/reuse system in workflows. It's all blah, but it exists. Alternate idea: have one task that's "build ruffle web", copy its dist folders over as an artifact into the existing "test web" matrix which then does the usual |
Oooohhh.... 👀 BTW, just remembered, YAML itself is supposed to have aliases and anchors, I wonder whether those work here...
Yeah that could work, but then we wouldn't be testing building on different platforms, which I thing is valuable. |
In my experience, basically nothing supports it properly, if at all :D Github is no exception
Well what about the wasm at least? We'd need to refactor the build script to take a prebuilt wasm but it should be possible. That should not depend on node or OS, unless something is seriously wrong with a dependency (like rust itself, or maybe bindgen), and it's the slowest part by far. |
... maybe that's for a future PR though? :D |
blaargh....
Sure, makes sense. What do you think about the required checks thingy? And I still have to adjust the parallelism count stuff, but other than that, does this look good? |
Not much to think about it other than "it needs to work", these should be required checks yes :D
I think so!
Correct but not for lack of wanting; just haven't got to it yet. |
4cd905c
to
b39ceea
Compare
9c241c3
to
589cde1
Compare
Note again that, currently, this takes longer than before, because the browser tests also have to wait for the sluggish Windows builds to finish. I'm now seriously considering splitting them into their own little "matrix of shame for pathetically slow OSes": actions/runner-images#7320 At least we could really easily tell which browsers fail/hang/lag/etc... |
I suppose, I could still look at adding that |
589cde1
to
b89818e
Compare
95f8793
to
3e7328e
Compare
9c010d4
to
c6de3d3
Compare
Okay sorry to keep holding this up but Testing the build on diff platforms is valuable, I agree Why not a separate and fast "build web for testing" which triggers the new jobs, unrelated to the existing "build and test on X"? |
Oh, this is a nice way to phrase "separate matrix for slow-as-heck platforms", I like it! |
843a98c
to
17e597c
Compare
Done, with a whole bunch of copy-pasting. :/ |
Note that this needs some attention when rebasing, to account for recent changes. If done automatically, it will break things. |
08923a1
to
e123990
Compare
Manual rebase correction done, I hope I haven't missed anything, unless @danielhjacobs objects, I guess this is good to merge now. |
fe5173d
to
7c5eb53
Compare
7c5eb53
to
6c40ed5
Compare
@Dinnerbone I guess the the 3 browser-specific ones should be added to the set of required checks for merging PRs? |
Just pushing to see whether it will work.