Skip to content

Update composer.json #67

Update composer.json

Update composer.json #67

Workflow file for this run

name: Integration
# Runs integration tests.
#
# vendor/bin/codecept run integration
#
# @author BrianHenryIE
on: ["push"]
jobs:
integration:
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.0
env:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: test
ports:
- 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
strategy:
matrix:
php: [ '7.4' ]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer, cs2pr
extensions: zip
- name: Read .env.testing
uses: c-py/action-dotenv-to-setenv@v2
with:
env-file: .env.testing
- name: Read .env.github
uses: c-py/action-dotenv-to-setenv@v2
with:
env-file: .env.github
- name: Read .env.testing
uses: c-py/action-dotenv-to-setenv@v2
with:
env-file: .env.testing
# - name: Make envfile from Secrets
# uses: SpicyPizza/[email protected]
# with:
# envkey_SECRET_NAME: ${{ secrets.SECRET_NAME }}
# directory: ${{ github.workspace }}
# file_name: .env.secret
# - name: Read .env.secret
# uses: c-py/action-dotenv-to-setenv@v2
# with:
# env-file: .env.secret
- name: Set env database host w/port
run: echo "TEST_SITE_DB_HOST=127.0.0.1:${{ job.services.mysql.ports['3306'] }}" >> $GITHUB_ENV
- name: Configure MySQL
run: |
mysql -h 127.0.0.1 --port ${{ job.services.mysql.ports['3306'] }} -u root -ppassword -e "CREATE USER '"$TEST_DB_USER"'@'%' IDENTIFIED WITH mysql_native_password BY '"$TEST_DB_PASSWORD"';";
mysql -h 127.0.0.1 --port ${{ job.services.mysql.ports['3306'] }} -u root -ppassword -e "CREATE DATABASE "$TEST_SITE_DB_NAME"; USE "$TEST_SITE_DB_NAME"; GRANT ALL PRIVILEGES ON "$TEST_SITE_DB_NAME".* TO '"$TEST_DB_USER"'@'%';";
mysql -h 127.0.0.1 --port ${{ job.services.mysql.ports['3306'] }} -u root -ppassword -e "CREATE DATABASE "$TEST_DB_NAME"; USE "$TEST_DB_NAME"; GRANT ALL PRIVILEGES ON "$TEST_DB_NAME".* TO '"$TEST_DB_USER"'@'%';";
# - name: Create Composer auth.json
# run: php -r "file_put_contents( 'auth.json', json_encode( [ 'http-basic' => [ 'blog.brianhenry.ie' => [ 'username' => '"${{ secrets.COMPOSER_AUTH_SECRET }}"', 'password' => 'satispress' ] ] ] ) );"
- name: Run composer install
uses: php-actions/composer@v6
with:
args: --ignore-platform-reqs
- name: Create wpconfig ... the composer.json creation didn't work
run: |
export $(grep -v '^#' .env.testing | xargs);
sudo vendor/bin/wp config create --dbname=$TEST_SITE_DB_NAME --dbuser=$TEST_SITE_DB_USER --dbpass=$TEST_SITE_DB_PASSWORD --dbhost=127.0.0.1:${{ job.services.mysql.ports['3306'] }} --allow-root --extra-php="define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true );"
# - name: Update site URL to match GA
# run: |
# vendor/bin/wp option update home 'http://localhost:8080'
# vendor/bin/wp option update siteurl 'http://localhost:8080'
- name: Allow writing to wp-content
run: sudo chmod -R a+w wp-content
- name: Run integration tests
run: vendor/bin/codecept run integration --report