-
Notifications
You must be signed in to change notification settings - Fork 23
/
.travis.yml
94 lines (76 loc) · 3.15 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
sudo: required
services:
- docker
language: java
jdk:
- oraclejdk8
# found at https://github.com/GoogleCloudPlatform/Template/blob/master/.travis.yml
cache:
directories:
- $HOME/gcloud/
env:
global:
# These environment variables are set up for all the parallel jobs to use
- PATH=$PATH:$HOME/gcloud/google-cloud-sdk/bin GOOGLE_APPLICATION_CREDENTIALS=$TRAVIS_BUILD_DIR/client_secrets.json #Other environment variables on same line
- wget https://github.com/broadinstitute/cromwell/releases/download/34/cromwell-34.jar --directory-prefix=$TRAVIS_BUILD_DIR/tests
matrix:
# These environment variables specify that these tests will run in parallel
# We need to do this because the aligner and variant caller pipelines take
# a relatively long time to execute
- TEST_SUITE=test_CRAM_to_md5sum_checker.sh
# - TEST_SUITE=test_aligner_WDL_checker.sh
# - TEST_SUITE=test_aligner_CWL_checker.sh
# - TEST_SUITE=test_variant_caller_WDL_checker.sh
# - TEST_SUITE=test_variant_caller_CWL_checker.sh
before_install:
#ENCRYPT YOUR PRIVATE KEY (If you need authentication)
# 1. Install and login to the Travis CLI:
# $ gem install travis
# $ travis login
# 2. Move your json private key to client_secrets.json
# 3. Run:
# $ travis encrypt-file client_secrets.json --add
# 4. Commit changes:
# $ git add client_secrets.json.enc
# $ git commit client_secrets.json.enc .travis.yml
- if [ ! -d $HOME/gcloud/google-cloud-sdk ]; then
mkdir -p $HOME/gcloud &&
wget https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz --directory-prefix=$HOME/gcloud &&
cd $HOME/gcloud &&
tar xzf google-cloud-sdk.tar.gz &&
printf '\ny\n\ny\ny\n' | ./google-cloud-sdk/install.sh &&
cd $TRAVIS_BUILD_DIR;
fi
# - gcloud -q components update
- if [ -a client_secrets.json ]; then
gcloud -q auth activate-service-account --key-file client_secrets.json;
fi
install:
- docker version
- pip2.7 install --user setuptools==36.5.0
- pip2.7 install --user cwl-runner cwltool==1.0.20170828135420 schema-salad==2.6.20170806163416 avro==1.8.1 ruamel.yaml==0.14.12 requests==2.18.4
# Install crcmod for faster gsutil downloads
# https://cloud.google.com/storage/docs/gsutil/addlhelp/CRC32CandInstallingcrcmod
- sudo -H apt-get install gcc python-dev python-setuptools
- sudo -H easy_install -U pip
#- sudo -H pip uninstall crcmod
- sudo -H pip install -U crcmod
script:
# Execute each line separately using the literal style block scalar for yaml
# http://yaml.org/spec/1.2/spec.html#id2795688
- |
cwltool --version
java -version
java -jar cromwell-34.jar --version
gsutil --version
pwd
ls -al
df -h
sudo du -hsx ./* | sort -n | head -100
java -XX:+PrintCommandLineFlags
cd $TRAVIS_BUILD_DIR/tests/
pwd
ls -al
# Have Travis CI wait for a set time even if the workflows do not provide output
# for 30 seconds
travis_wait 55 ./$TEST_SUITE