Closed (outdated)
Project:
Webform
Version:
6.2.x-dev
Component:
Code
Priority:
Major
Category:
Task
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
16 Nov 2023 at 14:05 UTC
Updated:
23 Nov 2024 at 21:12 UTC
Jump to comment: Most recent
Comments
Comment #3
wim leersDone. Note that we could go much further — see https://git.drupalcode.org/project/big_pipe_sessionless/-/blob/2.x/.gitl... for example:
Comment #4
jrockowitz commentedThis is awesome!!!
Comment #5
wim leersDo you want me to add #3 too? :)
Comment #6
berdirI didn't know about that flag, that is neat, BUT: The regular phpunit job on GitlabCI currently takes *30 minutes* for webform, because the contrib template currently uses zero concurrency/optimization unlike core and this module has a *lot* of tests.
That makes running *every* pipeline against one or even multiple extra core versions very expensive.
It is possible to manually run a pipeline against 10.2.x, that's what I did for #3400868: [PP-2] to_email and similar config keys have schema type email but allow other things where I linked those results as well.
Not a maintainer, but IMHO it would be better to do it like core does, where alternative phpunit jobs are available on every MR to be started manually, because doing it through the UI as with custom variables is tedious.
Comment #7
wim leers🤯
Yeah we should improve that so that it is improved for all contrib modules. But isn't it as simple as setting
_PHPUNIT_CONCURRENT: "1"per #3370952: Run phpunit tests from a single job in parallel, using paratest? Let's find out.Comment #8
berdirIIRC I tried that and at least back when I tried that, that mode didn't suppress deprecations.
Comment #9
wim leers@Berdir fixed that using https://git.drupalcode.org/project/webform/-/merge_requests/380/diffs?co... 😊
(I spent far too long on that exact problem over at https://git.drupalcode.org/project/acquia_migrate/-/merge_requests/2, but I did find a solution at least! Glad to see it paying off! 😄)
Comment #10
wim leersThanks to @Berdir for nudging me in this direction 😇
Comment #11
berdirOff topic thoughts:
Ah, the extra trick is nice. and the performance improvement is impressive. Good to know. FWIW, this should be the default configuration for contrib IMHO, because I don't really want to adapt my 100 projects to have this overridden and risk breaking something in the future (sure, most contrib projects do not have remotely as many tests as webform). There's the meta issue about backporting core improvements to contrib, should be added there I think?. I assume it's OK to update the template and change how contrib tests work by default.
Comment #12
wim leers10.2.xHEAD10.2.x+ #3402168: Follow-up for #3361534: Config validation errors can still occur for contrib modules, disrupting contrib(Difference in output is due to switching from sequential to parallel test running per @Berdir in #6.
Conclusion
@alexpott was right in #3402168-12: Follow-up for #3361534: Config validation errors can still occur for contrib modules, disrupting contrib: the core MR does fix it for kernel tests, but not yet for functional tests.
Comment #13
wim leersSince #3402168-17: Follow-up for #3361534: Config validation errors can still occur for contrib modules, disrupting contrib, this is passing all of the
10.2.xtests 👍With the exception of unrelated failures (for example,
WebformStatesHiddenTestandWebformSettingsPreviewTestfail because it's asserting markup literally instead of using CSS selectors, XPath or DOMDocument — probably these output changes are due to #2441811: Upgrade filter system to HTML5). See the results.Comment #14
berdirNote: The alternative version this extends from was AFAIK merged and the patch committed, so this will need to be update to remove those things.
Comment #15
jrockowitz commented@Wim Leers & @Berdir Thank you for helping set this up.
The most immediate thing I did to help move this forward was to disable the old DrupaCI tests.
The fact that the 10.1.x tests are passing, and 6x faster is excellent. I am a little thrown off by the 10.2.x test failures but I am comfortable dealing with that in another ticket.
Comment #16
berdir> The most immediate thing I did to help move this forward was to disable the old DrupaCI tests.
Note that you then don't get testing of patches anymore.
DrupalCI isn't slow. GitlabCI without the changes here is slow. Now with those changes, GitlabCI is likely a bit faster than DrupalCI, not sure how much, but should not make a huge difference.
Comment #17
jrockowitz commented@Berdir Good catch. I restored the issue and commit test.
Comment #18
wim leersTo @Berdir's point: tweaking the title! :)
FYI: the DA will turn off DrupalCI at some point. But I agree that for a project like this, it may be better to just wait until GitLab CI contrib has been optimized further.
Also unassigning.
Comment #19
jrockowitz commented_PHPUNIT_CONCURRENT: "1"has been added with additional improvement to drupalci.yml.