forked from cpp-lln-lab/bidspm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
105 lines (83 loc) · 3.03 KB
/
.travis.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
# Travis CI (https://travis-ci.org/)
# This will only work on your repo if you have an account on travis and you
# have set it up to run continuous integration on this this repo
dist: bionic
language: node_js
node_js:
- "10"
cache:
apt: true
directories:
- node_modules
# only run the CI for those branches
branches:
only:
- master
- dev
env:
global:
- OCTFLAGS="--no-gui --no-window-system --silent"
# TODO maybe this could be refactored as this is not needed to check the
# the markdown linting
install:
# install octave
- travis_retry sudo apt-get -y -qq update
- travis_retry sudo apt-get -y install octave
- travis_retry sudo apt-get -y install liboctave-dev
# install SPM and the relevant patches for octave
- git clone https://github.com/spm/spm12.git --depth 1
- make -C spm12/src PLATFORM=octave distclean
- make -C spm12/src PLATFORM=octave
- make -C spm12/src PLATFORM=octave install
# update octave path
- octave $OCTFLAGS --eval "addpath(genpath(fullfile(pwd, 'lib'))); savepath();"
- octave $OCTFLAGS --eval "addpath(genpath(fullfile(pwd, 'src'))); savepath();"
- octave $OCTFLAGS --eval "addpath(fullfile(pwd, 'spm12')); savepath();"
jobs:
include:
#-------------------------------------------------------------------------
# first job
#-------------------------------------------------------------------------
- name: "Unit tests and coverage"
before_script:
# install MOX unit
- git clone https://github.com/MOxUnit/MOxUnit.git --depth 1
- cd MOxUnit
- make install
- cd ..
# install MOcov
- git clone https://github.com/MOcov/MOcov.git --depth 1
- cd MOcov
- make install
- cd ..
# get data
- output_folder='demos/MoAE/output/'
- mkdir $output_folder
- curl http://www.fil.ion.ucl.ac.uk/spm/download/data/MoAEpilot/MoAEpilot.bids.zip --output $output_folder'MoAEpilot.zip'
- unzip $output_folder'MoAEpilot.zip' -d $output_folder
script:
- octave $OCTFLAGS --eval "runTests"
- cat test_report.log | grep 0
# to send the results to codecov to get our code coverage
after_success:
- bash <(curl -s https://codecov.io/bash)
#-------------------------------------------------------------------------
# second job
#-------------------------------------------------------------------------
- name: "Check markdown"
before_script:
# install node.js dependencies
- npm install `cat npm-requirements.txt`
script:
- remark *.md --frail
- remark ./demos/ --frail
- remark ./docs/ --frail
- remark ./tests/ --frail
#-------------------------------------------------------------------------
# third job
#-------------------------------------------------------------------------
- name: "Run demo"
if: branch = master
script:
- cd demos/MoAE
- octave $OCTFLAGS --eval "MoAEpilot_run"