-
Notifications
You must be signed in to change notification settings - Fork 111
145 lines (121 loc) · 4.09 KB
/
build_and_test.yml
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
name: Build and test
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build-n-test-ubuntu:
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
# The database credentials correspond to the config file
# tests\short\examples\testconfig.json
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/short/utils/installDependencies.sh
# Build AUGUSTUS
- name: Build AUGUSTUS
run: make all
# Execute unit tests
- name: Execute unit tests
run: make unit_test
# Test AUGUSTUS
- name: Test AUGUSTUS (examples folder with comparison)
run: ./execute_test.py --compare --html --mysql examples
working-directory: tests/short/
# Test bam2wig
- name: Test bam2wig
run: ./execute_test.py --compare --html bam2wig
working-directory: tests/short/
# Test bam2hints
- name: Test bam2hints
run: ./execute_test.py --compare --html bam2hints
working-directory: tests/short/
# Test filterbam
- name: Test filterbam
run: ./execute_test.py --compare --html filterbam
working-directory: tests/short/
# Upload html diffs of failed test cases
- name: Upload HTML diffs
uses: actions/upload-artifact@v2
if: failure()
with:
name: html-diffs
path: tests/short/output_html/
# Build and publich doxygen documentation (only on push in master)
- name: Build documentation
if: ${{ github.ref == 'refs/heads/master' && github.event_name == 'push' }}
uses: mattnotmitt/doxygen-action@v1
with:
doxyfile-path: 'doxygen.conf'
- name: Publish documentation of master on gh-pages
if: ${{ github.ref == 'refs/heads/master' && github.event_name == 'push' }}
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./doxygen/html/
build-n-test-macos:
runs-on: macos-latest
# 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 required dependencies
- name: Install dependencies
run: |
brew install boost
brew install zlib
brew install gsl
brew install suite-sparse
brew install lp_solve
brew install sqlite
brew install mysql
brew install mysql++
brew install bamtools
brew install samtools
brew install htslib
# Build AUGUSTUS
- name: Build AUGUSTUS
run: make all
# Execute unit tests
#TODO: make working on mac
# - name: Execute unit tests
# run: make unit_test
# Test AUGUSTUS
- name: Test AUGUSTUS (examples folder without mysql and comparison on mac)
run: ./execute_test.py examples
working-directory: tests/short/
# Test bam2wig
- name: Test bam2wig
run: ./execute_test.py --compare --html bam2wig
working-directory: tests/short/
# Test bam2hints
- name: Test bam2hints
run: ./execute_test.py --compare --html bam2hints
working-directory: tests/short/
# Test filterbam
- name: Test filterbam
run: ./execute_test.py --compare --html filterbam
working-directory: tests/short/