Skip to content

Merge pull request #6 from UofS-Pulse-Binfo/ambiguous-checkbox #51

Merge pull request #6 from UofS-Pulse-Binfo/ambiguous-checkbox

Merge pull request #6 from UofS-Pulse-Binfo/ambiguous-checkbox #51

Workflow file for this run

name: Run PHPUnit Tests
# Controls when the workflow will run.
# Run this workflow every time a new commit is pushed to your repository
on: [push, pull_request]
jobs:
# This key is the name of the job.
run-tests:
# The type of system that the job will run on.
runs-on: ubuntu-latest
# Matrix Build for this job.
strategy:
matrix:
php-versions: ['7.4.0']
# Name the matrix build so we can tell them apart.
name: PHP Unit Testing of Helium Exporter Module (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:9.3
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:
# 1) Checkout the repository and setup workspace.
- uses: actions/checkout@v2
# 2) 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
# 3) Install Drush/Drupal/Tripal
- name: Setup Drush, Drupal 7.x, Tripal 3.x
id: tripalsetup
uses: tripal/[email protected]
with:
postgres_user: tripaladmin
postgres_pass: somesupersecurepassword
postgres_db: testdb
# LIBRARIES:
# 4-a) Install Spreadsheet Reader Libraries
- name: Install Spreadsheet Reader Libraries
id: installspreadsheetreader
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
cd $DRUPAL_ROOT/sites/all/libraries
git clone https://github.com/nuovo/spreadsheet-reader
# 4-b) Install XLS Writter Libraries
- name: Install XLS Writer Libraries
id: installxlswriter
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
cd $DRUPAL_ROOT/sites/all/libraries
git clone https://github.com/SystemDevil/PHP_XLSXWriter_plus
# 4-c) Install D3 Libraries
- name: Install D3 Libraries
id: installd3
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
cd $DRUPAL_ROOT/sites/all/libraries
wget https://github.com/d3/d3/releases/download/v3.5.14/d3.zip && unzip d3.zip
mkdir d3 && mv d3.js d3/ && mv d3.min.js d3/
# DEPENDENCIES:
# 5-a) Install Libraries Dependencies
- name: Install Libraries Dependencies
id: installlibraries
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
cd $DRUPAL_ROOT
$DRUSH en libraries -y
# 5-b) Install Drag and Drop Upload Dependencies
- name: Install Drag and Drop Upload Dependencies
id: installdraganddropupload
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
cd $DRUPAL_ROOT/sites/all/modules
drush pm-download dragndrop_upload
$DRUSH en dragndrop_upload dragndrop_upload_element -y
# 6) Install Raw Phenotypes.
- name: Install Raw Phenotypes
id: installrawphenotypes
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
cd $DRUPAL_ROOT/sites/all/modules
git clone https://github.com/UofS-Pulse-Binfo/rawphenotypes.git
cd $DRUPAL_ROOT/sites/all/libraries/spreadsheet-reader
git apply $DRUPAL_ROOT/sites/all/modules/rawphenotypes/spreadsheet-reader.patch
# 6-a) Enable Raw Phenotypes
- name: Enable Raw Phenotypes
id: enablerawphenotypes
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
cd $DRUPAL_ROOT
$DRUSH en -y rawpheno
# 7) Install Tripal Download API
- name: Install Tripal Download API Dependencies
id: installtripaldownloadapi
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
cd $DRUPAL_ROOT/sites/all/modules
git clone https://github.com/tripal/trpdownload_api.git
cd $DRUPAL_ROOT
$DRUSH en -y trpdownload_api
# 8) Install Helium Exporter
- name: Install Helium Exporter
id: installheliumexporter
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
mkdir -p $DRUPAL_ROOT/sites/all/modules/helium_exporter
cp -R * $DRUPAL_ROOT/sites/all/modules/helium_exporter
cd $DRUPAL_ROOT
$DRUSH en -y helium_exporter
# 9) Runs the PHPUnit tests.
- name: PHPUnit Tests
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
cd $DRUPAL_ROOT/sites/all/modules/helium_exporter
composer require --dev mheap/phpunit-github-actions-printer
composer update --quiet
./vendor/bin/phpunit