Source code for pyquickhelper.pycode.ci_helper

"""
Helpers for CI.


:githublink:`%|py|5`
"""


[docs]def is_travis_or_appveyor(env=None): """ Tells if is a *travis* environment or *appveyor*. :param env: checks that a environment variable is set up. :return: ``'travis'``, ``'appveyor'``, ``'circleci'`` or ``'azurepipe'`` or ``None`` The function should rely more on environement variables ``CI``, ``TRAVIS``, ``APPVEYOR``, ``AZURE_HTTP_USER_AGENT``. .. versionadded:: 1.8 Parameter *env* was added. :githublink:`%|py|20` """ import sys if "travis" in sys.executable: return "travis" # pragma: no cover import os if os.environ.get("USERNAME", os.environ.get("USER", None)) == "appveyor" or \ os.environ.get("APPVEYOR", "").lower() in ("true", "1"): return "appveyor" # pragma: no cover if os.environ.get('CIRCLECI', "undefined") != "undefined": return "circleci" # pragma: no cover if os.environ.get('AZURE_HTTP_USER_AGENT', 'undefined') != 'undefined': return "azurepipe" # pragma: no cover if env is not None: for k in env: if k in os.environ and os.environ[k]: return k return None