Skip to content

fix translations

fix translations #333

Workflow file for this run

name: Test
on:
push:
branches:
- '*'
jobs:
ci-current:
runs-on: ubuntu-22.04
strategy:
max-parallel: 15
fail-fast: false
matrix:
include:
- php-version: 8.0
wordpress-version: "5.9.5"
woocommerce-version: "6.9.4"
- php-version: 8.1
wordpress-version: "6.1"
woocommerce-version: "7.4.1"
- php-version: 8.2
wordpress-version: "6.2"
woocommerce-version: "7.8.2"
- php-version: 8.2
wordpress-version: "6.3"
woocommerce-version: "7.9.0"
- php-version: 8.2
wordpress-version: "6.3"
woocommerce-version: "8.0.3"
- php-version: 8.2
wordpress-version: "6.3"
woocommerce-version: "8.1.0"
- php-version: 8.3
wordpress-version: "6.5"
woocommerce-version: "8.9.1"
- php-version: 8.3
wordpress-version: "6.6"
woocommerce-version: "9.1.0"
- php-version: 8.4
wordpress-version: "6.7"
woocommerce-version: "9.4.2"
name: woo v${{ matrix.woocommerce-version }}, wp v${{ matrix.wordpress-version }} @ php v${{ matrix.php-version }}
services:
mysql:
image: mysql:5.7
env:
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: wordpress
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
env:
WORDPRESS_DIR: /opt/wordpress
PLUGIN_DIR: /opt/wordpress/wp-content/plugins/wc-easycredit
WORDPRESS_DB_HOST: 127.0.0.1
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DEBUG: true
WP_CLI_ALLOW_ROOT: true
PHP_VERSION: ${{ matrix.php-version }}
steps:
- name: Checkout
uses: actions/checkout@master
- name: Setup NodeJs
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
#extensions: mbstring, curl, dom, fileinfo, gd, iconv, intl, json, xml, mbstring, pdo, phar, zip, sodium
extensions: json, curl, dom, mbstring, intl, xml, zip, apcu, opcache
tools: composer:2.1.5
coverage: xdebug
ini-values: error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT"
- name: Debug
run: |
php -v
php -i
env
node -v
- name: Install Wordpress & wooCommerce
run: |
curl -L "https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" > /usr/local/bin/wp && chmod +x /usr/local/bin/wp
mkdir -p $WORDPRESS_DIR && cd $WORDPRESS_DIR
wp core download --version=${{ matrix.wordpress-version }} --locale=de_DE
wp config create --dbhost=$WORDPRESS_DB_HOST --dbname=$WORDPRESS_DB_NAME --dbuser=$WORDPRESS_DB_USER --dbpass=$WORDPRESS_DB_PASSWORD --locale=de_DE \
--extra-php="define('WP_DEBUG',true); define('WP_DEBUG_LOG',true); define('WP_DEBUG_DISPLAY',false); define( 'FS_METHOD', 'direct' );"
wp core install --url=localhost --title=Example --admin_user=admin --admin_password=password --admin_email=info@example.com
wp plugin install woocommerce --version=${{ matrix.woocommerce-version }} --activate
wp theme install storefront --activate
wp language theme install storefront de_DE
wp language plugin install woocommerce de_DE
# fix for missing translations, lang files seem to be expected in another dir
LANG_DIR=$WORDPRESS_DIR/wp-content/languages
[ ! -d $LANG_DIR/woocommerce ] && mkdir $LANG_DIR/woocommerce
[ -f $LANG_DIR/plugins/woocommerce-de_DE.po ] && cp $LANG_DIR/plugins/woocommerce-de_DE.po $LANG_DIR/woocommerce/
[ -f $LANG_DIR/plugins/woocommerce-de_DE.mo ] && cp $LANG_DIR/plugins/woocommerce-de_DE.mo $LANG_DIR/woocommerce/
#wp option pluck woocommerce_onboarding_profile 'skipped'
wp option update woocommerce_show_marketplace_suggestions 'no'
wp option update woocommerce_allow_tracking 'no'
wp option update woocommerce_task_list_complete 'yes'
wp option update woocommerce_task_list_welcome_modal_dismissed 'yes'
wp option update woocommerce_default_country 'DE:DE-BY'
wp option update woocommerce_currency 'EUR'
wp rewrite structure '/index.php/%postname%/'
wp wc product create --name=Test --slug=Test --type=simple --status=1 --sku=test --regular_price=201 --status=publish --user=admin
PID=`wp wc product create --name=Variable --slug=Variable --type=variable --status=1 --sku=variable --regular_price=201 --status=publish --user=admin --attributes='[
{ "name": "Size", "options" : ["small", "medium", "large"], "visible": true, "variation": true }
]' --porcelain`
wp wc product_variation create $PID --attributes='[{"name":"Size","option":"small"}]' --regular_price=201 --user=admin
wp wc product_variation create $PID --attributes='[{"name":"Size","option":"medium"}]' --regular_price=21 --user=admin
wp wc product_variation create $PID --attributes='[{"name":"Size","option":"large"}]' --regular_price=21 --user=admin
- name: Install easyCredit Plugin
run: |
cd $GITHUB_WORKSPACE
composer require \
php-stubs/wordpress-stubs:v${{ matrix.wordpress-version }} \
php-stubs/woocommerce-stubs:v${{ matrix.woocommerce-version }}
composer install -n
mkdir -p $WORDPRESS_DIR/wp-content/plugins
ln -s $GITHUB_WORKSPACE/src/woocommerce-gateway-ratenkaufbyeasycredit $PLUGIN_DIR
cd $WORDPRESS_DIR
wp plugin activate wc-easycredit
echo '{"enabled":"yes","display_settings":"","title":"","instructions":"","api_details":"","api_key":"${{ secrets.EASYCREDITAPIKEY }}","api_token":"${{ secrets.EASYCREDITAPIPASSWORD }}","api_signature":"${{ secrets.EASYCREDITAPISIGNATURE }}","api_verify_credentials":"","debug":"yes","marketing_intro":"","marketing_components_express_checkout":"","express_checkout_detail_enabled":"yes","express_checkout_cart_enabled":"yes","marketing_components_widget":"","widget_enabled":"yes","widget_selector":".product .summary .price","cart_widget_enabled":"yes","cart_widget_selector":".wc-proceed-to-checkout","marketing_components_modal":"","modal_enabled":"no","modal_delay":"10","modal_snooze_for":"10","modal_src":"","marketing_components_card":"","card_enabled":"no","card_search_enabled":"no","card_position":"1","card_src":"","marketing_components_flashbox":"","flashbox_enabled":"no","flashbox_src":"","marketing_components_bar":"","bar_enabled":"no","transactions":"","mark_shipped":"no","mark_shipped_status":"wc-completed","mark_refunded":"no","mark_refunded_status":"wc-refunded","clickandcollect_intro":"","marketing_components_clickandcollect":"","clickandcollect_shipping_method":""}' | wp option set woocommerce_ratenkaufbyeasycredit_settings --format=json
- name: Static Analyze
run: |
cd $PLUGIN_DIR
php vendor/bin/phpstan analyze .
- name: Cache Node Modules
uses: actions/cache@v3
with:
path: ~/.npm
key: node-modules-${{ hashFiles('yarn.lock') }}
- name: Install Dependencies
run: |
npm install --global yarn
yarn install --frozen-lockfile
- name: Store Playwright's Version
run: |
PLAYWRIGHT_VERSION=$(npm ls @playwright/test | grep @playwright | sed 's/.*@//')
echo "Playwright's Version: $PLAYWRIGHT_VERSION"
echo "PLAYWRIGHT_VERSION=$PLAYWRIGHT_VERSION" >> $GITHUB_ENV
- name: Cache Playwright Browsers for Playwright's Version
id: cache-playwright-browsers
uses: actions/cache@v3
with:
path: ~/.cache/ms-playwright
key: playwright-browsers-${{ env.PLAYWRIGHT_VERSION }}
- name: Setup Playwright
if: steps.cache-playwright-browsers.outputs.cache-hit != 'true'
run: yarn playwright install --with-deps chromium
- name: Playwright E2E Tests
run: |
cd $GITHUB_WORKSPACE
VERSION=${{ matrix.woocommerce-version }} yarn playwright test -c tests/
- name: Save Logs for Debugging
if: always()
run: |
LOG_DIR=playwright-report/logs
mkdir $LOG_DIR
[ -f $WORDPRESS_DIR/wp-content/debug.log ] && cp -r $WORDPRESS_DIR/wp-content/debug.log $LOG_DIR/
[ -d $WORDPRESS_DIR/wp-content/uploads/wc-logs ] && cp -r $WORDPRESS_DIR/wp-content/uploads/wc-logs/*.log $LOG_DIR/
for i in $LOG_DIR/*; do
f=$(basename $i)
echo "<a href=\"$(basename $f)\">$f</a><br />" >> $LOG_DIR/index.html
done;
- name: Deploy Report
if: always()
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy playwright-report/ --project-name=easycredit-playwright-reports