1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
# This is a workflow to build AUGUSTUS and test the examples directory
name: Test examples
# Controls when the action will run. Triggers the workflow on push
# events but only for the master and the 'testing' branch
on:
push:
branches:
- master
pull_request:
branches:
- master
env:
TOOLDIR: '${{ github.workspace }}/required_tools'
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build_and_test"
build_and_test:
# The type of runner that the job will run on
runs-on: ubuntu-20.04
services:
# Label used to access the service container
mysql:
# Docker Hub image
image: mysql:5.7
# Provide the config for MySQL
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: aug_vertebrates
MYSQL_USER: augustus
MYSQL_PASSWORD: aug_passwd
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v2
# Install python-mysql-connector
- name: Install python-mysql-connector
run: pip3 install mysql-connector-python
# Install required dependencies
- name: Install dependencies
run: sudo ./tests/examples/installDependencies
# Build tools
- name: Clone and build tools
run: ./tests/examples/buildTools
# Build AUGUSTUS
- name: Build AUGUSTUS
run: make all
# Test AUGUSTUS
- name: Test AUGUSTUS (examples folder)
run: ./testcases.py --compare --mysql --html
working-directory: tests/examples/
# Upload html diffs of failed test cases
- name: Upload HTML diffs
uses: actions/upload-artifact@v2
if: failure()
with:
name: html-diffs
path: tests/examples/output_html/
|