forked from duplicati/duplicati
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
97 lines (93 loc) · 5.39 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
language: csharp
solution: Duplicati.sln
install:
- nuget restore Duplicati.sln
- nuget install NUnit.Runners -Version 3.5.0 -OutputDirectory testrunner
- sudo pip install selenium
- if [ ! -d ~/build/duplicati/duplicati/packages/SharpCompress.0.18.2 ]; then ln -s ~/build/duplicati/duplicati/packages/sharpcompress.0.18.2 ~/build/duplicati/duplicati/packages/SharpCompress.0.18.2; fi
addons:
sauce_connect:
username: $SAUCE_USERNAME
access_key: $SAUCE_ACCESS_KEY
coverity_scan:
project:
name: "duplicati/duplicati"
description: "Duplicati Build submitted via Travis CI"
notification_email: kenneth@duplicati.com
build_command_prepend: "msbuild /t:Clean"
build_command: "msbuild /t:Rebuild"
branch_pattern: coverity_scan
env:
global:
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "ijaQDcVcMo/utuP514FiDZVGR5LJbATWmYDmgRIIaI0YG2Rk6uuJp9XXDXr8sx66JWttPGgs7Htqfy50VKHdr7nsfyCQCRNGmqF+OJeUgAQMj5spxn9A7PZY9+GVhnXoJ06wvYjCv5MPeLBMDK/KpIM5Ny5IG+TKzQy4U7Dyg0riMUT61aqzxSjTGfHZPmaqBICJTzsRmeGHglemFUz/1B4NAN+IeAtXoH9YIfA2LjJfYmMLckPgFQLKN/tQRaGPWXh77y0qVgA++K8UVu5W3yGo3JXBPDdabGgKs9BPlfN5/Ixnkcy6ekAubDA/Aspur9x7/szj4/AnGMY6frNB33nQcnJQZ/51GYKr6CXCmjoJQuWc8ZKdEMqDn3w/kyEzvluSjAsJNRVboeWPE4VfpAeUBsjQ+TuEQi8WXhN8VJgZV7yCkVlZTVbhtOxMPsBiFb74lpWC2iQuWLJv9ED6vyXZVzZhNtfjXNXNZzIwYxbcd7I0ZQ8fmDstFnvBJveJby2ZRpECXTbc03eIUq1SAaVJJY2r47RD1PwVqM3xvUTljIqtKdyIz915mEOjqG1BnCDaiGHYJ4byuDDeIUZO9X70s60Gh4hupZA2Ruup0v7SfYgkto6aNcStd0NYd716Vd7hqXNTp6nu01L5YYJDY4h5sHyBXVXbxCKlUb01kUw="
general:
- USAGEREPORTER_Duplicati_LEVEL=none
- AUTOUPDATER_Duplicati_SKIP_UPDATE=1
matrix:
- JOB=job1
- JOB=job2
- JOB=job3
notifications:
webhooks:
urls:
- $GITTER_WEBHOOK_URL
on_success: always
on_failure: always
on_start: never
cache:
directories:
- $HOME/download
before_install:
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
script:
# build duplicati
- ls -la ~/build/duplicati/duplicati/packages/
- echo "travis_fold:start:build_duplicati"
- msbuild /p:Configuration=Release Duplicati.sln
- echo "travis_fold:end:build_duplicati"
- cp -r ./Duplicati/Server/webroot ./Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Release/webroot
# download and extract testdata
- echo "travis_fold:start:download_extract_testdata"
- ls -la .
- if [ ! -d ~/download ]; then mkdir ~/download; fi
- if [ ! -f ~/download/DSMCBE.zip ]; then wget "https://s3.amazonaws.com/duplicati-test-file-hosting/DSMCBE.zip" -O ~/download/DSMCBE.zip; fi
- if [ ! -f ~/download/data.zip ]; then wget "https://s3.amazonaws.com/duplicati-test-file-hosting/data.zip" -O ~/download/data.zip; fi
- ls -la .
- mkdir ~/testdata
- mkdir ~/testdata/data
- mkdir ~/testdata/DSMCBE
- unzip -q ~/download/DSMCBE.zip -d ~/testdata/
- unzip -q ~/download/data.zip -d ~/testdata/
- chown -R travis ~/testdata/
- chmod -R 755 ~/testdata
- ls -la ~/testdata
- ls -la ~/testdata/DSMCBE
- ls -la ~/testdata/data
- echo "travis_fold:end:download_extract_testdata"
# run unit tests
- echo "travis_fold:start:unit_tests_border"
- if [[ "$JOB" == "job1" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==Border --workers=1; fi
- echo "travis_fold:end:unit_tests_border"
- echo "travis_fold:start:unit_tests_bulknormal"
- if [[ "$JOB" == "job2" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==BulkNormal --workers=1; fi
- echo "travis_fold:end:unit_tests_bulknormal"
- echo "travis_fold:start:unit_tests_bulknosize"
- if [[ "$JOB" == "job2" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==BulkNoSize --workers=1; fi
- echo "travis_fold:end:unit_tests_bulknosize"
- echo "travis_fold:start:unit_tests_svndata"
- if [[ "$JOB" == "job1" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==SVNData --workers=1; fi
- echo "travis_fold:end:unit_tests_svndata"
- echo "travis_fold:start:unit_tests_svndatalong"
- if [[ "$JOB" == "job1" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==SVNDataLong --workers=1; fi
- echo "travis_fold:end:unit_tests_svndatalong"
- echo "travis_fold:start:unit_tests_targeted"
- if [[ "$JOB" == "job1" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==Targeted --workers=1; fi
- echo "travis_fold:end:unit_tests_targeted"
- echo "travis_fold:start:unit_tests_purge"
- if [[ "$JOB" == "job3" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==Purge --workers=1; fi
- echo "travis_fold:end:unit_tests_purge"
# start server and run gui tests
- mono ./Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Release/Duplicati.Server.exe &
- if [[ "$JOB" == "job3" ]]; then python guiTests/guiTest.py; fi