Skip to content
This repository was archived by the owner on Jul 16, 2025. It is now read-only.

Commit 556bfde

Browse files
committed
Merge branch 'master' into dana/travis-ci
2 parents 9abae96 + 092182a commit 556bfde

File tree

4 files changed

+40
-34
lines changed

4 files changed

+40
-34
lines changed

codecov_cli/helpers/ci_adapters/__init__.py

Lines changed: 4 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11,49 +11,20 @@
1111
from codecov_cli.helpers.ci_adapters.github_actions import GithubActionsCIAdapter
1212
from codecov_cli.helpers.ci_adapters.gitlab_ci import GitlabCIAdapter
1313
from codecov_cli.helpers.ci_adapters.heroku import HerokuCIAdapter
14-
from codecov_cli.helpers.ci_adapters.travis_ci import TravisCIAdapter
1514
from codecov_cli.helpers.ci_adapters.jenkins import JenkinsAdapter
1615
from codecov_cli.helpers.ci_adapters.local import LocalAdapter
1716
from codecov_cli.helpers.ci_adapters.teamcity import TeamcityAdapter
17+
from codecov_cli.helpers.ci_adapters.travis_ci import TravisCIAdapter
1818
from codecov_cli.helpers.ci_adapters.woodpeckerci import WoodpeckerCIAdapter
1919

2020
logger = logging.getLogger("codecovcli")
2121

2222

2323
def get_ci_adapter(provider_name: str = None):
2424
if provider_name:
25-
if provider_name == "circleci":
26-
return CircleCICIAdapter()
27-
if provider_name == "githubactions":
28-
return GithubActionsCIAdapter()
29-
if provider_name == "gitlabCI":
30-
return GitlabCIAdapter()
31-
if provider_name == "bitbucket":
32-
return BitbucketAdapter()
33-
if provider_name == "bitrise":
34-
return BitriseCIAdapter()
35-
if provider_name == "appveyor":
36-
return AppveyorCIAdapter()
37-
if provider_name == "local":
38-
return LocalAdapter()
39-
if provider_name == "woodpecker":
40-
return WoodpeckerCIAdapter()
41-
if provider_name == "teamcity":
42-
return TeamcityAdapter()
43-
if provider_name == "heroku":
44-
return HerokuCIAdapter()
45-
if provider_name == "droneci":
46-
return DroneCIAdapter()
47-
if provider_name == "buildkite":
48-
return BuildkiteAdapter()
49-
if provider_name == "azurepipelines":
50-
return AzurePipelinesCIAdapter()
51-
if provider_name == "jenkins":
52-
return JenkinsAdapter()
53-
if provider_name == "cirrusci":
54-
return CirrusCIAdapter()
55-
if provider_name == "travis":
56-
return TravisCIAdapter()
25+
for provider in get_ci_providers_list():
26+
if provider.get_service_name().lower() == provider_name.lower():
27+
return provider
5728
else:
5829
for provider in get_ci_providers_list():
5930
if provider.detect():

codecov_cli/helpers/ci_adapters/travis_ci.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@
55

66
class TravisCIAdapter(CIAdapterBase):
77
# https://docs.travis-ci.com/user/environment-variables/#default-environment-variables
8+
def detect(self) -> bool:
9+
return (
10+
bool(os.getenv("CI"))
11+
and bool(os.getenv("TRAVIS"))
12+
and not bool(os.getenv("SHIPPABLE"))
13+
)
814

915
def _get_commit_sha(self):
1016
return os.getenv("TRAVIS_PULL_REQUEST_SHA") or os.getenv("TRAVIS_COMMIT")
@@ -33,3 +39,6 @@ def _get_branch(self):
3339

3440
def _get_service(self):
3541
return "travis"
42+
43+
def get_service_name(self):
44+
return "Travis"

tests/ci_adapters/test_travis_ci.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,35 @@ class TravisEnvEnum(str, Enum):
1818
TRAVIS_PULL_REQUEST_SHA = "TRAVIS_PULL_REQUEST_SHA"
1919
TRAVIS_PULL_REQUEST_BRANCH = "TRAVIS_PULL_REQUEST_BRANCH"
2020
TRAVIS_JOB_ID = "TRAVIS_JOB_ID"
21+
CI = "CI"
22+
TRAVIS = "TRAVIS"
23+
SHIPPABLE = "SHIPPABLE"
2124

2225

2326
class TestTravisCIAdapter(object):
27+
@pytest.mark.parametrize(
28+
"env_dict,expected",
29+
[
30+
({}, False),
31+
(
32+
{TravisEnvEnum.CI: "true", TravisEnvEnum.TRAVIS: "true"},
33+
True,
34+
),
35+
(
36+
{
37+
TravisEnvEnum.CI: "true",
38+
TravisEnvEnum.TRAVIS: "true",
39+
TravisEnvEnum.SHIPPABLE: "true",
40+
},
41+
False,
42+
),
43+
],
44+
)
45+
def test_detect(self, env_dict, expected, mocker):
46+
mocker.patch.dict(os.environ, env_dict)
47+
actual = TravisCIAdapter().detect()
48+
assert actual == expected
49+
2450
@pytest.mark.parametrize(
2551
"env_dict,expected",
2652
[

tests/test_ci_adapter_selection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
JenkinsAdapter,
1616
LocalAdapter,
1717
TeamcityAdapter,
18-
WoodpeckerCIAdapter,
1918
TravisCIAdapter,
19+
WoodpeckerCIAdapter,
2020
get_ci_adapter,
2121
)
2222

0 commit comments

Comments
 (0)