Simplify implementation of configure method in VIP Integrations #4089
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI (WP Core) | |
on: | |
push: | |
branches: | |
- develop | |
- staging | |
- production | |
- gh-readonly-queue/** | |
pull_request: | |
branches: | |
- develop | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
env: | |
LOCAL_PHP: "8.0-fpm" | |
LOCAL_DB_TYPE: "mysql" | |
LOCAL_DB_VERSION: "8.0" | |
LOCAL_PHP_MEMCACHED: "true" | |
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: "true" | |
jobs: | |
wp-core: | |
name: "Run WP Core Tests" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get the latest WP version | |
id: version | |
run: | | |
echo "latest=$(curl -s https://api.wordpress.org/core/version-check/1.7/ | jq -r '.offers | map(select( .response == "upgrade")) | .[0].version')" >> $GITHUB_OUTPUT | |
- name: Configure environment variables | |
run: | | |
echo "PHP_FPM_UID=$(id -u)" >> "${GITHUB_ENV}" | |
echo "PHP_FPM_GID=$(id -g)" >> "${GITHUB_ENV}" | |
- name: Checkout WordPress | |
uses: actions/[email protected] # v4.0.0 | |
with: | |
repository: wordpress/wordpress-develop | |
path: wordpress | |
ref: ${{ steps.version.outputs.latest }} | |
- name: Check out source code | |
uses: actions/[email protected] # v4.0.0 | |
with: | |
submodules: recursive | |
path: wordpress/src/wp-content/mu-plugins | |
- name: Tweaks | |
run: | | |
echo "define( 'VIP_JETPACK_SKIP_LOAD', 'true' );" >> "wordpress/src/wp-content/mu-plugins/000-vip-init.php" | |
echo "GITHUB_EVENT_NAME=pull_request" >> "wordpress/.env" | |
- name: Set up Node.js | |
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 | |
with: | |
node-version-file: 'wordpress/.nvmrc' | |
cache: npm | |
cache-dependency-path: 'wordpress/package-lock.json' | |
- name: Set up PHP | |
uses: shivammathur/[email protected] | |
with: | |
php-version: 8.0 | |
coverage: none | |
# - name: Install Composer dependencies | |
# uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0 | |
# with: | |
# working-directory: wordpress | |
- name: Install Composer dependencies | |
run: composer install -n | |
working-directory: wordpress | |
- name: Downgrade PHPUnit | |
run: composer require --dev -n phpunit/phpunit:9.6.12 | |
working-directory: wordpress | |
- name: Install npm dependencies | |
run: npm ci | |
working-directory: wordpress | |
- name: Start Docker environment | |
run: npm run env:start | |
working-directory: wordpress | |
- name: Log running Docker containers | |
run: docker ps -a | |
- name: WordPress Docker container debug information | |
run: | | |
docker-compose run --rm mysql mysql --version | |
docker-compose run --rm php php --version | |
docker-compose run --rm php php -m | |
docker-compose run --rm php php -i | |
docker-compose run --rm php locale -a | |
working-directory: wordpress | |
- name: Install WordPress | |
run: npm run env:install | |
working-directory: wordpress | |
- name: Run PHPUnit tests | |
run: node ./tools/local-env/scripts/docker.js run php ./vendor/bin/phpunit --verbose -c phpunit.xml.dist | |
working-directory: wordpress | |
- name: Run AJAX tests | |
run: node ./tools/local-env/scripts/docker.js run php ./vendor/bin/phpunit --verbose -c phpunit.xml.dist --group ajax | |
working-directory: wordpress | |
- name: Run ms-files tests as a multisite install | |
run: node ./tools/local-env/scripts/docker.js run php ./vendor/bin/phpunit --verbose -c tests/phpunit/multisite.xml --group ms-files | |
working-directory: wordpress | |
- name: Run external HTTP tests | |
run: | | |
sed -i 's/ test_multiple_location_headers/ disabled_test_multiple_location_headers/' tests/phpunit/tests/http/base.php | |
node ./tools/local-env/scripts/docker.js run php ./vendor/bin/phpunit --verbose -c phpunit.xml.dist --group external-http | |
working-directory: wordpress |