feat: granular plugin setting #3745
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: Unit Tests / PHP (v7.3.5) | |
on: | |
push: | |
branches: [ master, develop ] | |
pull_request: | |
branches: [ master, develop ] | |
jobs: | |
build: | |
# Use Ubuntu 18.04. | |
runs-on: ubuntu-18.04 | |
strategy: | |
matrix: | |
wp-versions: ['6.3.5'] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/checkout@v2 # Checkout the Stackable Premium repo. | |
with: | |
repository: 'bfintal/Stackable-Premium' | |
ref: 'v3' | |
path: 'pro__premium_only' | |
token: '${{ secrets.ACCESS_KEY }}' | |
# Change the PHP version to v7.3.5 | |
- name: Setup PHP v7.3.5 | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '7.3.5' | |
# Check the current PHP version installed | |
- name: Check PHP version | |
run: php -v | |
# Install all dependencies from composer.json | |
- name: Install dependencies | |
run: | | |
composer require phpunit/phpunit:5.6.8 --dev | |
composer require wp-phpunit/wp-phpunit:${{ matrix.wp-versions }} --dev | |
composer require roots/wordpress:${{ matrix.wp-versions }} --dev | |
composer install --prefer-dist --no-progress | |
- name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 14.x | |
- name: Build Stackable Free Plugin | |
run: | | |
npm ci | |
npm run build --if-present | |
- name: Setup MySQL | |
uses: mirromutth/[email protected] | |
with: | |
mysql database: 'stackable' # Optional, default value is "test". The specified database which will be create | |
mysql root password: 'root' # Required if "mysql user" is empty, default is empty. The root superuser password | |
mysql version: '5.6' | |
mysql user: 'root' # Required if "mysql root password" is empty, default is empty. The superuser for the specified database. Can use secrets, too | |
mysql password: 'root' # Required if "mysql user" exists. The password for the "mysql user" | |
# Wait for MySQL server to initialize. | |
- name: Wait for MySQL | |
run: | | |
while ! mysqladmin ping --host=127.0.0.1 --password=root --silent; do | |
sleep 1 | |
done | |
# Run all tests. | |
- name: Run test suite | |
env: | |
MYSQL_GITHUB_ACTION: true | |
MYSQL_DATABASE: stackable | |
MYSQL_USER: root | |
MYSQL_PASSWORD: root | |
MYSQL_ROOT_PASSWORD: root | |
MYSQL_PORT: 3306 | |
run: composer run-script test |