Changeset 58610
- Timestamp:
- 07/01/2024 06:48:38 PM (4 months ago)
- Location:
- branches/5.5
- Files:
-
- 2 added
- 1 deleted
- 15 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/5.5
- Property svn:mergeinfo changed
/trunk merged: 49264,51673,52179,53552,53895,56464,57124-57125,57249,57918,58157
- Property svn:mergeinfo changed
-
branches/5.5/.github/workflows/coding-standards.yml
r55520 r58610 41 41 cancel-in-progress: true 42 42 43 # Disable permissions for all available scopes by default. 44 # Any needed permissions should be configured at the job level. 45 permissions: {} 46 43 47 jobs: 44 48 # Runs PHP coding standards checks. 45 #46 # Violations are reported inline with annotations.47 #48 # Performs the following steps:49 # - Checks out the repository.50 # - Sets up PHP.51 # - Logs debug information.52 # - Installs Composer dependencies (use cache if possible).53 # - Make Composer packages available globally.54 # - Logs PHP_CodeSniffer debug information.55 # - Runs PHPCS on the full codebase with warnings suppressed.56 # - Runs PHPCS on the `tests` directory without warnings suppressed.57 49 phpcs: 58 50 name: PHP coding standards 59 runs-on: ubuntu-latest 60 timeout-minutes: 20 51 uses: WordPress/wordpress-develop/.github/workflows/reusable-coding-standards-php.yml@trunk 52 permissions: 53 contents: read 61 54 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 62 63 steps: 64 - name: Checkout repository 65 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 66 67 - name: Set up PHP 68 uses: shivammathur/setup-php@d30ad8b1843ace22e6698ab99bbafaa747b6bd0d # v2.24.0 69 with: 70 php-version: '7.4' 71 coverage: none 72 tools: composer, cs2pr 73 74 - name: Log debug information 75 run: | 76 php --version 77 composer --version 78 79 - name: Install Composer dependencies 80 uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0 81 with: 82 composer-options: "--no-progress --no-ansi" 83 84 - name: Make Composer packages available globally 85 run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH 86 87 - name: Log PHPCS debug information 88 run: phpcs -i 89 90 - name: Run PHPCS on all Core files 91 run: phpcs -q -n --report=checkstyle | cs2pr 92 93 - name: Check test suite files for warnings 94 run: phpcs tests -q --report=checkstyle | cs2pr 55 with: 56 php-version: '7.4' 95 57 96 58 # Runs the JavaScript coding standards checks. 97 #98 # JSHint violations are not currently reported inline with annotations.99 #100 # Performs the following steps:101 # - Checks out the repository.102 # - Logs debug information about the GitHub Action runner.103 # - Installs Node.js.104 # - Logs updated debug information.105 # _ Installs npm dependencies.106 # - Run the WordPress JSHint checks.107 59 jshint: 108 60 name: JavaScript coding standards 109 runs-on: ubuntu-latest 110 timeout-minutes: 20 61 uses: WordPress/wordpress-develop/.github/workflows/reusable-coding-standards-javascript.yml@trunk 62 permissions: 63 contents: read 111 64 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 112 env:113 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}114 115 steps:116 - name: Checkout repository117 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0118 119 - name: Log debug information120 run: |121 npm --version122 node --version123 git --version124 svn --version125 126 - name: Install Node.js127 uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0128 with:129 node-version-file: '.nvmrc'130 cache: npm131 132 - name: Log debug information133 run: |134 npm --version135 node --version136 137 - name: Install Dependencies138 run: npm ci139 140 - name: Run JSHint141 run: npm run grunt jshint142 65 143 66 slack-notifications: 144 67 name: Slack Notifications 145 68 uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk 69 permissions: 70 actions: read 71 contents: read 146 72 needs: [ phpcs, jshint ] 147 73 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} … … 157 83 name: Failed workflow tasks 158 84 runs-on: ubuntu-latest 85 permissions: 86 actions: write 159 87 needs: [ phpcs, jshint, slack-notifications ] 160 88 if: | … … 170 98 steps: 171 99 - name: Dispatch workflow run 172 uses: actions/github-script@ 98814c53be79b1d30f795b907e553d8679345975 # v6.4.0100 uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 173 101 with: 174 102 retries: 2 -
branches/5.5/.github/workflows/javascript-tests.yml
r55520 r58610 39 39 cancel-in-progress: true 40 40 41 # Disable permissions for all available scopes by default. 42 # Any needed permissions should be configured at the job level. 43 permissions: {} 44 41 45 jobs: 42 46 # Runs the QUnit tests for WordPress. 43 #44 # Performs the following steps:45 # - Checks out the repository.46 # - Logs debug information about the GitHub Action runner.47 # - Installs Node.js.48 # - Logs updated debug information.49 # _ Installs npm dependencies.50 # - Run the WordPress QUnit tests.51 47 test-js: 52 48 name: QUnit Tests 53 runs-on: ubuntu-latest 54 timeout-minutes: 20 49 uses: WordPress/wordpress-develop/.github/workflows/reusable-javascript-tests.yml@trunk 50 permissions: 51 contents: read 55 52 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 56 57 steps:58 - name: Checkout repository59 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.060 61 - name: Log debug information62 run: |63 npm --version64 node --version65 git --version66 svn --version67 68 - name: Set up Node.js69 uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.070 with:71 node-version-file: '.nvmrc'72 cache: npm73 74 - name: Log debug information75 run: |76 npm --version77 node --version78 79 - name: Install Dependencies80 run: npm ci81 82 - name: Run QUnit tests83 run: npm run grunt qunit:compiled84 53 85 54 slack-notifications: 86 55 name: Slack Notifications 87 56 uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk 57 permissions: 58 actions: read 59 contents: read 88 60 needs: [ test-js ] 89 61 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} … … 99 71 name: Failed workflow tasks 100 72 runs-on: ubuntu-latest 73 permissions: 74 actions: write 101 75 needs: [ test-js, slack-notifications ] 102 76 if: | … … 111 85 steps: 112 86 - name: Dispatch workflow run 113 uses: actions/github-script@ 98814c53be79b1d30f795b907e553d8679345975 # v6.4.087 uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 114 88 with: 115 89 retries: 2 -
branches/5.5/.github/workflows/php-compatibility.yml
r55520 r58610 23 23 # These files configure Composer. Changes could affect the outcome. 24 24 - 'composer.*' 25 # This file configures PHP Compatibility scanning. Changes could affect the outcome.25 # This file configures PHP compatibility scanning. Changes could affect the outcome. 26 26 - 'phpcompat.xml.dist' 27 27 # Changes to workflow files should always verify all workflows are successful. … … 36 36 cancel-in-progress: true 37 37 38 # Disable permissions for all available scopes by default. 39 # Any needed permissions should be configured at the job level. 40 permissions: {} 41 38 42 jobs: 39 40 43 # Runs PHP compatibility testing. 41 #42 # Violations are reported inline with annotations.43 #44 # Performs the following steps:45 # - Checks out the repository.46 # - Sets up PHP.47 # - Logs debug information about the GitHub Action runner.48 # - Installs Composer dependencies (use cache if possible).49 # - Make Composer packages available globally.50 # - Logs PHP_CodeSniffer debug information.51 # - Runs the PHP compatibility tests.52 44 php-compatibility: 53 45 name: Check PHP compatibility 54 runs-on: ubuntu-latest 55 timeout-minutes: 20 46 uses: WordPress/wordpress-develop/.github/workflows/reusable-php-compatibility.yml@trunk 47 permissions: 48 contents: read 56 49 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 57 58 steps: 59 - name: Checkout repository 60 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 61 62 - name: Set up PHP 63 uses: shivammathur/setup-php@d30ad8b1843ace22e6698ab99bbafaa747b6bd0d # v2.24.0 64 with: 65 php-version: '7.4' 66 coverage: none 67 tools: composer, cs2pr 68 69 - name: Log debug information 70 run: | 71 php --version 72 composer --version 73 74 - name: Install Composer dependencies 75 uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0 76 with: 77 composer-options: "--no-progress --no-ansi" 78 79 - name: Make Composer packages available globally 80 run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH 81 82 - name: Log PHPCS debug information 83 run: phpcs -i 84 85 - name: Run PHP compatibility tests 86 run: phpcs --standard=phpcompat.xml.dist -q --report=checkstyle | cs2pr 50 with: 51 php-version: '7.4' 87 52 88 53 slack-notifications: 89 54 name: Slack Notifications 90 55 uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk 56 permissions: 57 actions: read 58 contents: read 91 59 needs: [ php-compatibility ] 92 60 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} … … 102 70 name: Failed workflow tasks 103 71 runs-on: ubuntu-latest 72 permissions: 73 actions: write 104 74 needs: [ php-compatibility, slack-notifications ] 105 75 if: | … … 114 84 steps: 115 85 - name: Dispatch workflow run 116 uses: actions/github-script@ 98814c53be79b1d30f795b907e553d8679345975 # v6.4.086 uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 117 87 with: 118 88 retries: 2 -
branches/5.5/.github/workflows/phpunit-tests.yml
r55520 r58610 27 27 cancel-in-progress: true 28 28 29 env: 30 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }} 31 # Controls which npm script to use for running PHPUnit tests. Options ar `php` and `php-composer`. 32 PHPUNIT_SCRIPT: php 33 LOCAL_PHP_MEMCACHED: ${{ false }} 34 SLOW_TESTS: 'external-http,media,restapi' 29 # Disable permissions for all available scopes by default. 30 # Any needed permissions should be configured at the job level. 31 permissions: {} 35 32 36 33 jobs: 37 # Runs the PHPUnit tests for WordPress. 38 # 39 # Performs the following steps: 40 # - Sets environment variables. 41 # - Sets up the environment variables needed for testing with memcached (if desired). 42 # - Installs Node.js. 43 # - Installs npm dependencies 44 # - Configures caching for Composer. 45 # - Installs Composer dependencies. 46 # - Logs Docker debug information (about the Docker installation within the runner). 47 # - Starts the WordPress Docker container. 48 # - Starts the Memcached server after the Docker network has been created (if desired). 49 # - Logs general debug information about the runner. 50 # - Logs the running Docker containers. 51 # - Logs debug information from inside the WordPress Docker container. 52 # - Logs debug information about what's installed within the WordPress Docker containers. 53 # - Install WordPress within the Docker container. 54 # - Run the PHPUnit tests. 55 # - Checks out the WordPress Test reporter repository. 56 # - Reconnect the directory to the Git repository. 57 # - Submit the test results to the WordPress.org host test results. 34 # Creates PHPUnit test jobs. 58 35 test-php: 59 name: ${{ matrix.php }}${{ matrix.multisite && ' multisite' || '' }}${{ matrix.split_slow && ' slow tests' || '' }}${{ matrix.memcached && ' with memcached' || '' }} on ${{ matrix.os }} 60 runs-on: ${{ matrix.os }} 61 timeout-minutes: 20 36 name: PHP ${{ matrix.php }} 37 uses: WordPress/wordpress-develop/.github/workflows/reusable-phpunit-tests-v2.yml@trunk 38 permissions: 39 contents: read 40 secrets: inherit 62 41 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 63 42 strategy: 64 43 fail-fast: false 65 44 matrix: 45 os: [ ubuntu-latest ] 66 46 php: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4' ] 67 os: [ ubuntu-latest ] 47 multisite: [ false, true ] 48 split_slow: [ false ] 68 49 memcached: [ false ] 69 split_slow: [ false ]70 multisite: [ false, true ]71 50 include: 72 51 # Additional "slow" jobs for PHP 5.6. 73 - php: '5.6 .20'52 - php: '5.6' 74 53 os: ubuntu-latest 75 54 memcached: false 76 55 multisite: false 77 56 split_slow: true 78 - php: '5.6 .20'57 - php: '5.6' 79 58 os: ubuntu-latest 80 59 memcached: false … … 86 65 memcached: true 87 66 multisite: false 67 split_slow: false 88 68 - php: '7.4' 89 69 os: ubuntu-latest 90 70 memcached: true 91 71 multisite: true 92 # Report the results of the PHP 7.4 without memcached job. 93 - php: '7.4' 94 os: ubuntu-latest 95 memcached: false 96 multisite: false 97 report: true 98 env: 99 LOCAL_PHP: ${{ matrix.php }}-fpm 100 LOCAL_PHP_MEMCACHED: ${{ matrix.memcached }} 101 PHPUNIT_CONFIG: ${{ matrix.multisite && 'tests/phpunit/multisite.xml' || 'phpunit.xml.dist' }} 102 103 steps: 104 - name: Configure environment variables 105 run: | 106 echo "PHP_FPM_UID=$(id -u)" >> $GITHUB_ENV 107 echo "PHP_FPM_GID=$(id -g)" >> $GITHUB_ENV 108 109 - name: Checkout repository 110 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 111 112 - name: Install Node.js 113 uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 114 with: 115 node-version-file: '.nvmrc' 116 cache: npm 117 118 - name: Install npm dependencies 119 run: npm ci 120 121 - name: Get Composer cache directory 122 id: composer-cache 123 run: echo "composer_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT 124 125 - name: Cache Composer dependencies 126 uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3.2.3 127 env: 128 cache-name: cache-composer-dependencies 129 with: 130 path: ${{ steps.composer-cache.outputs.composer_dir }} 131 key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }} 132 133 - name: Install Composer dependencies 134 run: | 135 if [ ${{ env.LOCAL_PHP }} == '7.1-fpm' ]; then 136 docker-compose run --rm php composer update 137 git checkout -- composer.lock 138 elif [[ ${{ env.LOCAL_PHP }} == '5.6.20-fpm' || ${{ env.LOCAL_PHP }} == '5.6-fpm' || ${{ env.LOCAL_PHP }} == '7.0-fpm' ]]; then 139 docker-compose run --rm php composer require --dev phpunit/phpunit:"^5.7" --update-with-dependencies 140 git checkout -- composer.lock composer.json 141 else 142 docker-compose run --rm php composer install 143 fi 144 145 - name: Docker debug information 146 run: | 147 docker -v 148 docker-compose -v 149 150 - name: Start Docker environment 151 run: | 152 npm run env:start 153 154 # The memcached server needs to start after the Docker network has been set up with `npm run env:start`. 155 - name: Start the Memcached server. 156 if: ${{ matrix.memcached }} 157 run: | 158 cp tests/phpunit/includes/object-cache.php src/wp-content/object-cache.php 159 docker run --name memcached --net $(basename "$PWD")_wpdevnet -d memcached 160 161 - name: General debug information 162 run: | 163 npm --version 164 node --version 165 curl --version 166 git --version 167 svn --version 168 169 - name: Log running Docker containers 170 run: docker ps -a 171 172 - name: WordPress Docker container debug information 173 run: | 174 docker-compose run --rm mysql mysql --version 175 docker-compose run --rm php php --version 176 docker-compose run --rm php php -m 177 docker-compose run --rm php php -i 178 docker-compose run --rm php locale -a 179 180 - name: Install WordPress 181 run: npm run env:install 182 183 - name: Run slow PHPUnit tests 184 if: ${{ matrix.split_slow }} 185 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --group ${{ env.SLOW_TESTS }} 186 187 - name: Run PHPUnit tests for single site excluding slow tests 188 if: ${{ matrix.php < '7.0' && ! matrix.split_slow && ! matrix.multisite }} 189 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --exclude-group ${{ env.SLOW_TESTS }},ajax,ms-files,ms-required 190 191 - name: Run PHPUnit tests for Multisite excluding slow tests 192 if: ${{ matrix.php < '7.0' && ! matrix.split_slow && matrix.multisite }} 193 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --exclude-group ${{ env.SLOW_TESTS }},ajax,ms-files,ms-excluded,oembed-headers 194 195 - name: Run PHPUnit tests 196 if: ${{ matrix.php >= '7.0' }} 197 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} 198 199 - name: Run AJAX tests 200 if: ${{ ! matrix.split_slow && ! matrix.multisite }} 201 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --group ajax 202 203 - name: Run ms-files tests as a multisite install 204 if: ${{ matrix.multisite && ! matrix.split_slow }} 205 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c tests/phpunit/multisite.xml --group ms-files 206 207 - name: Run external HTTP tests 208 if: ${{ ! matrix.multisite && ! matrix.split_slow }} 209 run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group external-http 210 211 # __fakegroup__ is excluded to force PHPUnit to ignore the <exclude> settings in phpunit.xml.dist. 212 - name: Run (xDebug) tests 213 if: ${{ ! matrix.split_slow }} 214 run: LOCAL_PHP_XDEBUG=true npm run test:${{ env.PHPUNIT_SCRIPT }} -- -v --group xdebug --exclude-group __fakegroup__ 215 216 - name: Checkout the WordPress Test Reporter 217 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.ref == 'refs/heads/trunk' && matrix.report }} 218 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 219 with: 220 repository: 'WordPress/phpunit-test-runner' 221 path: 'test-runner' 222 223 - name: Submit test results to the WordPress.org host test results 224 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.ref == 'refs/heads/trunk' && matrix.report }} 225 env: 226 WPT_REPORT_API_KEY: "${{ secrets.WPT_REPORT_API_KEY }}" 227 run: docker-compose run --rm -e WPT_REPORT_API_KEY -e WPT_PREPARE_DIR=/var/www -e WPT_TEST_DIR=/var/www php php test-runner/report.php 72 split_slow: false 73 with: 74 os: ${{ matrix.os }} 75 php: ${{ matrix.php }} 76 multisite: ${{ matrix.multisite }} 77 split_slow: ${{ matrix.split_slow }} 78 test_ajax: ${{ ! matrix.multisite }} 79 memcached: ${{ matrix.memcached }} 80 phpunit-config: ${{ matrix.multisite && 'tests/phpunit/multisite.xml' || 'phpunit.xml.dist' }} 228 81 229 82 slack-notifications: 230 83 name: Slack Notifications 231 84 uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk 85 permissions: 86 actions: read 87 contents: read 232 88 needs: [ test-php ] 233 89 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} 234 90 with: 235 calling_status: ${{ needs.test-php.result == 'success' && 'success' || needs.test-php.result == 'cancelled' && 'cancelled' || 'failure' }}91 calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }} 236 92 secrets: 237 93 SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }} … … 243 99 name: Failed workflow tasks 244 100 runs-on: ubuntu-latest 245 needs: [ test-php, slack-notifications ] 101 permissions: 102 actions: write 103 needs: [ slack-notifications ] 246 104 if: | 247 105 always() && … … 250 108 github.run_attempt < 2 && 251 109 ( 252 needs.test-php.result == 'cancelled' || needs.test-php.result == 'failure' 110 contains( needs.*.result, 'cancelled' ) || 111 contains( needs.*.result, 'failure' ) 253 112 ) 254 113 255 114 steps: 256 115 - name: Dispatch workflow run 257 uses: actions/github-script@ 98814c53be79b1d30f795b907e553d8679345975 # v6.4.0116 uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 258 117 with: 259 118 retries: 2 -
branches/5.5/.github/workflows/test-build-processes.yml
r58609 r58610 1 name: Test npm1 name: Test Build Processes 2 2 3 3 on: … … 34 34 cancel-in-progress: true 35 35 36 env: 37 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }} 36 # Disable permissions for all available scopes by default. 37 # Any needed permissions should be configured at the job level. 38 permissions: {} 38 39 39 40 jobs: 40 # Verifies that installing npm dependencies and building WordPress works as expected. 41 # 42 # Performs the following steps: 43 # - Checks out the repository. 44 # - Logs debug information about the GitHub Action runner. 45 # - Installs Node.js. 46 # _ Installs npm dependencies. 47 # - Builds WordPress to run from the `build` directory. 48 # - Cleans up after building WordPress to the `build` directory. 49 # - Builds WordPress to run from the `src` directory. 50 # - Cleans up after building WordPress to the `src` directory. 51 test-npm: 52 name: Test npm on ${{ matrix.os }} 53 runs-on: ${{ matrix.os }} 54 timeout-minutes: 20 41 # Tests the WordPress Core build process on multiple operating systems. 42 test-core-build-process: 43 name: Core running from ${{ matrix.directory }} 44 uses: WordPress/wordpress-develop/.github/workflows/reusable-test-core-build-process.yml@trunk 45 permissions: 46 contents: read 55 47 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 56 48 strategy: … … 58 50 matrix: 59 51 os: [ ubuntu-latest, windows-latest ] 52 directory: [ 'src', 'build' ] 53 include: 54 # Only prepare artifacts once. 55 - os: ubuntu-latest 56 directory: 'build' 57 prepare-playground: true 58 with: 59 os: ${{ matrix.os }} 60 directory: ${{ matrix.directory }} 61 prepare-playground: ${{ matrix.prepare-playground && matrix.prepare-playground || false }} 62 test-emoji: false 60 63 61 steps: 62 - name: Checkout repository 63 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 64 65 - name: Log debug information 66 run: | 67 npm --version 68 node --version 69 curl --version 70 git --version 71 svn --version 72 73 - name: Install Node.js 74 uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 75 with: 76 node-version-file: '.nvmrc' 77 cache: npm 78 79 - name: Install Dependencies 80 run: npm ci 81 82 - name: Build WordPress 83 run: npm run build 84 85 - name: Clean after building 86 run: npm run grunt clean 87 88 - name: Build WordPress in /src 89 run: npm run build:dev 90 91 - name: Clean after building in /src 92 run: npm run grunt clean -- --dev 93 94 # Verifies that installing npm dependencies and building WordPress works as expected on MacOS. 64 # Tests the WordPress Core build process on MacOS. 95 65 # 96 # This is separate from the job above in order to use stricter conditions aboutwhen to run.66 # This is separate from the job above in order to use stricter conditions when determining when to run. 97 67 # This avoids unintentionally consuming excessive minutes, as MacOS jobs consume minutes at a 10x rate. 98 68 # … … 100 70 # currently no way to determine the OS being used on a given job. 101 71 # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. 102 # 103 # Performs the following steps: 104 # - Checks out the repository. 105 # - Logs debug information about the GitHub Action runner. 106 # - Installs Node.js. 107 # _ Installs npm dependencies. 108 # - Builds WordPress to run from the `build` directory. 109 # - Cleans up after building WordPress to the `build` directory. 110 # - Builds WordPress to run from the `src` directory. 111 # - Cleans up after building WordPress to the `src` directory. 112 test-npm-macos: 113 name: Test npm on MacOS 114 runs-on: macos-latest 115 timeout-minutes: 30 72 test-core-build-process-macos: 73 name: Core running from ${{ matrix.directory }} 74 uses: WordPress/wordpress-develop/.github/workflows/reusable-test-core-build-process.yml@trunk 75 permissions: 76 contents: read 116 77 if: ${{ github.repository == 'WordPress/wordpress-develop' }} 117 steps: 118 - name: Checkout repository 119 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 120 121 - name: Log debug information 122 run: | 123 npm --version 124 node --version 125 curl --version 126 git --version 127 svn --version 128 129 - name: Install Node.js 130 uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 131 with: 132 node-version-file: '.nvmrc' 133 cache: npm 134 135 - name: Install Dependencies 136 run: npm ci 137 138 - name: Build WordPress 139 run: npm run build 140 141 - name: Clean after building 142 run: npm run grunt clean 143 144 - name: Build WordPress in /src 145 run: npm run build:dev 146 147 - name: Clean after building in /src 148 run: npm run grunt clean -- --dev 78 strategy: 79 fail-fast: false 80 matrix: 81 os: [ macos-13 ] 82 directory: [ 'src', 'build' ] 83 with: 84 os: ${{ matrix.os }} 85 directory: ${{ matrix.directory }} 86 test-emoji: false 149 87 150 88 slack-notifications: 151 89 name: Slack Notifications 152 90 uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk 153 needs: [ test-npm, test-npm-macos ] 91 permissions: 92 actions: read 93 contents: read 94 needs: [ test-core-build-process, test-core-build-process-macos ] 154 95 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} 155 96 with: 156 calling_status: ${{ needs.test-npm.result == 'success' && needs.test-npm-macos.result == 'success' && 'success' || ( needs.test-npm.result == 'cancelled' || needs.test-npm-macos.result == 'cancelled' ) && 'cancelled' || 'failure' }}97 calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }} 157 98 secrets: 158 99 SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }} … … 164 105 name: Failed workflow tasks 165 106 runs-on: ubuntu-latest 166 needs: [ test-npm, test-npm-macos, slack-notifications ] 107 permissions: 108 actions: write 109 needs: [ slack-notifications ] 167 110 if: | 168 111 always() && … … 171 114 github.run_attempt < 2 && 172 115 ( 173 needs.test-npm.result == 'cancelled' || needs.test-npm.result == 'failure'||174 needs.test-npm-macos.result == 'cancelled' || needs.test-npm-macos.result == 'failure'116 contains( needs.*.result, 'cancelled' ) || 117 contains( needs.*.result, 'failure' ) 175 118 ) 176 119 177 120 steps: 178 121 - name: Dispatch workflow run 179 uses: actions/github-script@ 98814c53be79b1d30f795b907e553d8679345975 # v6.4.0122 uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 180 123 with: 181 124 retries: 2 -
branches/5.5/.gitignore
r47497 r58610 10 10 /.phpcs.xml 11 11 /phpcs.xml 12 .cache/* 12 13 /tests/phpunit/data/plugins/wordpress-importer 13 14 /tests/phpunit/data/.trac-ticket-cache* -
branches/5.5/Gruntfile.js
r50603 r58610 123 123 ], 124 124 'webpack-assets': [ 125 WORKING_DIR + 'wp-includes/assets/' 125 WORKING_DIR + 'wp-includes/assets/*', 126 '!' + WORKING_DIR + 'wp-includes/assets/script-loader-packages.php' 126 127 ], 127 128 dynamic: { -
branches/5.5/docker-compose.yml
r55520 r58610 1 version: '3.7'2 3 1 services: 4 2 … … 26 24 27 25 depends_on: 28 - php 26 php: 27 condition: service_started 28 mysql: 29 condition: service_healthy 29 30 30 31 ## … … 38 39 39 40 environment: 40 LOCAL_PHP_XDEBUG: ${LOCAL_PHP_XDEBUG-false} 41 LOCAL_PHP_MEMCACHED: ${LOCAL_PHP_MEMCACHED-false} 42 PHP_FPM_UID: ${PHP_FPM_UID-1000} 43 PHP_FPM_GID: ${PHP_FPM_GID-1000} 41 - LOCAL_PHP_XDEBUG=${LOCAL_PHP_XDEBUG-false} 42 - LOCAL_PHP_MEMCACHED=${LOCAL_PHP_MEMCACHED-false} 43 - PHP_FPM_UID=${PHP_FPM_UID-1000} 44 - PHP_FPM_GID=${PHP_FPM_GID-1000} 45 - GITHUB_REF=${GITHUB_REF-false} 46 - GITHUB_EVENT_NAME=${GITHUB_EVENT_NAME-false} 44 47 45 48 volumes: … … 47 50 - ./:/var/www 48 51 49 depends_on: 50 - mysql 52 # Copy or delete the Memcached dropin plugin file as appropriate. 53 command: /bin/sh -c "if [ $LOCAL_PHP_MEMCACHED = true ]; then cp -n /var/www/tests/phpunit/includes/object-cache.php /var/www/src/wp-content/object-cache.php; else rm -f /var/www/src/wp-content/object-cache.php; fi && exec php-fpm" 54 55 # The init directive ensures the command runs with a PID > 1, so Ctrl+C works correctly. 56 init: true 57 58 extra_hosts: 59 - localhost:host-gateway 51 60 52 61 ## … … 54 63 ## 55 64 mysql: 56 image: amd64/${LOCAL_DB_TYPE-mysql}:${LOCAL_DB_VERSION-latest} 65 image: ${LOCAL_DB_TYPE-mysql}:${LOCAL_DB_VERSION-latest} 66 platform: linux/amd64 57 67 58 68 networks: … … 72 82 command: --default-authentication-plugin=mysql_native_password 73 83 84 healthcheck: 85 test: [ "CMD-SHELL", "if [ \"$LOCAL_DB_TYPE\" = \"mariadb\" ]; then mariadb-admin ping -h localhost; else mysqladmin ping -h localhost; fi" ] 86 timeout: 5s 87 interval: 5s 88 retries: 10 89 74 90 ## 75 91 # The WP CLI container. 76 92 ## 77 93 cli: 78 image: wordpressdevelop/cli:${LOCAL_PHP- latest}94 image: wordpressdevelop/cli:${LOCAL_PHP-7.4-fpm} 79 95 80 96 networks: … … 82 98 83 99 environment: 84 LOCAL_PHP_XDEBUG:${LOCAL_PHP_XDEBUG-false}85 LOCAL_PHP_MEMCACHED:${LOCAL_PHP_MEMCACHED-false}86 PHP_FPM_UID:${PHP_FPM_UID-1000}87 PHP_FPM_GID:${PHP_FPM_GID-1000}100 - LOCAL_PHP_XDEBUG=${LOCAL_PHP_XDEBUG-false} 101 - LOCAL_PHP_MEMCACHED=${LOCAL_PHP_MEMCACHED-false} 102 - PHP_FPM_UID=${PHP_FPM_UID-1000} 103 - PHP_FPM_GID=${PHP_FPM_GID-1000} 88 104 89 105 volumes: … … 92 108 # The init directive ensures the command runs with a PID > 1, so Ctrl+C works correctly. 93 109 init: true 110 111 extra_hosts: 112 - localhost:host-gateway 113 114 depends_on: 115 php: 116 condition: service_started 117 mysql: 118 condition: service_healthy 94 119 95 120 ## … … 103 128 104 129 environment: 105 LOCAL_PHP_XDEBUG:${LOCAL_PHP_XDEBUG-false}106 LOCAL_PHP_MEMCACHED:${LOCAL_PHP_MEMCACHED-false}107 LOCAL_DIR: ${LOCAL_DIR-src}108 WP_MULTISITE: ${WP_MULTISITE-false}109 PHP_FPM_UID: ${PHP_FPM_UID-1000}110 PHP_FPM_GID: ${PHP_FPM_GID-1000}111 TRAVIS_BRANCH: ${TRAVIS_BRANCH-false}112 TRAVIS_PULL_REQUEST: ${TRAVIS_PULL_REQUEST-false}130 - LOCAL_PHP_XDEBUG=${LOCAL_PHP_XDEBUG-false} 131 - LOCAL_PHP_MEMCACHED=${LOCAL_PHP_MEMCACHED-false} 132 - PHP_FPM_UID=${PHP_FPM_UID-1000} 133 - PHP_FPM_GID=${PHP_FPM_GID-1000} 134 - LOCAL_DIR=${LOCAL_DIR-src} 135 - WP_MULTISITE=${WP_MULTISITE-false} 136 - GITHUB_REF=${GITHUB_REF-false} 137 - GITHUB_EVENT_NAME=${GITHUB_EVENT_NAME-false} 113 138 114 139 volumes: … … 121 146 122 147 depends_on: 123 - mysql 148 php: 149 condition: service_started 150 mysql: 151 condition: service_healthy 152 153 ## 154 # The Memcached container. 155 ## 156 memcached: 157 image: memcached 158 159 networks: 160 - wpdevnet 161 162 ports: 163 - 11211:11211 164 165 depends_on: 166 php: 167 condition: service_started 124 168 125 169 volumes: -
branches/5.5/package-lock.json
r58513 r58610 2583 2583 }, 2584 2584 "@types/mime-types": { 2585 "version": "2.1. 1",2586 "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1. 1.tgz",2587 "integrity": "sha512- vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==",2585 "version": "2.1.4", 2586 "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz", 2587 "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==", 2588 2588 "dev": true 2589 2589 }, … … 20249 20249 "dependencies": { 20250 20250 "debug": { 20251 "version": "4.3. 4",20252 "resolved": "https://registry.npmjs.org/debug/-/debug-4.3. 4.tgz",20253 "integrity": "sha512- PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",20251 "version": "4.3.5", 20252 "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", 20253 "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", 20254 20254 "dev": true, 20255 20255 "requires": { -
branches/5.5/phpcompat.xml.dist
r47902 r58610 12 12 13 13 <!-- Whenever possible, cache the scan results and re-use those for unchanged files on the next scan. --> 14 <arg name="cache" />14 <arg name="cache" value=".cache/phpcompat.json"/> 15 15 16 16 <!-- Set the memory limit to 256M. -
branches/5.5/phpcs.xml.dist
r48072 r58610 7 7 8 8 <!-- Whenever possible, cache the scan results and re-use those for unchanged files on the next scan. --> 9 <arg name="cache" />9 <arg name="cache" value=".cache/phpcs.json"/> 10 10 11 11 <!-- Set the memory limit to 256M. -
branches/5.5/tests/phpunit/includes/abstract-testcase.php
r50603 r58610 184 184 185 185 /** 186 * Allow tests to be skipped on some automated runs.187 * 188 * For test runs on Travis for something other than trunk/master189 * we want to skip tests that only need to run for master.186 * Allows tests to be skipped on some automated runs. 187 * 188 * For test runs on GitHub Actions for something other than trunk, 189 * we want to skip tests that only need to run for trunk. 190 190 */ 191 191 public function skipOnAutomatedBranches() { 192 // https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables 193 $travis_branch = getenv( 'TRAVIS_BRANCH' ); 194 $travis_pull_request = getenv( 'TRAVIS_PULL_REQUEST' ); 195 196 if ( ! $travis_branch || ! $travis_pull_request ) { 197 return; 198 } 199 200 if ( 'master' !== $travis_branch || 'false' !== $travis_pull_request ) { 201 $this->markTestSkipped( 'For automated test runs, this test is only run on trunk/master' ); 192 // https://docs.github.com/en/actions/learn-github-actions/environment-variables#default-environment-variables 193 $github_event_name = getenv( 'GITHUB_EVENT_NAME' ); 194 $github_ref = getenv( 'GITHUB_REF' ); 195 196 if ( $github_event_name ) { 197 // We're on GitHub Actions. 198 $skipped = array( 'pull_request', 'pull_request_target' ); 199 200 if ( in_array( $github_event_name, $skipped, true ) || 'refs/heads/trunk' !== $github_ref ) { 201 $this->markTestSkipped( 'For automated test runs, this test is only run on trunk' ); 202 } 202 203 } 203 204 } -
branches/5.5/tools/local-env/scripts/docker.js
r49363 r58610 5 5 dotenvExpand( dotenv.config() ); 6 6 7 // Execute any docker -compose command passed to this script.8 execSync( 'docker -compose ' + process.argv.slice( 2 ).join( ' ' ), { stdio: 'inherit' } );7 // Execute any docker compose command passed to this script. 8 execSync( 'docker compose ' + process.argv.slice( 2 ).join( ' ' ), { stdio: 'inherit' } ); -
branches/5.5/tools/local-env/scripts/install.js
r50302 r58610 46 46 */ 47 47 function wp_cli( cmd ) { 48 execSync( `docker -compose run --rm cli ${cmd}`, { stdio: 'inherit' } );48 execSync( `docker compose run --rm cli ${cmd}`, { stdio: 'inherit' } ); 49 49 } 50 50 … … 55 55 const test_plugin_directory = 'tests/phpunit/data/plugins/wordpress-importer'; 56 56 57 execSync( `docker -compose exec -T php rm -rf ${test_plugin_directory} && svn checkout -r ${process.env.WP_IMPORTER_REVISION} https://plugins.svn.wordpress.org/wordpress-importer/trunk/ ${test_plugin_directory}`, { stdio: 'inherit' } );57 execSync( `docker compose exec -T php rm -rf ${test_plugin_directory} && svn checkout -r ${process.env.WP_IMPORTER_REVISION} https://plugins.svn.wordpress.org/wordpress-importer/trunk/ ${test_plugin_directory}`, { stdio: 'inherit' } ); 58 58 } -
branches/5.5/tools/local-env/scripts/start.js
r49363 r58610 6 6 7 7 // Start the local-env containers. 8 execSync( 'docker-compose up -d wordpress-develop', { stdio: 'inherit' } ); 8 const containers = ( process.env.LOCAL_PHP_MEMCACHED === 'true' ) 9 ? 'wordpress-develop memcached' 10 : 'wordpress-develop'; 11 execSync( `docker compose up -d -- ${containers}`, { stdio: 'inherit' } ); 9 12 10 13 // If Docker Toolbox is being used, we need to manually forward LOCAL_PORT to the Docker VM.
Note: See TracChangeset
for help on using the changeset viewer.