|
@@ -0,0 +1,84 @@
|
|
|
+name: PHPUnit
|
|
|
+
|
|
|
+# Controls when the workflow will run.
|
|
|
+# Run this workflow every time a new commit is pushed to your repository
|
|
|
+on: [push, pull_request]
|
|
|
+
|
|
|
+jobs:
|
|
|
+ run-tests:
|
|
|
+ # The type of runner that the job will run on
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ # Matrix Build for this job.
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ php-versions: ['7.1', '7.2']
|
|
|
+ # Name the matrix build so we can tell them apart.
|
|
|
+ name: PHPUnit Testing (PHP ${{ matrix.php-versions }})
|
|
|
+
|
|
|
+ # Service containers to run with `run-tests`
|
|
|
+ services:
|
|
|
+ # Label used to access the service container
|
|
|
+ postgres:
|
|
|
+ # Docker Hub image
|
|
|
+ image: postgres
|
|
|
+ env:
|
|
|
+ POSTGRES_USER: tripaladmin
|
|
|
+ POSTGRES_PASSWORD: somesupersecurepassword
|
|
|
+ POSTGRES_DB: testdb
|
|
|
+ # Set health checks to wait until postgres has started
|
|
|
+ options: >-
|
|
|
+ --health-cmd pg_isready
|
|
|
+ --health-interval 10s
|
|
|
+ --health-timeout 5s
|
|
|
+ --health-retries 5
|
|
|
+ ports:
|
|
|
+ # Maps tcp port 5432 on service container to the host
|
|
|
+ - 5432:5432
|
|
|
+
|
|
|
+ steps:
|
|
|
+ # Checkout the repository and setup workspace.
|
|
|
+ - uses: actions/checkout@v2
|
|
|
+
|
|
|
+ # Setup PHP according to the version passed in.
|
|
|
+ - name: Setup PHP
|
|
|
+ uses: shivammathur/setup-php@v2
|
|
|
+ with:
|
|
|
+ php-version: ${{ matrix.php-versions }}
|
|
|
+ extensions: mbstring, intl, php-pgsql, php-gd, php-xml
|
|
|
+ ini-values: memory_limit=2G
|
|
|
+ coverage: xdebug
|
|
|
+ tools: composer, phpunit
|
|
|
+
|
|
|
+ # Install Drush/Drupal/Tripal
|
|
|
+ - name: Setup Drush, Drupal 7.x, Tripal 3.x
|
|
|
+ id: tripalsetup
|
|
|
+ uses: tripal/setup-tripal-action@7.x-3.x-1.0
|
|
|
+ with:
|
|
|
+ postgres_user: tripaladmin
|
|
|
+ postgres_pass: somesupersecurepassword
|
|
|
+ postgres_db: testdb
|
|
|
+
|
|
|
+ # Install Tripal Extension Module.
|
|
|
+ - name: Install Tripal Extension Module
|
|
|
+ id: installextension
|
|
|
+ env:
|
|
|
+ DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
|
|
|
+ DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
|
|
|
+ run: |
|
|
|
+ mkdir -p $DRUPAL_ROOT/sites/all/modules/tripal_jbrowse
|
|
|
+ cp -R * $DRUPAL_ROOT/sites/all/modules/tripal_jbrowse
|
|
|
+ cd $DRUPAL_ROOT
|
|
|
+ $DRUSH en -y tripal_jbrowse_mgmt tripal_jbrowse_page
|
|
|
+
|
|
|
+ # Runs the PHPUnit tests.
|
|
|
+ # https://github.com/mheap/phpunit-github-actions-printer is used
|
|
|
+ # to report PHPUnit fails in a meaningful way to github in PRs.
|
|
|
+ - name: PHPUnit Tests
|
|
|
+ env:
|
|
|
+ DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
|
|
|
+ DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
|
|
|
+ run: |
|
|
|
+ cd $DRUPAL_ROOT/sites/all/modules/tripal_jbrowse
|
|
|
+ composer require --dev mheap/phpunit-github-actions-printer --quiet
|
|
|
+ composer update --quiet
|
|
|
+ ./vendor/bin/phpunit --printer mheap\\GithubActionsReporter\\Printer
|