From ced1ebd0ad280d3c570fd03c946d60f61b21fbb1 Mon Sep 17 00:00:00 2001 From: David Seveloff Date: Sat, 16 Nov 2024 17:51:45 +0200 Subject: [PATCH 1/9] Build env with docker --- docker-compose.yml | 71 +++++++++++++++++++++++++++++++++++++--------- package.json | 2 +- 2 files changed, 59 insertions(+), 14 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index d085c3eec757..5588b66b0e70 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,24 +1,69 @@ -version: '3.1' +version: '3.9' services: + # Database + db: + image: mysql:8.0 + volumes: + - db_data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: password + MYSQL_DATABASE: wordpress + MYSQL_USER: wordpress + MYSQL_PASSWORD: wordpress + networks: + - wpsite - mysql: - image: mysql:5.7 + # phpMyAdmin + phpmyadmin: + depends_on: + - db + image: phpmyadmin:latest + restart: always ports: - - 3308:3306 + - '8081:80' environment: + PMA_HOST: db MYSQL_ROOT_PASSWORD: password - MYSQL_DATABASE: wordpress_test + networks: + - wpsite - wordpress_phpunit: - image: pojome/phpunit-local - environment: - PHPUNIT_DB_HOST: mysql + # WordPress + wordpress: + depends_on: + - db + image: wordpress:latest + ports: + - '8000:80' + restart: always volumes: - - .:/app - - testsuite:/tmp + - ./wordpress:/var/www/html + environment: + WORDPRESS_DB_HOST: db:3306 + WORDPRESS_DB_USER: wordpress + WORDPRESS_DB_PASSWORD: wordpress + networks: + - wpsite + + wpcli: depends_on: - - mysql + - db + - wordpress + image: wordpress:cli + links: + - db:db + entrypoint: wp + command: "--info" + container_name: ${COMPOSE_PROJECT_NAME}_wpcli + volumes: + - ${WORDPRESS_DATA_DIR:-./wordpress}:/var/www/html + working_dir: /var/www/html + + +networks: + wpsite: + volumes: - testsuite: + db_data: diff --git a/package.json b/package.json index a4fc2a764a72..b7b88ba692e0 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "test:linux": "node ./run-on-linux.js", "build": "composer install --optimize-autoloader --prefer-dist && composer install --no-scripts --no-dev && composer dump-autoload && grunt build", "setup-templates": "rm -rf ./templates && mkdir -p ./templates/playwright && mkdir -p ./templates/lighthouse && cp ./tests/playwright/templates/* ./templates/playwright && cp ./tests/lighthouse/templates/* ./templates/lighthouse", - "start-local-server": "npm run setup-templates && wp-env start", + "start-local-server": "npm run setup-templates && docker-compose up -d", "test:php": "docker-compose run --rm wordpress_phpunit phpunit", "test:php_multisite": "docker-compose run -e WP_MULTISITE=1 --rm wordpress_phpunit phpunit", "test:setup:playwright": "wp-env run cli bash elementor-config/setup.sh && wp-env run tests-cli bash elementor-config/setup.sh", From e6f7279eaab2fd2d8297f299883b0c401ef3ceba Mon Sep 17 00:00:00 2001 From: David Seveloff Date: Sat, 16 Nov 2024 17:54:50 +0200 Subject: [PATCH 2/9] wip --- .github/workflows/build.yml | 3 ++- docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0db93d8e1cd6..72038d5e24cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -76,7 +76,8 @@ jobs: echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV echo "PLUGIN_FOLDER_FILENAME=$PLUGIN_FOLDER_FILENAME" >> $GITHUB_ENV - + - name: Create Site + run: wp site create --slug=elementor --title=Elementor -- admin_user=admin --admin_password=password - - name: Build plugin if: github.event.pull_request.title == null || steps.changelog_diff_files.outputs.diff uses: ./.github/workflows/build-plugin diff --git a/docker-compose.yml b/docker-compose.yml index 5588b66b0e70..d7efc4d92694 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -35,7 +35,7 @@ services: - db image: wordpress:latest ports: - - '8000:80' + - '8888:80' restart: always volumes: - ./wordpress:/var/www/html From 21f49b98d6ab6297873cf28e89f9b4c95ac59953 Mon Sep 17 00:00:00 2001 From: David Seveloff Date: Sat, 16 Nov 2024 21:34:48 +0200 Subject: [PATCH 3/9] wip --- .github/workflows/playwright.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 95ddb13c1d3f..7e1ecf4a0588 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -165,7 +165,7 @@ jobs: test-result: needs: Playwright - if: ${{ always() }} # Will be run even if 'Playwright' matrix will be skipped +# if: ${{ always() }} # Will be run even if 'Playwright' matrix will be skipped runs-on: ubuntu-22.04 name: Playwright - Test Results steps: From f79aba5afc7c1f530833227e903d37eac41de5de Mon Sep 17 00:00:00 2001 From: David Seveloff Date: Sat, 16 Nov 2024 21:37:54 +0200 Subject: [PATCH 4/9] wip --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 72038d5e24cb..a11a8863d68a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: build-plugin: name: Build plugin runs-on: ubuntu-22.04 - if: startsWith( github.repository, 'elementor/' ) + # if: startsWith( github.repository, 'elementor/' ) outputs: artifact_name: ${{ env.PLUGIN_FOLDER_FILENAME}} changelog_diff: ${{ steps.changelog_diff_files.outputs.diff }} From 49f2b7f09dfac5e8b6e24d42c6428a5ccf56cfcf Mon Sep 17 00:00:00 2001 From: David Seveloff Date: Sun, 17 Nov 2024 09:41:48 +0200 Subject: [PATCH 5/9] wip --- .github/workflows/build.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a11a8863d68a..032770209909 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -77,7 +77,10 @@ jobs: echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV echo "PLUGIN_FOLDER_FILENAME=$PLUGIN_FOLDER_FILENAME" >> $GITHUB_ENV - name: Create Site - run: wp site create --slug=elementor --title=Elementor -- admin_user=admin --admin_password=password - + run: | + wp --info + wp core version + wp site create --slug=elementor --title=Elementor -- admin_user=admin --admin_password=password - - name: Build plugin if: github.event.pull_request.title == null || steps.changelog_diff_files.outputs.diff uses: ./.github/workflows/build-plugin From 3ad403f4edf821155bb0d68cdc2d235722aab151 Mon Sep 17 00:00:00 2001 From: David Seveloff Date: Sun, 17 Nov 2024 10:14:50 +0200 Subject: [PATCH 6/9] wip --- .github/workflows/playwright.yml | 13 +++++++++++++ package.json | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 7e1ecf4a0588..6955bc15b3af 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -47,6 +47,8 @@ concurrency: cancel-in-progress: true jobs: + build-site: + build-plugin: name: Build plugin uses: ./.github/workflows/build.yml @@ -87,6 +89,17 @@ jobs: - name: Install WordPress environment run: | npm run start-local-server + - name: Wait for services to start + run: sleep 30 + + - name: Run WP-CLI Command + run: | + docker compose run wpcli wp core install \ + --url="http://localhost:8888" \ + --title="My WordPress Site" \ + --admin_user="admin" \ + --admin_password="adminpassword" \ + --admin_email="admin@example.com" - name: Update wordpress to nightly build if: ${{ github.event_name == 'schedule' }} run: npx wp-env run cli wp core update https://wordpress.org/nightly-builds/wordpress-latest.zip diff --git a/package.json b/package.json index b7b88ba692e0..21a765d7ab52 100644 --- a/package.json +++ b/package.json @@ -14,12 +14,13 @@ "test:linux": "node ./run-on-linux.js", "build": "composer install --optimize-autoloader --prefer-dist && composer install --no-scripts --no-dev && composer dump-autoload && grunt build", "setup-templates": "rm -rf ./templates && mkdir -p ./templates/playwright && mkdir -p ./templates/lighthouse && cp ./tests/playwright/templates/* ./templates/playwright && cp ./tests/lighthouse/templates/* ./templates/lighthouse", - "start-local-server": "npm run setup-templates && docker-compose up -d", + "start-local-server": "npm run setup-templates && docker-compose up -d docker ps", "test:php": "docker-compose run --rm wordpress_phpunit phpunit", "test:php_multisite": "docker-compose run -e WP_MULTISITE=1 --rm wordpress_phpunit phpunit", "test:setup:playwright": "wp-env run cli bash elementor-config/setup.sh && wp-env run tests-cli bash elementor-config/setup.sh", "test:playwright": "playwright test -c tests/playwright/playwright.config.ts", "test:playwright:debug": "npm run test:playwright -- --debug", + "test:playwright:debug": "npm run test:playwright -- --debug", "test:playwright:elements-regression": "playwright test -c tests/elements-regression/playwright.config.ts", "test:playwright:elements-regression:linux": "node ./tests/elements-regression/scripts/run-on-linux.js", "test:playwright:elements-regression:linux:update-snapshots": "npm run test:playwright:elements-regression:linux -- -u", From 4941c4bef99ba1faec2d13d78978907de377eddf Mon Sep 17 00:00:00 2001 From: David Seveloff Date: Sun, 17 Nov 2024 10:29:30 +0200 Subject: [PATCH 7/9] wip --- .github/workflows/build.yml | 5 ----- .github/workflows/playwright.yml | 3 --- docker-compose.yml | 5 +++-- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 032770209909..7ba461191714 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -76,11 +76,6 @@ jobs: echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV echo "PLUGIN_FOLDER_FILENAME=$PLUGIN_FOLDER_FILENAME" >> $GITHUB_ENV - - name: Create Site - run: | - wp --info - wp core version - wp site create --slug=elementor --title=Elementor -- admin_user=admin --admin_password=password - - name: Build plugin if: github.event.pull_request.title == null || steps.changelog_diff_files.outputs.diff uses: ./.github/workflows/build-plugin diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 6955bc15b3af..a7ed02b89da8 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -47,8 +47,6 @@ concurrency: cancel-in-progress: true jobs: - build-site: - build-plugin: name: Build plugin uses: ./.github/workflows/build.yml @@ -91,7 +89,6 @@ jobs: npm run start-local-server - name: Wait for services to start run: sleep 30 - - name: Run WP-CLI Command run: | docker compose run wpcli wp core install \ diff --git a/docker-compose.yml b/docker-compose.yml index d7efc4d92694..0f920f7fe9ce 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -53,12 +53,13 @@ services: image: wordpress:cli links: - db:db - entrypoint: wp - command: "--info" + entrypoint: tail -f /dev/null container_name: ${COMPOSE_PROJECT_NAME}_wpcli volumes: - ${WORDPRESS_DATA_DIR:-./wordpress}:/var/www/html working_dir: /var/www/html + command: + - networks: From 9c2d1579b3c303bf884997f469421dd69f780aaa Mon Sep 17 00:00:00 2001 From: David Seveloff Date: Sun, 17 Nov 2024 10:38:39 +0200 Subject: [PATCH 8/9] wip --- .github/workflows/playwright.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index a7ed02b89da8..54c8b70b8f6c 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -84,11 +84,15 @@ jobs: PHP_VERSION: '8.0' WP_CORE_VERSION: 'latest' run: node ./.github/scripts/build-wp-env.js + - name: Install Docker Compose + run: | + sudo apt-get update + sudo apt-get install -y docker-compose - name: Install WordPress environment run: | npm run start-local-server - - name: Wait for services to start - run: sleep 30 + - name: Wait for services to start + run: sleep 30 - name: Run WP-CLI Command run: | docker compose run wpcli wp core install \ From 41041f3985db93db4c37027a13f341a5a7680df0 Mon Sep 17 00:00:00 2001 From: David Seveloff Date: Sun, 17 Nov 2024 10:39:12 +0200 Subject: [PATCH 9/9] wip --- .github/workflows/playwright.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 54c8b70b8f6c..613b792b44e4 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -88,6 +88,8 @@ jobs: run: | sudo apt-get update sudo apt-get install -y docker-compose + - name: Check Docker Compose Version + run: docker compose version - name: Install WordPress environment run: | npm run start-local-server