123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- 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
|