11name : Test application
2+
23on :
3- pull_request : null
4+ pull_request :
45 push :
56 branches :
67 - ' [0-9]+.x'
78 - ' [0-9]+.[0-9]+'
9+ workflow_dispatch :
10+
11+ # automatically cancel previously started workflows when pushing a new commit to a branch
12+ concurrency :
13+ group : ${{ github.workflow }}-${{ github.ref }}
14+ cancel-in-progress : true
15+
816jobs :
917 php :
1018 name : ' PHP ${{ matrix.php-version }} (${{ matrix.dependency-versions }})'
11- runs-on : ubuntu-latest
19+ runs-on : ubuntu-22.04
20+ timeout-minutes : 30
21+
1222 env :
13- DATABASE_URL : ' mysql://root:root@127.0.0.1/sulu_redirect_test?serverVersion=5.7'
23+ COMPOSER_TOKEN : ${{ secrets.GITHUB_TOKEN }}
24+
1425 strategy :
1526 fail-fast : false
1627 matrix :
1728 include :
1829 - php-version : ' 8.2'
1930 dependency-versions : ' lowest'
20- php-extensions : ' mysql, imagick '
31+ php-extensions : ' ctype, iconv, mysql, gd '
2132 tools : ' composer:v2'
2233 env :
23- SYMFONY_DEPRECATIONS_HELPER : weak
34+ SYMFONY_DEPRECATIONS_HELPER : disabled
35+ DATABASE_URL : ' mysql://root:root@127.0.0.1:3306/sulu_redirect_test?serverVersion=5.7&charset=utf8mb4'
2436
2537 - php-version : ' 8.2'
2638 dependency-versions : ' highest'
27- php-extensions : ' mysql, imagick'
39+ php-extensions : ' ctype, iconv, mysql, imagick'
2840 tools : ' composer:v2'
2941 env :
3042 SYMFONY_DEPRECATIONS_HELPER : weak
43+ DATABASE_URL : ' mysql://root:root@127.0.0.1:3306/sulu_redirect_test?serverVersion=5.7&charset=utf8mb4'
3144
3245 - php-version : ' 8.3'
3346 dependency-versions : ' highest'
34- php-extensions : ' mysql, imagick'
47+ php-extensions : ' ctype, iconv, mysql, imagick'
3548 tools : ' composer:v2'
3649 env :
3750 SYMFONY_DEPRECATIONS_HELPER : weak
51+ DATABASE_URL : ' mysql://root:root@127.0.0.1:3306/sulu_redirect_test?serverVersion=5.7&charset=utf8mb4'
3852
3953 - php-version : ' 8.4'
4054 dependency-versions : ' highest'
41- php-extensions : ' mysql, imagick'
42- tools : ' composer:v2'
43- composer-options : ' --ignore-platform-reqs'
55+ php-extensions : ' ctype, iconv, mysql, imagick'
56+ tools : ' composer'
4457 env :
4558 SYMFONY_DEPRECATIONS_HELPER : weak
59+ DATABASE_URL : ' mysql://root:root@127.0.0.1:3306/sulu_redirect_test?serverVersion=5.7&charset=utf8mb4'
4660
4761 - php-version : ' 8.5'
4862 dependency-versions : ' highest'
49- php-extensions : ' mysql, imagick'
50- tools : ' composer:v2 '
51- composer-options : ' --ignore-platform-reqs '
63+ php-extensions : ' ctype, iconv, mysql, imagick'
64+ tools : ' composer:snapshot '
65+ composer-stability : ' dev '
5266 env :
5367 SYMFONY_DEPRECATIONS_HELPER : weak
68+ DATABASE_URL : ' mysql://root:root@127.0.0.1:3306/sulu_redirect_test?serverVersion=5.7&charset=utf8mb4'
5469
5570 services :
5671 mysql :
@@ -69,35 +84,53 @@ jobs:
6984 - name : Install and configure PHP
7085 uses : shivammathur/setup-php@v2
7186 with :
72- php-version : ' ${{ matrix.php-version }}'
73- extensions : ' ${{ matrix.php-extensions }}'
74- tools : ' ${{ matrix.tools }}'
87+ php-version : ${{ matrix.php-version }}
88+ extensions : ${{ matrix.php-extensions }}
89+ tools : ${{ matrix.tools }}
90+ ini-values : memory_limit=-1
7591 coverage : none
7692
7793 - name : Remove Lint Tools
7894 # These tools are not required to run tests, so we are removing them to improve dependency resolving and
7995 # testing lowest versions.
8096 run : composer remove "*php-cs-fixer*" "*phpstan*" "*rector*" --dev --no-update
8197
98+ - name : Set composer stability
99+ if : ${{ matrix.composer-stability }}
100+ run : composer config minimum-stability ${{ matrix.composer-stability }}
101+
82102 - name : Install composer dependencies
83- uses : ramsey/composer-install@v2
103+ uses : ramsey/composer-install@v3
84104 with :
85- dependency-versions : ${{matrix.dependency-versions}}
86- composer-options : ${{matrix.composer-options}}
105+ dependency-versions : ${{ matrix.dependency-versions }}
106+ composer-options : ${{ matrix.composer-options }}
107+
108+ - name : Output versions and installed dependencies
109+ run : |
110+ echo 'PHP Version:'
111+ php --version
112+ echo ''
113+ echo 'PHP Modules:'
114+ php -m
115+ echo ''
116+ echo 'Composer Info:'
117+ composer info
87118
88119 - name : Bootstrap test environment
89120 run : composer bootstrap-test-environment
90- env : ' ${{ matrix.env }}'
121+ env : ${{ matrix.env }}
91122
92123 - name : Execute test cases
93124 run : time composer test
94- env : ' ${{ matrix.env }}'
125+ env : ${{ matrix.env }}
95126
96127 php-lint :
97128 name : ' PHP Lint'
98- runs-on : ubuntu-latest
129+ runs-on : ubuntu-22.04
130+ timeout-minutes : 30
131+
99132 env :
100- DATABASE_URL : ' mysql://root:root@127.0.0.1/sulu_redirect_test?serverVersion=5.7 '
133+ COMPOSER_TOKEN : ${{ secrets.GITHUB_TOKEN }}
101134
102135 steps :
103136 - name : Checkout project
@@ -107,14 +140,26 @@ jobs:
107140 uses : shivammathur/setup-php@v2
108141 with :
109142 php-version : ' 8.3'
110- extensions : ' mysql, imagick'
143+ extensions : ' ctype, iconv, mysql, imagick'
111144 tools : ' composer:v2'
145+ ini-values : memory_limit=-1
112146 coverage : none
113147
114148 - name : Install composer dependencies
115- uses : ramsey/composer-install@v2
149+ uses : ramsey/composer-install@v3
116150 with :
117151 dependency-versions : highest
118152
153+ - name : Output versions and installed dependencies
154+ run : |
155+ echo 'PHP Version:'
156+ php --version
157+ echo ''
158+ echo 'PHP Modules:'
159+ php -m
160+ echo ''
161+ echo 'Composer Info:'
162+ composer info
163+
119164 - name : Lint code
120165 run : composer lint
0 commit comments