@@ -63,7 +63,7 @@ permissions: {}
6363jobs :
6464 generate-exclusions :
6565 name : Generate test exclusions
66- runs-on : ' ubuntu-22 .04'
66+ runs-on : ' ubuntu-24 .04'
6767 if : ${{ true || github.repository == 'WordPress/wordpress-develop' }}
6868 timeout-minutes : 5
6969 outputs :
@@ -132,6 +132,46 @@ jobs:
132132
133133 echo "matrix_exclusions=$(echo "${DEFAULT_EXCLUSIONS%]}${GENERATED_EXCLUSIONS}" | tr -d '\n' | tr -d ' ')" >> "$GITHUB_OUTPUT"
134134
135+ # The full list of combinations for a specified version should always be tested.
136+ #
137+ # Since all supported combinations are already tested for the WordPress versions listed in the upgrade-tests-recent-releases
138+ # job, those versions should be excluded here to avoid duplicate testing.
139+ generate-matrix-for-input-version :
140+ name : Build Test Matrix for Input Version
141+ uses : ./.github/workflows/reusable-support-json-reader-v1.yml
142+ permissions :
143+ contents : read
144+ if : ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name == 'workflow_dispatch' && ! contains( fromJSON('["6.7", "6.8"]'), inputs.new-version ) }}
145+ with :
146+ wp-version : ${{ inputs.new-version }}
147+
148+ upgrade-tests-input-version :
149+ name : ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || '6.0.0' }}
150+ uses : ./.github/workflows/reusable-upgrade-testing.yml
151+ needs : [ 'generate-matrix-for-input-version' ]
152+ if : ${{ github.repository == 'WordPress/wordpress-develop' }}
153+ permissions :
154+ contents : read
155+ strategy :
156+ fail-fast : false
157+ matrix :
158+ os : [ 'ubuntu-24.04' ]
159+ php : ${{ fromJSON( needs.build-test-matrix.outputs.php-versions ) }}
160+ db-type : [ 'mysql' ]
161+ db-version : ${{ fromJSON( needs.build-test-matrix.outputs.mysql-versions ) }}
162+ wp : [ '${{ inputs.new-version }}' ]
163+ multisite : [ false, true ]
164+
165+ exclude : ${{ fromJSON( needs.generate-exclusions.outputs.matrix_exclusions ) || '[]' }}
166+ with :
167+ os : ${{ matrix.os }}
168+ php : ${{ matrix.php }}
169+ db-type : ${{ matrix.db-type }}
170+ db-version : ${{ matrix.db-version }}
171+ wp : ${{ matrix.wp }}
172+ new-version : ${{ inputs.new-version && inputs.new-version || '6.0.0' }}
173+ multisite : ${{ matrix.multisite }}
174+
135175 # Tests the full list of PHP/MySQL combinations for the two most recent versions of WordPress.
136176 upgrade-tests-recent-releases :
137177 name : ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || '6.0.0' }}
0 commit comments