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
|
import itertools
import json
import sys
def script(x):
return """
if [ "$BUILD_PRS" = "true" ] || [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
{}
fi
""".strip().format(x.strip())
cfg = {}
cfg['sudo'] = True
cfg['language'] = 'python'
cfg['git'] = {
'submodules': False
}
cfg['branches'] = {
'only': ['auto', 'master']
}
cfg['install'] = [script("""
. scripts/travis-install.sh;
pip install -U pip;
pip install wheel;
make -e install-dev;
make -e install-$BUILD;
""")]
cfg['script'] = [script("""
make -e $BUILD;
""")]
matrix = []
cfg['matrix'] = {'include': matrix}
matrix.append({
'python': "3.5",
'env': 'BUILD=style BUILD_PRS=true'
})
for python in ("3.3", "3.4", "3.5"):
if python == "3.5":
dav_servers = ("radicale", "owncloud", "nextcloud", "baikal",
"davical")
rs_servers = ()
else:
dav_servers = ("radicale",)
rs_servers = ()
for (server_type, server), requirements in itertools.product(
itertools.chain(
(("REMOTESTORAGE", x) for x in rs_servers),
(("DAV", x) for x in dav_servers)
),
("devel", "release", "minimal")
):
build_prs = (
python == "3.5" and
server_type == 'DAV' and
server == 'radicale'
)
matrix.append({
'python': python,
'env': ("BUILD=test "
"{server_type}_SERVER={server} "
"REQUIREMENTS={requirements} "
"BUILD_PRS={build_prs}"
.format(server_type=server_type,
server=server,
requirements=requirements,
build_prs='true' if build_prs else 'false'))
})
matrix.append({
'language': 'generic',
'os': 'osx',
'env': 'BUILD=test'
})
json.dump(cfg, sys.stdout, sort_keys=True, indent=2)
|