Meeting will happen in #d10readiness on drupal.slack.com.
| Gábor Hojtsy (he/him) |
@andypost says it would be great to get drupalci support for this, are you sure the first beta is the best @andypost? |
| andypost |
yes, as feature freeze is over it's polishing of last alpha, at least few fixes and features #[\SensitiveParameter] could be discovered for core security https://wiki.php.net/rfc/redact_parameters_in_back_traces |
| andypost |
https://github.com/phpstan/phpstan-src/pull/1478#issuecomment-1187666917... release 1.8.2 will allow d-org CI to pass on 8.2 |
| andypost |
Release on 21 July https://wiki.php.net/todo/php82 |
| mixologic |
I thought we had 8.2 support, just that the avif wasnt working? |
| Gábor Hojtsy (he/him) |
8.2 support on drupalci? I believe we agreed on one piece of alpha, one piece of beta etc to be deployed |
| andypost |
Yep, avif needs work but first completed run needs updated dependencies (used to bump to -dev)https://dispatcher.drupalci.org/job/drupal_patches/138522/ /cc @berdir (edited) |
| andypost |
@mixologic beta1 will contain all API changes so better to start use it, I will notify when it will be available. The main question still open is new rng (random) extension https://github.com/php/php-src/pull/8094 |
| andypost |
Random extension is in) the plan for freeze is https://externals.io/message/118275 |
| andypost |
@mixologic PHP 8,.2 beta1 packaged https://downloads.php.net/~pierrick/ waiting for announce |
| mixologic |
php8.2-beta1 updated , and also I based 8.1. and 8.2-beta1 off of debian bullseye, which miraculously just worked. so, Avif might also be working too. |
| andypost |
something strange after upgrade https://www.drupal.org/node/3060/qa |
| Gábor Hojtsy (he/him) |
@catch @xjm ^^^ would be likely reason for head fails on 10.x and 10.1.x |
| andypost |
it is reproducible locally, see https://drupal.slack.com/archives/C1BMUQ9U6/p1658382786655739 |
| Gábor Hojtsy (he/him) |
ok |
| andypost |
release anounced https://www.php.net/archive/2022.php#2022-07-21-1 (edited) |
| Gábor Hojtsy (he/him) |
Raised by @Kristen Pol (she/her) |
| Kristen Pol (she/her) |
https://www.drupal.org/community/events/drupal-10-global-porting-day-jul... |
| Kristen Pol (she/her) |
Still looking for mentors: https://docs.google.com/spreadsheets/d/1Y8XJsy9yLH-_T8VzwUXsAVy4qfCRTMwG... |
| Kristen Pol (she/her) |
And any Drupal 10 porting related documentation. @benjifisher created this recently https://www.drupal.org/community-initiatives/contribution-events-initiat...…]nt-guide/testing-compatibility-patches-with-composer-and-ddev |
| Gábor Hojtsy (he/him) |
Leaders in the Drupal 8 to 9 porting weekend included @voleger, @VladimirAus, @tsega, @gambry, @vaibhavjain, @jcnventura, @mikelutz (he/him). @nerdstein, @jungle, @JayKandari, @digantdj :slightly_smiling_face: maybe some of them would be interested to return for this Drupal 9 to 10 installment? |
| jcnventura |
I'd love to, but not a good time, as I'm on a diving holiday. Please do count me in if we do a 2nd weekend later. |
| nerdstein |
I'll join - let me know if there are specific times |
| Gábor Hojtsy (he/him) |
Ah diving into actual water :slightly_smiling_face: have fun @jcnventura |
| shaal |
@Kristen Pol (she/her) following @benjifisher document.I think people can also use a “clean” DrupalPod with Drupal core v10.Skip all the preparation steps, and start from “Install a module to test”, because the same ddev commands would work in DrupalPod. |
| mglaman |
It’d be great if those leading could help identify gaps in tooling ahead of time so I can sprint on them. if possible. Or at least track them as the event happens. I’ll try to be available during my workday for questions and support (US Central) |
| Kristen Pol (she/her) |
@nerdstein The spreadsheet (above) has time slots. Thank you!!! (edited) |
| Kristen Pol (she/her) |
@shaal Maybe I should refactor the documentation to have a setup page (DrupalPod vs ddev vs lando etc) and then the rest? I haven't looked at the docs in detail yet (edited) |
| Kristen Pol (she/her) |
@mglaman Thanks for raising this! Ideally, I would personally run through the whole process while making sure the docs are updated but I'm not sure I'll have time this week. Thank you for helping on that during the event :slightly_smiling_face: |
| mglaman |
I’ve been trying to rush out some fixes for phpstan-drupal. Rector needs some more fixes… but I figure better reporting of problems is more critical than automating their fixes |
| Kristen Pol (she/her) |
@jcnventura Have fun! We do hope to have another one in August or September |
| shaal |
@Kristen Pol (she/her) sounds great! We can also make a short simple video that shows the steps.I think the commands might be a bit different?ddev composer install vs lando composer install |
| mglaman |
I have a list of CRs that may need rules (https://github.com/users/mglaman/projects/3) but haven’t been able to triage yet; only based on my current porting stumbles |
| Kristen Pol (she/her) |
@shaal Yes, good point... we can mention both |
| Gábor Hojtsy (he/him) |
@mglaman I think given the huge coverage of rector (we believe), reporting improvements make more sense indeed, unless our belief about high coverage are not true :smile: |
| Kristen Pol (she/her) |
I see that DrupalCon Europe starts 20 September so if we have another porting day before then, it should be the end of August or first week of September, I would think |
| Kristen Pol (she/her) |
@Gábor Hojtsy (he/him) will there be a porting focus at DrupalCon? |
| Gábor Hojtsy (he/him) |
@Kristen Pol (she/her) yes we hope to have contribution tables working on stuff, especially given the beta of Drupal 9.5 and Drupal 10 should be released the week prior :slightly_smiling_face: |
| benjifisher |
@shaal: Does DrupalPod include mglaman/composer-drupal-lenient? See "Prepare to add patches" in my notes. |
| benjifisher |
@mglaman: that part of the tooling ^ worked well last week. |
| benjifisher |
:+1: for having someone run through the process, as @Kristen Pol (she/her) suggested. |
| benjifisher |
I should also acknowledge @berdir, who pointed out that we were installing the latest release of Pathauto in our testing, not the dev version. I improved the step "Install a module to test" based on that feedback. |
| berdir |
yeah, as commented, if you want to actually work on a module, you should explicitly get the dev version, so that you also get a git checkout and can create patches. you could also just do a git clone, but you will have to manually get it's dependencies then if applicable |
| Kristen Pol (she/her) |
Very important point, thanks! |
| benjifisher |
The notes already include this (one-time step, not once per module):If you plan to contribute patches or make merge requests, and not just test existing ones, then tell Composer to install from source:ddev composer config preferred-install source |
| benjifisher |
I think that is good enough. Like the rest of the notes, it needs independent testing. |
| Kristen Pol (she/her) |
Oh! Super handy :thumbsup: |
| berdir |
That will get you everything as git checkout, Including core, which is much slower. And it still defaults to checking out a tag and you risk wasting time on the wrong version. I prefer an explicit require drupal/foo:1.x-dev. You do have to be explicit about the major and sometimes minor version |
| benjifisher |
It depends on the goal.If there is already a D10-compatible releaseOR de version, then I think (in the context of this contribution event), the next step is to move on to another project. That is why my notes suggestTry installing the latest release.Try installing the dev version.Install and patch the dev version.(with explicit composer commands for each step). And thenConfirm that you have installed the version you think. |
| benjifisher |
I decided it was simpler to let composer check compatibility instead of giving instructions likeCheck the project on GitLab and see whether the .info.yml file--for the branch and/or the tag--declares D10 compatibility. |
| shaal |
@benjifisher / @mglamanddev composer config repositories.lenient composer https://packages.drupal.org/lenientwas what I was using before for the :chicken: & :egg: problem.Is mglaman/composer-drupal-lenient what we should be using for solving it in D10 ? (edited) |
| benjifisher |
I believe so. I do not think that the lenient facade has been updated for D10 compatibility. |
| berdir |
yes, will not be updated |
| berdir |
I decided it was simpler to let composer check compatibility instead of giving instructions likenote that if you combine that with the lenient plugin, you explicitly override that, and will just get the latest stable release. IMHO, if someone actually wants to work on a project, more often than not they need to make a decision on which version. but I also understand that it's a bigger hurdle for folks doing it the first time. |
| Kristen Pol (she/her) |
Useful discussion ^ :thankful: |
| Kristen Pol (she/her) |
Fyi https://drupal.slack.com/archives/C03FH8GTB1A/p1658173892251399?thread_t... |
| Kristen Pol (she/her) |
@Gábor Hojtsy (he/him) Do you have plans to update this cheat sheet for Drupal 10? https://www.hojtsy.hu/files/Drupal9ContributionCheatSheet.pdf |
| Gábor Hojtsy (he/him) |
I could update it or give access to edit it to anyone :) it's either a Google doc or apple pages document |
| Kristen Pol (she/her) |
I wonder how helpful it was… wish we had download stats. I could update as part of the documentation |
| VladimirAus |
Happy to help to update the sheet |
| Kristen Pol (she/her) |
Thanks @VladimirAus ! |
| gambry |
Sorry for the late reply. I’m on holidays for 28-29 dates, so I won’t be able to support. But I’ll check within my company. I’m sure someone will be happy to help. (edited) |
| nerdstein |
@Kristen Pol (she/her) I updated the sheet. The best times I had available had some other folks already signed up - but I figure the more help the better |
| Kristen Pol (she/her) |
Yay! Hoping to have at least 2 mentors per slot. The more the merrier :partying_face: |
| jungle |
Hi @Kristen Pol (she/her) , I updated the sheet too, and signed me up for 6 empty slots. Now, each slot has at least 1 mentor. (edited) |
| Kristen Pol (she/her) |
Yay! So happy you can make it :heart_eyes: |
| Gábor Hojtsy (he/him) |
Raised by @andypost |
| Gábor Hojtsy (he/him) |
#2531564: Fix leaky and brittle container serialization solution Needs discussion about deprecation in 9.5 and 10.0 |
| Gábor Hojtsy (he/him) |
#2839195: Add a method to access the original property Needs naming review |
| andypost |
The meta blocker #3275851: [META] Fix PHP 8.2 dynamic property deprecations still require upcoming phpstan 1.8.2 to be able to get full run |
| Gábor Hojtsy (he/him) |
#3293933: Upgrade phpstan/phpstan to 1.8.1 was committed a week or so ago, is there an issue for 1.8.2? why do we need that explicitly? |
| berdir |
we need it because 1.8.1 still doesn't like the new attribute |
| andypost |
yes it was week ago but it does not contain https://github.com/JetBrains/phpstorm-stubs/pull/1404 which was a blocker for testing under 8.2 (phpstan relies on this stubs) |
| berdir |
that said, it's not really a hard blocker to work on the current major issues, and for that, we can just disable phpstan |
| andypost |
moreover, I find it ready #3295813: ViewsEntitySchemaSubscriber access undefined property of View |
| berdir |
without the serviceId issue, Extension and a bunch of other issues fixed, core causes so many deprecations that DrupalCI explodes |
| berdir |
so all focus should be on these |
| Gábor Hojtsy (he/him) |
Is there an issue for updating phpstan to 1.8.2, or should I open one? :slightly_smiling_face: |
| andypost |
no existing issue, so better to check compatibility with drupal-rector&co |
| andypost |
@Gábor Hojtsy (he/him) it should go under #3291553: [META] Check and update dependencies for PHP 8.2 compatibility |
| andypost |
@berdir if phpstan will get update we'll be able to add atrributes and proceed with other issues as much less noise and it will not cause us to disble phpstan |
| Gábor Hojtsy (he/him) |
OK but there is not a 1.8.2 of https://github.com/phpstan/phpstan/releases, and 1.8.1 already said it supports #[AllowDynamicProperties]? I tried looking through their commits if there was a relevant commit yet since 1.8.1, but it does not seem like it? |
| Gábor Hojtsy (he/him) |
Opened #3298199: Upgrade phpstan/phpstan to 1.8.2 for support of PHP 8.2 #[\AllowDynamicProperties] attribute postponed |
| xjm |
Speaking of phpstan, the updated deps test is failing on it again for several days now, so that would need to be resolved too for the update |
| andypost |
@xjm any pointer to failures? |
| xjm |
Can be found as always on http://www.drupal.org/node/3060/qa :slightly_smiling_face: The specific job is https://www.drupal.org/pift-ci-job/2428880 |
| xjm |
Various issues with the baseline I guess |
| berdir |
^ my guess is that's related to bugfixes in phstan-drupal @mglaman ? could be that thing about the class constants. so core no longer has to ignore bugs related to that, which is a good thing |
| mglaman |
lazy builder was fixed in latest phpstan, which should have removed errors. |
| andypost |
queued cummulative upgrades #3295821: Ignore: patch testing issue for PHP 8.2 attributes#comment-14614173 |
| berdir |
@andypost https://dispatcher.drupalci.org/job/drupal_patches/138522/console is actually the first 8.2 run that did not get stuck on a kernel test (that views test that you looked at was not the one it got stuck on, just the last that that passed. but now it's into functional tests. and kernel tests is a mix of passes and fails. |
| berdir |
completed, this looks like the baseline in functional tests (fails that pretty much every single functional test will have): https://dispatcher.drupalci.org/job/drupal_patches/138522/testReport/jun...…]st/Drupal_Tests_filter_Functional_FilterFormatAccessTest/. php deprecations actually fail functional tests. beside lots of undefined properties, also a few other things like " 18x: Use of "static" in callables is deprecated" and " 30x: Function utf8_encode() is deprecated" |
| andypost |
@berdir which analysis tool you're using? It would be great to extract main failures and sort out maximum causes |
| berdir |
my eyes? :slightly_smiling_face: we don't need any tools for those ~10 things, every single test is failing on the first drupalGet() now. once we've resolved all those then it will get more interesting |
| andypost |
I will try parse the logs, utf8_encode surely coming from deps |
| berdir |
I thought you had it at some point, but looks like that latest patch does not include #3274474: Fix 'Access to an undefined property' PHPStan L0 errors? I think that should fix several of the missing properties |
| andypost |
Callables are waiting for new phpstan -drupal as I got @mglaman |
| andypost |
Yep, I removed the patch to test deps and figure out baselineAlso state of 3274474 is not clear (edited) |
| mglaman |
It got the release, didn't open an issue to upgrade yet. But looks like it's working per https://drupal.slack.com/archives/C014CT1CN1M/p1658173015799629?thread_t... |
| berdir |
I don't think that callable thing is about phpstan? that's a runtime php deprecation |
| berdir |
running a browsertest in non-separate-process mode + a regex as catch points me to:#1 core/modules/user/src/Entity/Role.php(172): uasort(Array, 'static::sort') |
| berdir |
https://php.watch/versions/8.2/partially-supported-callable-deprecation |
| berdir |
and utf8_decode() is email validator: #1 vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php(273): Egulias\EmailValidator\EmailLexer->getType('simpletest') |
| andypost |
@berdir I filed #3298343: upgrade egulias/email-validator to 3.2.1 to support PHP 8.2 |
| berdir |
great to see that most/all of our dependencies are also actively looking at that and are still actively maintained :wink: |
| berdir |
@andypost maybe I misunderstood you about the callable thing. did you mean that phpstan update is blocking us from converting these to a supported format? Do you know if there's an issue for that already? Looks like there aren't too many, 'static:: finds 8 matches in core, should be a search & replace to update that to static::class . ' |
| andypost |
@berdir as I got that's rector territory, otoh I could miss something |
| andypost |
@berdir L0 fixes just 350 tests (also with package updates) so "callables fixes" are remaining 2200 |
| andypost |
@mglaman which drupal-rector version required to fix callables? |
| andypost |
I mean things like https://dispatcher.drupalci.org/job/drupal_patches/138678/testReport/jun...…]upal_Tests_system_Functional_Module_InstallUninstallTest/ |
| berdir |
Well, it's more that static callables are the next/maybe last hurdle to complete a basic page request and then we'll probably get to see any other fails |
| mglaman |
drupal-rector doesn’t have rules to fix callables, as far as I know |
| berdir |
Imho it's just to avoid the false detection of static::class, nothing about rector. |
| mglaman |
and phpstan-drupal doesn’t have that problem in latest |
| andypost |
example fix is https://www.drupal.org/files/issues/2022-07-19/interdiff_1.txt |
| mglaman |
- uasort($entities, 'static::sort');
+ uasort($entities, [static::class, 'sort']);this isn’t phpstan, that’s PHP 8.2 We could see if Rector provided a rule |
| andypost |
ah, now it more clear |
| mglaman |
similiar but different :smile: because static::class . 'sort' should work in PHP 8.2; and confused phpstan-drupal when render array callable before |
| berdir |
@andypost the pass raw stuff is messy, that's related to drupalLogin and friends and should definitely not be public documented properties |
| andypost |
@berdir yes, also needs to formalize usage of pass_raw vs passRaw |
| berdir |
Seeing two main issues in the tests, form display widgets and block provider |
| berdir |
the main issue with most of this config entity type related things is that config entity forms just set any form element as a property on the config entity. I'd propose to just add the allow dynamic property attribute on ConfigEntityBase for now. We can look into improving that, but that's going to be a long-term thing |
| andypost |
#3295821: Ignore: patch testing issue for PHP 8.2 attributes#comment-14615864 It is 1,445 failed vs 2700 |
| andypost |
Also a set of dynamic properties on mocks... Looking for opinions |
| andypost |
I found Germany forest a productive saver from heet |
Comments
Comment #2
gábor hojtsyComment #17
gábor hojtsySaving notes.
Comment #18
gábor hojtsy