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