Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1"""
2@file
3@brief Helpers for CI.
4"""
7def is_travis_or_appveyor(env=None):
8 """
9 Tells if is a *travis* environment or *appveyor*.
11 @param env checks that a environment variable is set up.
12 @return ``'travis'``, ``'appveyor'``, ``'circleci'``
13 or ``'azurepipe'`` or ``None``
15 The function should rely more on environement variables
16 ``CI``, ``TRAVIS``, ``APPVEYOR``, ``AZURE_HTTP_USER_AGENT``.
17 """
18 import sys
19 if "travis" in sys.executable:
20 return "travis" # pragma: no cover
21 import os
22 if os.environ.get("USERNAME", os.environ.get("USER", None)) == "appveyor" or \
23 os.environ.get("APPVEYOR", "").lower() in ("true", "1"):
24 return "appveyor" # pragma: no cover
25 if os.environ.get('CIRCLECI', "undefined") != "undefined":
26 return "circleci" # pragma: no cover
27 if os.environ.get('AZURE_HTTP_USER_AGENT', 'undefined') != 'undefined':
28 return "azurepipe" # pragma: no cover
29 if env is not None:
30 for k in env:
31 if k in os.environ and os.environ[k]:
32 return k
33 return None