Commit Graph

136 Commits

Author SHA1 Message Date
Dylan K. Taylor
66b8f2f160 Scrub PHPStan baselines 2025-09-04 23:35:57 +01:00
Dylan K. Taylor
25e937715e Merge branch 'minor-next' into major-next 2025-09-04 22:11:36 +01:00
Dylan K. Taylor
1868536916 Add PHP 8.4 to test matrix 2025-09-04 21:58:12 +01:00
Dylan K. Taylor
7847524df6 Merge branch 'minor-next' into major-next 2025-05-08 02:28:09 +01:00
Dylan K. Taylor
d789c75c00 Improve PHPStan error reporting for unsafe foreaches
these are actually two separate concerns: one for dodgy PHPStan type suppression on implicit keys, and the other for arrays being casted to strings by PHP.
2025-05-08 02:26:09 +01:00
pmmp-admin-bot[bot]
3de604ef95 Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/14816570368
2025-05-04 01:51:27 +00:00
Dylan K. Taylor
6bf9a305de Rename confusing PHPStan rule name
it never occurred to me that this was misleading until I read some Devin documentation,
noticed that Devin misunderstood was the class was for, and then realized actually
Devin understood correctly, and it was the name of the class that was wrong. Funny
how that happens...
2025-05-03 19:24:21 +01:00
Dylan K. Taylor
1d13054608 Merge branch 'minor-next' into major-next 2025-03-09 01:18:55 +00:00
Dylan K. Taylor
2291546610 phpstan: added rule to ban new $class
see #6635 for rationale on why we want to get rid of this

for now, this rule will prevent this anti-feature from being used in new code
2025-03-09 00:51:12 +00:00
pmmp-admin-bot[bot]
ec140f7861 Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/13666455727
2025-03-05 01:27:21 +00:00
Dylan K. Taylor
d0d84d4c51 New rule: explode() limit parameter must be set 2025-03-04 20:44:01 +00:00
Dylan K. Taylor
02ac512b4e Merge branch 'minor-next' into major-next 2025-01-08 15:25:12 +00:00
Dylan K. Taylor
847ae26cad PHPStan: don't remember possibly-impure function return values
I don't think we get much benefit from this, and the assumption that functions with a return value are pure is sketchy.
In any case, it's better to avoid these repeated calls anyway.
2025-01-08 02:04:06 +00:00
Dylan K. Taylor
5e0f03dff0 Stub PalettedBlockArray functions that work with arrays
and workaround PHPStan stupidity
2025-01-08 01:48:15 +00:00
Dylan K. Taylor
e34f34f9f4 Update BedrockProtocol dependency 2025-01-07 23:09:28 +00:00
Dylan K. Taylor
9633b7d8a7 Update to PHPStan 2.x 2025-01-07 22:34:43 +00:00
github-actions
ef6fce4091 Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/11824307499
2024-11-13 19:21:19 +00:00
Dylan K. Taylor
f3cc4a28e1 Easy wins for PHPStan 2.0 support 2024-11-12 22:12:54 +00:00
Dylan K. Taylor
85de28d6c3 Merge branch 'minor-next' into major-next 2024-11-03 14:02:06 +00:00
Dylan K. Taylor
0065fe649f New release workflow triggered by the merge of a PR changing
IS_DEVELOPMENT_BUILD to false

This is more streamlined than the previous approach, and works better
for a world where 1 person isn't doing all the work.

Now, the flow is simpler:
- Do changes (e.g. protocol update), changelog & set IS_DEVELOPMENT_BUILD to false all in a single PR, which can be squash-merged if desired
- Once the PR is merged, a draft release will be prepared
- RestrictedActions will automatically set IS_DEVELOPMENT_BUILD back to
  true and bump the version
- Tag will be created when the release is published

Previously, multiple PRs might be needed, and the PR containing the
release changelog couldn't be squash-merged. Manual intervention was
also required to create a tag and prepare a release.

This PR also includes new CI checks to check for basic errors like
forgotten changelog files to ensure changelog links work correctly.

Note: Only PRs from PMMP Team members with **write** access to the
repository can trigger release generation. Random people cannot trigger
release generation by sending PRs.
2024-10-31 13:57:38 +00:00
Dylan K. Taylor
3f7abf29a8 Added PHPStan rule to flag usages of legacy enum accessors provided by LegacyEnumShimTrait
closes #6061
2023-09-20 19:42:21 +01:00
Dylan K. Taylor
16d8522245 Farewell EnumTrait, you served us well 2023-09-08 11:26:11 +01:00
Dylan K. Taylor
8572311bf4 Remove dead PHPStan stub
closes #6003
2023-08-21 14:57:26 +01:00
Dylan K. Taylor
c1638ffaab Ban foreach by-reference at the PHPStan level 2023-08-08 17:08:13 +01:00
Dylan K. Taylor
e0630fbb25 pmmpthread support 2023-05-20 01:29:26 +01:00
Dylan K. Taylor
3b11191043 Merge remote-tracking branch 'origin/minor-next' into major-next 2023-03-22 22:49:22 +00:00
Dylan K. Taylor
01d557062a Remove dead baseline 2023-03-19 16:41:01 +00:00
Dylan K. Taylor
68e862b6fa Scrub PHPStan baselines (next-major) 2022-11-04 20:53:20 +00:00
Dylan K. Taylor
e86e8254a8 Workaround PHPStan "feature" phpstan/phpstan#7701 2022-08-20 16:29:26 +01:00
Dylan K. Taylor
345ac75aac Remove PHPStan rules (no longer needed)
this is enforced by php-cs-fixer now instead.
2022-01-20 19:25:34 +00:00
Dylan K. Taylor
9c328690f8 Baseline for new rules (for now) 2022-01-20 16:46:41 +00:00
Dylan K. Taylor
b60dd1e9b4 Ban 'and' and 'or' operators via PHPStan 2022-01-20 16:44:59 +00:00
Dylan K. Taylor
9346ecdc39 Merge branch 'stable' 2021-11-25 00:01:48 +00:00
Dylan K. Taylor
c023c02b6c MemoryManager: Removed obsolete workaround for $GLOBALS not being defined on threads
this was long since fixed, and everyone has since been forced to upgrade to pthreads 4.0.0, which definitely has the fix.
2021-11-24 23:57:55 +00:00
Dylan K. Taylor
269231c228 Ban foreach(arrayWithStringKeys as k => v)
this is not as good as phpstan/phpstan-src#769 (e.g. array_key_first()/array_key_last() aren't covered by this, nor is array_rand()) but it does eliminate the most infuriating cases where this usually crops up.
2021-11-15 22:52:05 +00:00
Dylan K. Taylor
f827a555d5 Merge branch 'stable' 2021-11-01 18:13:24 +00:00
Dylan K. Taylor
794142fe49 Merge l7/l8/l9 baselines into actual-problems
it doesn't serve any practical purpose to keep these separated, particularly since it's getting so difficult to figure out which errors are coming from which levels (since we always use 9, it doesn't really make any difference).
2021-11-01 17:27:31 +00:00
Dylan K. Taylor
ff27c5f7db PHPStan 1.0.0 2021-11-01 17:24:20 +00:00
Dylan K. Taylor
f1cc168d26 phpstan: exclude a couple of files from analysis temporarily
close #4472
2021-10-29 00:23:13 +01:00
Dylan K. Taylor
b5699679ef Merge commit 'e38866c4ba90f8efd5630dbe674fd7ca15f586ff' 2021-10-12 23:23:27 +01:00
Dylan K. Taylor
974d08efd6 Bump PHP minimum requirement to 8.0
PHPStan failed on 7.4 after updating to 0.12.99, and I figured it was less hassle to just do this than fix the build. In any case, we stopped shipping 7.4 months ago, and warned at 3.22 release that 7.4 support would soon be dropped.
2021-10-09 20:09:42 +01:00
Dylan K. Taylor
e38866c4ba phpstan 0.12.99 2021-10-09 19:33:43 +01:00
Dylan K. Taylor
0ad663ff50 Merge remote-tracking branch 'origin/stable' 2021-10-05 01:17:59 +01:00
Dylan K. Taylor
a27c14c00c phpstan: exclude build/php from analysis
in case I built PHP in there, I don't want the install_data getting analysed and screwing up the analysis.
2021-10-05 00:14:44 +00:00
Dylan K. Taylor
57e2b16139 Dropped PreProcessor 2021-09-07 14:04:52 +01:00
Dylan K. Taylor
64347e9499 Merge branch 'stable' 2021-09-07 12:45:52 +01:00
Dylan K. Taylor
c948aa94aa Fixed new files in build/ keeping getting missed 2021-09-07 12:39:54 +01:00
Dylan K. Taylor
5d0d1aa4c5 Include build/generate-build-info-json.php in analysis 2021-09-07 12:36:42 +01:00
Dylan K. Taylor
9b8be22015 Sort phpstan.neon 2021-09-07 12:32:19 +01:00
Dylan K. Taylor
7def3db781 Fixed generate-known-translation-apis script not getting PHPStan'd 2021-08-29 23:32:08 +01:00