-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfuture-proofing.yaml
72 lines (65 loc) · 5.71 KB
/
future-proofing.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
future-proofing:
stage: future
allow_failure: true
needs: []
image: php:fpm-alpine #replace this with the platform you target for the upgrade
#services: define the services required to run your test suite
#variables: define the variables required to run your test suite
before_script:
#perform all the necessary steps required to run your project's test suite
- curl --silent --show-error "https://getcomposer.org/installer" | php -- --install-dir=/usr/local/bin --filename=composer
- composer install --no-interaction --no-scripts --prefer-dist
script:
- vendor/bin/future bump-php
- vendor/bin/future bump-deps
- composer update -W --no-interaction --no-scripts
- vendor/bin/rector init
#register rector rule sets
- vendor/bin/future add-ruleset \\Rector\\Set\\ValueObject\\SetList::CODE_QUALITY
- vendor/bin/future add-ruleset \\Rector\\Set\\ValueObject\\SetList::CODING_STYLE
- vendor/bin/future add-ruleset \\Rector\\Set\\ValueObject\\SetList::DEAD_CODE
- vendor/bin/future add-ruleset \\Rector\\Set\\ValueObject\\SetList::EARLY_RETURN
- vendor/bin/future add-ruleset \\Rector\\Set\\ValueObject\\SetList::PSR_4
- vendor/bin/future add-ruleset \\Rector\\Set\\ValueObject\\SetList::PRIVATIZATION
- vendor/bin/future add-ruleset \\Rector\\Set\\ValueObject\\SetList::TYPE_DECLARATION
- vendor/bin/future add-ruleset \\Rector\\Set\\ValueObject\\LevelSetList::UP_TO_PHP_83
#register rector rules
- vendor/bin/future add-rule \\Rector\\DependencyInjection\\Rector\\Class_\\ActionInjectionToConstructorInjectionRector::class
- vendor/bin/future add-rule \\Rector\\RemovingStatic\\Rector\\ClassMethod\\LocallyCalledStaticMethodToNonStaticRector::class
- vendor/bin/future add-rule \\Rector\\Restoration\\Rector\\Property\\MakeTypedPropertyNullableIfCheckedRector::class
- vendor/bin/future add-rule \\Rector\\Restoration\\Rector\\Class_\\RemoveFinalFromEntityRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ArrowFunction\\AddArrowFunctionReturnTypeRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\Closure\\AddClosureReturnTypeRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\AddMethodCallBasedStrictParamTypeRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\AddReturnTypeDeclarationBasedOnParentClassMethodRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\AddVoidReturnTypeWhereNoReturnRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\ParamTypeByMethodCallTypeRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\ParamTypeByParentCallTypeRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\Param\\ParamTypeFromStrictTypedPropertyRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\ReturnTypeFromReturnNewRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\ReturnTypeFromStrictBoolReturnExprRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\ReturnTypeFromStrictNativeCallRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\ReturnTypeFromStrictNewArrayRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\ReturnTypeFromStrictTypedPropertyRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\Property\\TypedPropertyFromAssignsRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\Property\\TypedPropertyFromStrictConstructorRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\Property\\TypedPropertyFromStrictGetterMethodReturnTypeRector::class
- vendor/bin/future add-rule \\Rector\\TypeDeclaration\\Rector\\Property\\TypedPropertyFromStrictSetUpRector::class
- vendor/bin/future add-rule \\Rector\\Visibility\\Rector\\ClassMethod\\ExplicitPublicClassMethodRector::class
#exclude rector rules
- vendor/bin/future skip \\Rector\\Php80\\Rector\\Class_\\ClassPropertyAssignToConstructorPromotionRector::class
- vendor/bin/future skip \\Rector\\Privatization\\Rector\\Class_\\FinalizeClassesWithoutChildrenRector::class
- vendor/bin/future skip \\Rector\\CodingStyle\\Rector\\ClassConst\\VarConstantCommentRector::class
- vendor/bin/future skip \\Rector\\DeadCode\\Rector\\ClassMethod\\RemoveUnusedPrivateMethodRector::class
- vendor/bin/future skip \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\AddArrayParamDocTypeRector::class
- vendor/bin/future skip \\Rector\\TypeDeclaration\\Rector\\ClassMethod\\AddArrayReturnDocTypeRector::class
- vendor/bin/future skip \\Rector\\DeadCode\\Rector\\MethodCall\\RemoveEmptyMethodCallRector::class
- vendor/bin/future skip \\Rector\\CodingStyle\\Rector\\String_\\SymplifyQuoteEscapeRector::class
- vendor/bin/future skip \\Rector\\CodingStyle\\Rector\\Catch_\\CatchExceptionNameMatchingTypeRector::class
- vendor/bin/future run vendor/bin/rector process src --no-progress-bar --no-diffs
#run your project's test suite
- vendor/bin/future run SYMFONY_DEPRECATIONS_HELPER=disabled vendor/bin/phpunit --no-interaction --colors=never
#- vendor/bin/codeception
#- vendor/bin/behat
#last step is to shut down future and display the summary
- vendor/bin/future shutdown