@@ -37,15 +37,15 @@ permissions: {}
3737# Because the number of jobs spawned can quickly balloon out of control, the following methodology is applied when
3838# building out the matrix below:
3939#
40- # - The last two releases of WordPress are tested against all PHP/MySQL LTS version combinations and the most recent
41- # innovation release.
40+ # - The two most recent releases of WordPress are tested against all PHP/MySQL LTS version combinations and the
41+ # most recent innovation release.
4242# - The next 6 oldest versions of WordPress are tested against both the oldest and newest releases of PHP currently
4343# supported for both PHP 7 & 8 along with the oldest and newest MySQL LTS versions currently supported (no innovation
4444# releases). At the current 3 releases per year pace, this accounts for 2 additional years worth of releases.
4545# - Of the remaining versions of WordPress still receiving security updates, only test the ones where the database
4646# version was updated since the previous major release.
4747# - The oldest version of WordPress receiving security updates should always be tested against the same combinations as
48- # detailed for the last two releases.
48+ # detailed for the two most recent releases.
4949
5050# Notes about chosen MySQL versions:
5151# - Only the most recent innovation release should be included in testing.
@@ -54,8 +54,8 @@ permissions: {}
5454# - 5.6.x Docker containers are available and work, but 5.6 only accounts for ~2.3% of installs as of 12/6/2024.defaults:
5555# - 5.7.x accounts for ~20% of installs, so this is used below instead.
5656jobs :
57- # Tests the full list of PHP/MySQL combinations for the last two versions of WordPress.
58- upgrade-tests-last-two -releases :
57+ # Tests the full list of PHP/MySQL combinations for the two most recent versions of WordPress.
58+ upgrade-tests-recent -releases :
5959 name : ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
6060 uses : ./.github/workflows/reusable-upgrade-testing.yml
6161 if : ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
8989 new-version : ${{ inputs.new-version && inputs.new-version || 'latest' }}
9090 multisite : ${{ matrix.multisite }}
9191
92- # Tests the remaining 6.x releases on the oldest and newest supported versions of PHP 7 & 8.
92+ # Tests 6.x releases where the WordPress database version changed on the oldest and newest supported versions of PHP 7 & 8.
9393 upgrade-tests-wp-6x-mysql :
9494 name : ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
9595 uses : ./.github/workflows/reusable-upgrade-testing.yml
@@ -101,7 +101,7 @@ jobs:
101101 php : [ '7.2', '7.4', '8.0', '8.4' ]
102102 db-type : [ 'mysql' ]
103103 db-version : [ '5.7', '8.4' ]
104- wp : [ '6.0', '6.1', '6.2', '6. 3', '6.4', '6.5', '6.6 ' ]
104+ wp : [ '6.0', '6.3', '6.4', '6.5' ]
105105 multisite : [ false, true ]
106106
107107 exclude :
@@ -172,67 +172,12 @@ jobs:
172172 new-version : ${{ inputs.new-version && inputs.new-version || 'latest' }}
173173 multisite : ${{ matrix.multisite }}
174174
175- # Tests 4.x releases where the WordPress database version changed on the oldest and newest supported versions of PHP 7.
176- #
177- # The oldest version of WordPress receiving security updates should always be tested.
178- upgrade-tests-wp-4x-php-7x-mysql :
179- name : ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
180- uses : ./.github/workflows/reusable-upgrade-testing.yml
181- if : ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
182- strategy :
183- fail-fast : false
184- matrix :
185- os : [ 'ubuntu-24.04' ]
186- php : [ '7.2', '7.4' ]
187- db-type : [ 'mysql' ]
188- db-version : [ '5.7', '8.4' ]
189- wp : [ '4.1', '4.2', '4.3', '4.4', '4.5', '4.6', '4.7' ]
190- multisite : [ false, true ]
191-
192- exclude :
193- # The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
194- - php : ' 7.2'
195- db-version : ' 8.4'
196- with :
197- os : ${{ matrix.os }}
198- php : ${{ matrix.php }}
199- db-type : ${{ matrix.db-type }}
200- db-version : ${{ matrix.db-version }}
201- wp : ${{ matrix.wp }}
202- new-version : ${{ inputs.new-version && inputs.new-version || 'latest' }}
203- multisite : ${{ matrix.multisite }}
204-
205- # Tests 4.x releases where the WordPress database version changed on the oldest and newest supported versions of PHP 8.
206- #
207- # The oldest version of WordPress receiving security updates should always be tested.
175+ # The oldest version of WordPress receiving security updates should always be tested against
176+ # the widest possible list of PHP/MySQL combinations.
208177 #
209- # WordPress 4.6-4.9 are excluded from PHP 8+ testing because of the following fatal errors:
178+ # WordPress 4.7 is excluded from PHP 8+ testing because of the following fatal errors:
210179 # - Use of __autoload().
211180 # - array/string offset with curly braces.
212- upgrade-tests-wp-4x-php-8x-mysql :
213- name : ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
214- uses : ./.github/workflows/reusable-upgrade-testing.yml
215- if : ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
216- strategy :
217- fail-fast : false
218- matrix :
219- os : [ 'ubuntu-24.04' ]
220- php : [ '8.0', '8.4' ]
221- db-type : [ 'mysql' ]
222- db-version : [ '5.7', '8.4' ]
223- wp : [ '4.1', '4.2', '4.3', '4.4', '4.5' ]
224- multisite : [ false, true ]
225- with :
226- os : ${{ matrix.os }}
227- php : ${{ matrix.php }}
228- db-type : ${{ matrix.db-type }}
229- db-version : ${{ matrix.db-version }}
230- wp : ${{ matrix.wp }}
231- new-version : ${{ inputs.new-version && inputs.new-version || 'latest' }}
232- multisite : ${{ matrix.multisite }}
233-
234- # The oldest version of WordPress receiving security updates should always be tested against
235- # the full list of PHP/MySQL combinations.
236181 upgrade-tests-oldest-wp-mysql :
237182 name : ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
238183 uses : ./.github/workflows/reusable-upgrade-testing.yml
@@ -241,10 +186,10 @@ jobs:
241186 fail-fast : false
242187 matrix :
243188 os : [ 'ubuntu-24.04' ]
244- php : [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
189+ php : [ '7.2', '7.3', '7.4' ]
245190 db-type : [ 'mysql' ]
246191 db-version : [ '5.7', '8.0', '8.4', '9.3' ]
247- wp : [ '4.1 ' ]
192+ wp : [ '4.7 ' ]
248193 multisite : [ false, true ]
249194
250195 exclude :
@@ -273,7 +218,7 @@ jobs:
273218 permissions :
274219 actions : read
275220 contents : read
276- needs : [ upgrade-tests-last-two- releases, upgrade-tests-wp-6x-mysql, upgrade-tests-wp-5x-php-7x-mysql, upgrade-tests-wp-5x-php-8x-mysql, upgrade-tests-wp-4x-php-7x-mysql, upgrade-tests-wp-4x -php-8x-mysql, upgrade-tests-oldest-wp-mysql ]
221+ needs : [ upgrade-tests-recent- releases, upgrade-tests-wp-6x-mysql, upgrade-tests-wp-5x-php-7x-mysql, upgrade-tests-wp-5x-php-8x-mysql, upgrade-tests-oldest-wp-mysql ]
277222 if : ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
278223 with :
279224 calling_status : ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }}
0 commit comments