forked from kiwitcms/Kiwi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
154 lines (133 loc) · 5.1 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
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
146
147
148
149
150
151
152
153
154
dist: xenial
sudo: required
language: python
python:
- "3.6"
cache: pip
env:
global:
- CC_TEST_REPORTER_ID=95caa6c770dbc4ca15944ed22c5fa840e1cc61627d199d11eedbf08e6a0482ee
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "AFMd4dRA1psBKd1LohQMxwL9vmAUvPrMzvBiU4w6mRX87Sskz69sLXAXivYvl/Eli+vzqIQat0VFOuymC4ScKhON1rbSJ5F/DQElToAPPNT2GXIaMCRA+ILOX28wFvC6/wqpvYuIf4yN19t2rSkNy0AqTH1RhPNkCHyiMcs0V6ztmlxobn1F9TYPCO8i1B+ZFez7rnUeQVaoXW3Cv4X8rjbkBd9iQQF/wfn8k71LeY2KB0fCxmjzFDQwXLnldka4lLWRuTPBcdKf57MveorMSJ5afLr/wd4IXKdoM3oUa6Us73T1+OvC3cOVlG7z49bP5VVz0xMq6qcmnQEOxMhO8wUNtkMssBz89BwC39LKMOxcASFF8F5joTWCfN+s2k2bsV/lNuKCspOEji+KTdSnMFMlo3LxQ8rt1cMNOrHvnmYJjteQ00IXrXhxdFeGGOrko0qQU1iPW4FjRsHOeNqdMMDKKvTO27odgJbNYF7lo3nWgPXVGqteMhpvxnoS2JR9ettGZJQueDrAzSmCe9Akc0hGwvyUTsyjaYLIAdxmaqKZtu1G+Otep11Rjf0gXaNLSZ/Pm02BHrOdLqTsRuTihHuR/W2HHuJrw44u2nF/3oer+bfAAGpdK0e6NqaZgmLSEN340FDcJ9sG6oGMo6cYGQWqzNUf3/gS4K7TvWhw10M="
services:
- mysql
- postgresql
addons:
apt:
sources:
- sourceline: 'deb http://archive.ubuntu.com/ubuntu/ artful main restricted'
- sourceline: 'deb http://archive.ubuntu.com/ubuntu/ artful-updates main restricted'
packages:
# update sqlite3 to get rid of segmentation faults with Django 2.0, for example:
# https://travis-ci.org/kiwitcms/Kiwi/jobs/322848116
# all sources I've read point to possible issues with sqlite itself
- sqlite3
jobs:
include:
- env:
- CMD=bandit
- if: branch = master AND type = push
env:
- CMD=bandit_site_packages
- if: branch = master AND type = push
env:
- CMD=coverity
addons:
coverity_scan:
project:
name: "kiwitcms/Kiwi"
description: "Open source test case management system"
notification_email: [email protected]
build_command: "--no-command --fs-capture-search ./ --fs-capture-search $(python -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())')"
branch_pattern: master
- env:
- CMD=pylint
- env:
- CMD=test
- TEST_DB=SQLite
- env:
- CMD=test
- TEST_DB=MariaDB
- LANG=sl
addons:
mariadb: 10.3
- env:
- CMD=test
- TEST_DB=Postgres
- LANG=fr
addons:
postgresql: 10
apt:
packages:
- postgresql-10
- postgresql-client-10
- if: branch = master AND type = push
env:
- CMD=test
- TEST_DB=MySQL
- env:
- CMD=check-docs-source-in-git
addons:
apt:
packages:
- graphviz
- env:
- CMD=doc8
- env:
- CMD=test_for_missing_migrations
- TEST_DB=SQLite
- env:
- CMD=build-for-pypi
- env:
- CMD=test-docker-image
allow_failures:
- env:
- CMD=pylint
- env:
- CMD=bandit_site_packages
before_install:
- echo -n | openssl s_client -connect https://scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
- |
if [ "$TEST_DB" == "MariaDB" ]; then
sudo apt-get remove --purge -y libmysqlclient-dev
sudo apt-get -y install libmariadbclient-dev
sudo ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
fi
if [ "$TEST_DB" == "MySQL" ] || [ "$TEST_DB" == "MariaDB" ]; then
cat "$TRAVIS_BUILD_DIR/.travis/my.cnf" | sudo tee -a /etc/mysql/conf.d/mariadb.cnf
sudo cat /etc/mysql/conf.d/mariadb.cnf
sudo service mysql restart
mysql -e 'SELECT VERSION();'
mysql -e 'CREATE USER "kiwi" IDENTIFIED BY "";'
mysql -e 'CREATE DATABASE kiwi CHARACTER SET utf8 COLLATE utf8_unicode_ci;'
mysql -e 'GRANT ALL PRIVILEGES ON kiwi.* TO kiwi;'
mysql -e 'CREATE DATABASE test_kiwi CHARACTER SET utf8 COLLATE utf8_unicode_ci;'
mysql -e 'GRANT ALL PRIVILEGES ON test_kiwi.* TO kiwi;'
fi
if [ "$TEST_DB" == "Postgres" ]; then
psql -c "CREATE DATABASE kiwi ENCODING 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8';" -U postgres
fi
install:
- |
[ -z "$TEST_DB" ] && export TEST_DB="SQLite"
export REQUIREMENTS_TXT="requirements/$(echo $TEST_DB | tr '[:upper:]' '[:lower:]' | sed 's/mysql/mariadb/' | sed 's/sqlite/base/').txt"
echo "REQUIREMENTS_TXT=$REQUIREMENTS_TXT"
pip install -r $REQUIREMENTS_TXT
pip install -r requirements/devel.txt
pip install coveralls codecov
pushd tcms/ && npm install && popd
script: make $CMD
after_success:
- |
if [ "$TEST_DB" == "MariaDB" ]; then
coveralls
codecov
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
fi
notifications:
email:
on_failure: change
on_success: never