Changeset 50625 for branches/4.9/.github/workflows/phpunit-tests.yml
- Timestamp:
- 03/31/2021 07:33:06 PM (4 years ago)
- Location:
- branches/4.9
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/4.9
- Property svn:mergeinfo changed
/trunk merged: 50379,50387,50413,50416,50432,50435-50436,50444,50446,50473-50474,50476,50479,50485-50487,50545,50579,50590
- Property svn:mergeinfo changed
-
branches/4.9/.github/workflows/phpunit-tests.yml
r50333 r50625 5 5 branches: 6 6 - master 7 - trunk 7 8 - '3.[7-9]' 8 9 - '[4-9].[0-9]' … … 11 12 - '[4-9].[0-9]*' 12 13 pull_request: 14 branches: 15 - master 16 - trunk 17 - '3.[7-9]' 18 - '[4-9].[0-9]' 19 workflow_dispatch: 13 20 # Once weekly On Sundays at 00:00 UTC. 14 21 schedule: … … 22 29 PHPUNIT_SCRIPT: php 23 30 LOCAL_PHP_MEMCACHED: ${{ false }} 31 SLOW_TESTS: 'external-http,media,restapi' 24 32 25 33 jobs: … … 44 52 - name: Cancel previous runs of this workflow (pull requests only) 45 53 if: ${{ github.event_name == 'pull_request' }} 46 uses: styfle/cancel-workflow-action@0.5.0 47 with: 48 access_token: ${{ github.token }} 54 uses: styfle/cancel-workflow-action@3d86a7cc43670094ac248017207be0295edbc31d # v0.8.0 49 55 50 56 - name: Checkout repository 51 uses: actions/checkout@ v257 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 52 58 53 59 - name: Log debug information … … 65 71 66 72 - name: Install NodeJS 67 uses: actions/setup-node@ v173 uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5 68 74 with: 69 75 node-version: 14 70 76 71 77 - name: Cache NodeJS modules 72 uses: actions/cache@ v278 uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4 73 79 env: 74 80 cache-name: cache-node-modules … … 77 83 path: ~/.npm 78 84 key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} 79 restore-keys: |80 ${{ runner.os }}-npm-81 85 82 86 - name: Install Dependencies … … 87 91 88 92 - name: Create ZIP artifact 89 uses: thedoctor0/zip-release@ 0.4.193 uses: thedoctor0/zip-release@a1afcab9c664c9976ac398fa831eac67bed1eb0e # v0.4.1 90 94 with: 91 95 filename: built-wp-${{ github.sha }}.zip … … 93 97 94 98 - name: Upload build artifact 95 uses: actions/upload-artifact@ v299 uses: actions/upload-artifact@e448a9b857ee2131e752b06002bf0e093c65e571 # v2.2.2 96 100 with: 97 101 name: built-wp-${{ github.sha }} … … 125 129 # - todo: Configure Slack notifications for failing tests. 126 130 test-php: 127 name: ${{ matrix.php }}${{ matrix.m emcached && ' with memcached' || '' }} on ${{ matrix.os }}131 name: ${{ matrix.php }}${{ matrix.multisite && ' multisite' || '' }}${{ matrix.split_slow && ' slow tests' || '' }} ${{ matrix.memcached && ' with memcached' || '' }} on ${{ matrix.os }} 128 132 needs: setup-wordpress 129 133 runs-on: ${{ matrix.os }} 130 134 strategy: 135 fail-fast: false 131 136 matrix: 132 php: [ '7.2' ] 133 phpunit: [ '6-php-7.2' ] 137 php: [ '5.3', '5.4', '5.5' ] 134 138 os: [ ubuntu-latest ] 135 139 memcached: [ false ] 140 split_slow: [ false, true ] 141 multisite: [ false, true ] 136 142 include: 143 # Additional "slow" jobs for PHP 5.6. 144 - php: '5.6' 145 phpunit: '4-php-5.6' 146 os: ubuntu-latest 147 memcached: false 148 multisite: false 149 split_slow: true 150 - php: '5.6' 151 phpunit: '4-php-5.6' 152 os: ubuntu-latest 153 memcached: false 154 multisite: true 155 split_slow: true 156 # Include job for specific PHPUnit versions. 157 - php: '7.2' 158 phpunit: '6-php-7.2' 159 os: ubuntu-latest 160 memcached: false 161 multisite: false 162 split_slow: false 163 - php: '7.2' 164 phpunit: '6-php-7.2' 165 os: ubuntu-latest 166 memcached: false 167 multisite: true 168 split_slow: false 169 - php: '7.1' 170 phpunit: '6-php-7.1' 171 os: ubuntu-latest 172 memcached: false 173 multisite: false 174 split_slow: false 175 - php: '7.1' 176 phpunit: '6-php-7.1' 177 os: ubuntu-latest 178 memcached: false 179 multisite: true 180 split_slow: false 181 - php: '7.0' 182 phpunit: '6-php-7.0' 183 os: ubuntu-latest 184 memcached: false 185 multisite: false 186 split_slow: false 187 - php: '7.0' 188 phpunit: '6-php-7.0' 189 os: ubuntu-latest 190 memcached: false 191 multisite: true 192 split_slow: false 193 - php: '5.6' 194 phpunit: '4-php-5.6' 195 os: ubuntu-latest 196 memcached: false 197 multisite: false 198 split_slow: false 199 - php: '5.6' 200 phpunit: '4-php-5.6' 201 os: ubuntu-latest 202 memcached: false 203 multisite: true 204 split_slow: false 137 205 # Include job for PHP 7.2 with memcached. 138 206 - php: '7.2' … … 140 208 os: ubuntu-latest 141 209 memcached: true 142 - php: '7.1' 143 phpunit: '6-php-7.1' 144 os: ubuntu-latest 145 memcached: false 146 - php: '7.0' 147 phpunit: '6-php-7.0' 148 os: ubuntu-latest 149 memcached: false 150 - php: '5.6' 151 phpunit: '4-php-5.6' 152 os: ubuntu-latest 153 memcached: false 154 - php: '5.5' 155 phpunit: '5.5' 156 os: ubuntu-latest 157 memcached: false 158 - php: '5.4' 159 phpunit: '5.4' 160 os: ubuntu-latest 161 memcached: false 162 - php: '5.3' 163 phpunit: '5.3' 164 os: ubuntu-latest 165 memcached: false 210 multisite: false 211 split_slow: false 212 166 213 env: 167 214 LOCAL_PHP: ${{ matrix.php }}-fpm 168 LOCAL_PHPUNIT: ${{ matrix.phpunit }}-fpm215 LOCAL_PHPUNIT: ${{ matrix.phpunit && matrix.phpunit || matrix.php }}-fpm 169 216 LOCAL_PHP_MEMCACHED: ${{ matrix.memcached }} 217 PHPUNIT_CONFIG: ${{ matrix.multisite && 'tests/phpunit/multisite.xml' || 'phpunit.xml.dist' }} 170 218 171 219 steps: … … 176 224 177 225 - name: Download the built WordPress artifact 178 uses: actions/download-artifact@ v2226 uses: actions/download-artifact@4a7a711286f30c025902c28b541c10e147a9b843 # v2.0.8 179 227 with: 180 228 name: built-wp-${{ github.sha }} … … 184 232 185 233 - name: Install NodeJS 186 uses: actions/setup-node@ v1234 uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5 187 235 with: 188 236 node-version: 14 189 237 190 238 - name: Use cached Node modules 191 uses: actions/cache@ v2239 uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4 192 240 env: 193 241 cache-name: cache-node-modules … … 196 244 path: ~/.npm 197 245 key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} 198 restore-keys: |199 ${{ runner.os }}-npm-200 246 201 247 - name: Install Dependencies 202 run: np x install-changed --install-command="npm ci"248 run: npm ci 203 249 204 250 - name: Cache Composer dependencies 205 251 if: ${{ env.COMPOSER_INSTALL == true }} 206 uses: actions/cache@ v2252 uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4 207 253 env: 208 254 cache-name: cache-composer-dependencies … … 210 256 path: ${{ steps.composer-cache.outputs.dir }} 211 257 key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }} 212 restore-keys: |213 ${{ runner.os }}-php-${{ matrix.php }}-composer-214 258 215 259 - name: Install Composer dependencies … … 257 301 run: npm run env:install 258 302 303 - name: Run slow PHPUnit tests 304 if: ${{ matrix.split_slow }} 305 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --group ${{ env.SLOW_TESTS }} 306 307 - name: Run PHPUnit tests for single site excluding slow tests 308 if: ${{ matrix.php < '7.0' && ! matrix.split_slow && ! matrix.multisite }} 309 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --exclude-group ${{ env.SLOW_TESTS }},ajax,ms-files,ms-required 310 311 - name: Run PHPUnit tests for Multisite excluding slow tests 312 if: ${{ matrix.php < '7.0' && ! matrix.split_slow && matrix.multisite }} 313 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --exclude-group ${{ env.SLOW_TESTS }},ajax,ms-files,ms-excluded,oembed-headers 314 259 315 - name: Run PHPUnit tests 260 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist 316 if: ${{ matrix.php >= '7.0' }} 317 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} 261 318 262 319 - name: Run AJAX tests 263 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group ajax 264 265 - name: Run tests as a multisite install 266 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c tests/phpunit/multisite.xml 320 if: ${{ ! matrix.multisite && ! matrix.split_slow }} 321 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --group ajax 267 322 268 323 - name: Run ms-files tests as a multisite install 324 if: ${{ matrix.multisite && ! matrix.split_slow }} 269 325 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c tests/phpunit/multisite.xml --group ms-files 270 326 271 327 - name: Run external HTTP tests 328 if: ${{ ! matrix.multisite && ! matrix.split_slow }} 272 329 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group external-http 273 274 - name: Run REST API tests275 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group restapi-jsclient276 330 277 331 - name: Checkout the WordPress Test Reporter 278 332 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.ref == 'refs/heads/master' && matrix.report }} 279 uses: actions/checkout@ v2333 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 280 334 with: 281 335 repository: 'WordPress/phpunit-test-runner'
Note: See TracChangeset
for help on using the changeset viewer.