Skip to content

Commit

Permalink
Merge pull request #2 from UofS-Pulse-Binfo/github-actions-integration
Browse files Browse the repository at this point in the history
Implements GitHub Actions
  • Loading branch information
laceysanderson authored Mar 12, 2021
2 parents c055512 + c5b4ce1 commit b3b076e
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 33 deletions.
102 changes: 102 additions & 0 deletions .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@

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.1', '7.2']
# Name the matrix build so we can tell them apart.
name: PHP Unit Testing of Chado Custom Search 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
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


# DEPENDENCIES:

# 5) Install Tripal Download API Dependencies
- 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
# 6) Install Chado Custom Search.
- name: Install Chado Custom Search
id: installchadocustomsearch
env:
DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
run: |
mkdir -p $DRUPAL_ROOT/sites/all/modules/chado_custom_search
cp -R * $DRUPAL_ROOT/sites/all/modules/chado_custom_search
cd $DRUPAL_ROOT
$DRUSH en -y chado_custom_search
# 7) 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/chado_custom_search
composer require --dev mheap/phpunit-github-actions-printer --quiet
composer update --quiet
./vendor/bin/phpunit --printer mheap\\GithubActionsReporter\\Printer
33 changes: 0 additions & 33 deletions .travis.yml

This file was deleted.

0 comments on commit b3b076e

Please sign in to comment.