Spokje → changed the visibility of the branch 10.4.x to hidden.
Spokje → changed the visibility of the branch 3406971-non-silenced-deprecation-message to hidden.
Spokje → changed the visibility of the branch 11.x to hidden.
Spokje → changed the visibility of the branch 3406971-coder-rule to hidden.
$ composer diff
| Prod Packages | Operation | Base | Target |
|---------------------------------|-----------|--------------|------------|
| symfony/console | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/dependency-injection | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/error-handler | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/event-dispatcher | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/filesystem | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/finder | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/http-foundation | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/http-kernel | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/mailer | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/mime | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/process | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/psr-http-message-bridge | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/routing | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/serializer | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/validator | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/var-dumper | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/yaml | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| Dev Packages | Operation | Base | Target |
|----------------------|-----------|--------------|------------|
| symfony/browser-kit | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/css-selector | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/dom-crawler | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
| symfony/lock | Upgraded | v7.1.0-BETA1 | v7.1.0-RC1 |
GitLabBot found a few errors.
a handful of quick fixes in MR!7547 cut it down by about 25%.
Great, but not sure this is part of this issue? Or even what an acceptable amount of added errors to a baseline would be?
Personally, (n=1, yadayada) this seems like follow-up issue material to me and might be derailing the original intent?
But what do I know? _shrug_
To be fair, we can still:
- Bump twig/twig
to 3.9.1 which fixes Exception: Warning: Undefined variable $blocks
.
- Bump to that version in composer.json
, since lower version won't pass with the yield
changes.
Did that just now.
longwave → credited Spokje → .
Ah, thanks
With 3.9.1 less errors, more Since twig/twig 3.9: Twig node "Foo" is not marked as ready for using "yield" instead of "echo"; please make it ready and then flag it with the #[YieldReady] attribute.
.
https://github.com/twigphp/Twig/issues/4008 Still messes with (at least) our Twig deprecation testing.
Not a big fan of lowering versions of dependencies, but seeing that:
- None of our other dependencies need it
- Tests are green
- PHPUnit 10 waits for no man...
I'm going to RTBC
Looks like we've bumped into https://github.com/twigphp/Twig/issues/4008
Added two CRs.
Let's bump it to RTBC and see if the core committers think we still need FM approval and if so, if they can ping them :)
Thanks @quietone, good enough for me :)
- Approach makes sense, seeing there is precedence.
- Code changes make sense (Personally I find the new logged warning a lot more clear than before).
- Tests are green.
The only thing from RTBC-ing this is the CR link, which needs, at least for me, mentioning the new required LoggerInterface $logger,
in Roles::__contruct()
.
One argument against staggering would be that raising the PHPStan level would be disruptive to (almost) all open MRs for each bump, so bumping more then one level would make it less disruptive.
That might be the case when the baseline was in the NEON format, and IIRC was one (of many) reasons the Bump-to-L9 issue is stalling.
But as part of that issue, we switched the baseline over to PHP with the reasoning that Git would be much smarter about merging it.
Is bumping a PHPStan level (with each one bringing in loads of changes on the baseline file) still as disruptive to other MRs as we (or at least I) think, or is this a non-issue by now?
If we're in non-issue land on that, I'm all about staggering, if not, we might want to prevent all/a lot of open MRs grinding to a rebase-halt each time we stagger-bump and do it in one go?
Thanks @mstrelan, should have found that myself, but somehow didn't. (Makes mental note to check caffeine-percentage of new bought coffee-brand).
Seeing those checks and also the fact that if we want to do it with the least amount of disruptions to other MRs, it's probably now or when D12 arrives, I'm pulling the trigger and put the ball in core commiters court: RTBC for me.
Looks like when we bump to PHPStan L2 we get an initial addition of ~7800 suppressions.
Seeing the amount of active issues to tackle the L1 suppressions, I think it's safe to assume these won't go away quickly.
So the benefit would be preventing new L2 issues creeping in new/refactored code.
It's probably my lack of Google skills, but what are the extra checks in L2 compared to L1, what will be prevented from creeping in by us doing PHPStan L++?
Ah crap, of course, forgot that in my "rage" about the baseline formatting.
📌 Bump phpstan/phpstan and mglaman/phpstan-drupal to latest Needs review probably needs to land to make this MR work.
Note: Creating a new PHPStan-baseline exposed some formatting differences between the generated and committed-in-HEAD one.
Let's use this issue to reconcile these.
As a side note: If people are manually editing the baseline, let's make the GitLab job fail on these differences, so we don't need this kind of reconciliation.
LGTM
"Interestingly" \Drupal\Tests\views\Functional\UserBatchActionTest
passes locally and on Gitlab on PHP 8.1 (https://git.drupalcode.org/issue/drupal-3390360/-/jobs/1183273#L65) but fails on PHP 8.3.
Also I would have expected either no or a bunch of failures, not just one test that (on first glance) doesn't seem to do anything to wild.
Explanation makes sense
Code changes make sense
Tests are green
-------------------------+
RTBC
Looks like the __sleep
alias can be dropped, which would prevent future-us from trying to drop the whole Trait.
Makes sense to me, and tests are green => RTBC
Thanks @mondrake, I'll take a 50% success rate any day...
RTBC for me now.
Like the approach, like the MR, but we've might have a few stragglers (at least, if I understand the scope correctly):
- \Drupal\Tests\Component\Plugin\Discovery\StaticDiscoveryDecoratorTest::testGetDefinition
: https://git.drupalcode.org/project/drupal/blob/b73c68de45491739c0752d859... and https://git.drupalcode.org/project/drupal/blob/b73c68de45491739c0752d859...
- \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testLoadMultiplePersistentCached
: https://git.drupalcode.org/project/drupal/blob/654b1f2074ea90b75a8750f2b...
- \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testLoadMultipleNoPersistentCache
: https://git.drupalcode.org/project/drupal/blob/654b1f2074ea90b75a8750f2b...
- \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testLoadMultiplePersistentCacheMiss
: https://git.drupalcode.org/project/drupal/blob/654b1f2074ea90b75a8750f2b...
- \Drupal\Tests\Core\Entity\TypedData\EntityAdapterUnitTest::setUp
: https://git.drupalcode.org/project/drupal/blob/9add7f71ff26864477f80e349...
Explanation and code changes make sense. Overall a nice cleanup!
Let's clear out everything in the current baseline, then bump it to level 2 or 3This is the current plan anyway,
To be fair, that plan is not going fast, or to be more precise, seems to have been grinded to a halt.
There's so much BC in play with fixing even the low hanging issues, that even determining what arethe low hanging fruits is difficult and leads to much discussion.
I myself have (almost) given up on working on PHPStan base-level issues, since they really suck the life-force out of my contributing spirit.
Having said that, although I can see some advantages in upping to level 9 and at the very least be warned when new PHPStan issues creep in, the sheer amount that would have to be committed to the baseline because of the BC-promises made, would be nullifying those advantages IMHO.
So I personally don't see advantages upping to any level above the current level 1, until we have either more persons willing to contribute on fixing the current issues with the current PHPStan level and/or have a long hard look at BC policies we currently have and if they're perhaps holding us back to much.
But of course, n=1, personal opinion and all that.
MR actually extends the existing test-coverage and replaces the (as said) only occurrence of getObjectForTrait()
.
This MR replaces getMockForTrait()
with adding a test class which uses the Trait.
AFAICT this is indeed the recommended way to do this.
After applying the MR there are no references left regarding getMockForTrait()
, tests are green => RTBC.
I'll start doing lousy work then
Ah, doing lousy work, the foundation of my whole career... ;)
Oh no, I very much like this approach.
My comment was just meant to try to amuse myself whilst c/p-ing my previous RTBC messages.
The problem here is my lousy jokes and your great work, which makes me not able to fault any of it :)
Same ol' same ol':
Replacement makes sense, couldn't find any other occurrences than the ones in the MR, Green tests => RTBC.
Said it before and will say it again:
Replacement makes sense, couldn't find any other occurrences than the ones in the MR, Green tests => RTBC.
Thanks for noticing.
Ah, so something like hook_help_topics_info_alter
is actually used by the help module?
After applying the MR I still see a few textual references to the help_topics module and at least two test modules with the name help_topics in them.
I guess we want to remove all of those as well?
Spokje → created an issue.
Spokje → changed the visibility of the branch 3394694-sf7-no-containeraware-less-rebases to hidden.
PHP 8.2 is the minimum for SF 7, so not really a hard blocker.
However the release of SF 7.0.6 is, if we want to prevent using workarounds (as said by @longwave in #52 📌 Symfony 7 compatibility Active )
Replacement makes sense, couldn't find any other occurrences than the ones in the MR, Green tests => RTBC
Replacement makes sense, couldn't find any other occurrences than the ones in the MR, Green tests => RTBC
We might want to be compatible with sebastian/diff v5 but we can't for now:
Not saying we shouldn't, but why all the effort when none of our dependencies apparently need v5?
We might want to be compatible with sebastian/diff v5 but we can't for now:
Not saying we shouldn't, but why all the effort when none of our dependencies apparently need v5?
Grmbl...
Thanks @longwave, adjusted test.
Five references left for ContainerAwareInterface
after this MR.
They're all needed to keep LoggerChannelFactory
working for now.
So we know there's pain when changing fixtures, so we combining the changes so there's less pain.
Now what if a core module doesn't have the remove issue committed on time for 10.3.0?
We then have to go through the pain again when changing the fixture painfully made in 10.3.0 in 10.4.0?
Could we move the removal to 12.0.0, so there's less pain?
(Not sure about if there's already specific rules/documentation on this, just curious and pretty much done with the pain after the gazillion changes we did on fixtures during D9 => D10.)
Confirming the updated-deps job now runs correctly in the scheduled daily runs, see https://git.drupalcode.org/project/drupal/-/pipelines/121984 as a result for the 11.x one.
Postponed on 🐛 Annotation component has an undeclared dependency on doctrine/lexer 2 RTBC
Opened follow-up 📌 [PP-1] Make doctrine/lexer:^3.0 compatible with \Drupal\Component\Annotation\Doctrine. Active
Reasoning makes sense, so do the code changes.
Looks like the original deprecation of the bool $catchThrowable
(https://github.com/symfony/symfony/pull/45997/files#diff-8a470a718608567...) went away in https://github.com/symfony/symfony/commit/8604d3ae048b5383f878db93a834c0....
and it became bool $handleAllThrowables = false
https://github.com/symfony/symfony/blob/7.1/src/Symfony/Component/HttpKe....
So I think we can close this one as outdated, we still want to opt-in to that behaviour as we currently are, so there's nothing to remove AFAICT.
Dropped some lines as a response, let's see what @mondrake thinks about this.
Rebased to prove that review-bot was wrong, which it was.
Also RTBCed.
I don't see the relation with ??=.
There is indeed no relation, HEAD was broken for a while
🐛
ManageGitIgnoreTest failing in HEAD
RTBC
.
Is fixed now, a rebase should make the error go away.
Since we've only just started removing deprecated code from 11.x, I've been assuming that new deprecations for 11.x removal will get caught by 'remove deprecated code in x' module issues or a final sweep before beta.
Fine by me, although I think this is optimistic and at some point (maybe not in 10.3.x, but still, at some point) we will discover a big BC-issue at the last minute when doing such a final scan.
Then again, there's always a fine balance between too many and too few rules and extra work for deprecations, so let's run with this :)
HEAD unbroken, rebased, all is well...
longwave → credited Spokje → .
Failure due to (already spotted) broken HEAD: 🐛 ManageGitIgnoreTest failing in HEAD RTBC
Code changes make sense.
Am a bit confused, but shouldn't the 11.x commit remove the core/modules/editor/js/editor.admin.js JS APIs?
Or is this happening in a follow-up?
Or am I just not reading this correctly?
Down to 7 PHPStan errors