Explorar o código

Create phpunit test github action.

Lacey-Anne Sanderson %!s(int64=4) %!d(string=hai) anos
pai
achega
b2ffd7f0e8
Modificáronse 1 ficheiros con 83 adicións e 0 borrados
  1. 83 0
      .github/workflow/phpunit-tests.yml

+ 83 - 0
.github/workflow/phpunit-tests.yml

@@ -0,0 +1,83 @@
+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: |
+        cp -R * $DRUPAL_ROOT/sites/all/modules/tripal_jbrowse
+        $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
+          composer update
+          cp tests/.travis.env tests/.env
+          ./vendor/bin/phpunit --printer mheap\\GithubActionsReporter\\Printer