22# This will only work on your repo if you have an account on travis and you
33# have set it up to run continuous integration on this this repo
44
5- # Linux distribution (bionic beaver)
65dist : bionic
76
8- # Language and version
9- language : python
10- python :
11- - " 3.6" # current default Python on Travis CI
7+ language : node_js
8+ node_js :
9+ - " 10"
1210
1311cache :
14- apt : true # only works with Pro version
12+ apt : true
1513 directories :
16- - node_modules # NPM packages for the remark markdown linter
14+ - node_modules
1715
16+ # only run the CI for those branches
1817branches :
19- only : # only run the CI for those branches
20- - master
21- - dev
18+ only :
19+ - master
20+ - dev
2221
2322env :
2423 global :
2524 - OCTFLAGS="--no-gui --no-window-system --silent"
2625
27- jobs :
26+ # TODO maybe this could be refactored as this is not needed to check the
27+ # the markdown linting
28+ install :
29+ # install octave
30+ - travis_retry sudo apt-get -y -qq update
31+ - travis_retry sudo apt-get -y install octave
32+ - travis_retry sudo apt-get -y install liboctave-dev
33+
34+ # install SPM and the relevant patches for octave
35+ - git clone https://github.com/spm/spm12.git --depth 1
36+ - make -C spm12/src PLATFORM=octave distclean
37+ - make -C spm12/src PLATFORM=octave
38+ - make -C spm12/src PLATFORM=octave install
2839
40+ # update octave path
41+ - octave $OCTFLAGS --eval "addpath(genpath(fullfile(pwd, 'lib'))); savepath();"
42+ - octave $OCTFLAGS --eval "addpath(genpath(fullfile(pwd, 'src'))); savepath();"
43+ - octave $OCTFLAGS --eval "addpath(fullfile(pwd, 'spm12')); savepath();"
44+
45+ jobs :
2946 include :
3047
31- # names the first job
48+ # -------------------------------------------------------------------------
49+ # first job
50+ # -------------------------------------------------------------------------
3251 - name : " Unit tests and coverage"
3352
34- before_install :
35- # install octave
36- - travis_retry sudo apt-get -y -qq update
37- - travis_retry sudo apt-get -y install octave
38- - travis_retry sudo apt-get -y install liboctave-dev
53+ before_script :
54+
3955 # install MOX unit
4056 - git clone https://github.com/MOxUnit/MOxUnit.git --depth 1
4157 - cd MOxUnit
4258 - make install
4359 - cd ..
60+
4461 # install MOcov
4562 - git clone https://github.com/MOcov/MOcov.git --depth 1
4663 - cd MOcov
4764 - make install
4865 - cd ..
49- # install SPM and the relevant patches for octave
50- - git clone https://github.com/spm/spm12.git --depth 1
51- - make -C spm12/src PLATFORM=octave distclean
52- - make -C spm12/src PLATFORM=octave
53- - make -C spm12/src PLATFORM=octave install
66+
5467 # get data
5568 - output_folder='demos/MoAE/output/'
5669 - mkdir $output_folder
5770 - curl http://www.fil.ion.ucl.ac.uk/spm/download/data/MoAEpilot/MoAEpilot.bids.zip --output $output_folder'MoAEpilot.zip'
5871 - unzip $output_folder'MoAEpilot.zip' -d $output_folder
59-
72+
6073 script :
6174 - octave $OCTFLAGS --eval "runTests"
6275 - cat test_report.log | grep 0
@@ -65,11 +78,28 @@ jobs:
6578 after_success :
6679 - bash <(curl -s https://codecov.io/bash)
6780
81+ # -------------------------------------------------------------------------
82+ # second job
83+ # -------------------------------------------------------------------------
6884 - name : " Check markdown"
69- language : node_js
70- node_js :
71- - " 10"
85+
7286 before_script :
87+ # install node.js dependencies
7388 - npm install `cat npm-requirements.txt`
89+
90+ script :
91+ - remark *.md --frail
92+ - remark ./demos/ --frail
93+ - remark ./docs/ --frail
94+ - remark ./tests/ --frail
95+
96+ # -------------------------------------------------------------------------
97+ # third job
98+ # -------------------------------------------------------------------------
99+ - name : " Run demo"
100+
101+ if : branch = master
102+
74103 script :
75- - remark ./docs/ --frail
104+ - cd demos/MoAE
105+ - octave $OCTFLAGS --eval "MoAEpilot_run"
0 commit comments