Skip to content

Commit

Permalink
fix(semaphore): environment detection
Browse files Browse the repository at this point in the history
Improve earlier fix work with both Semaphore 2.0 and classic.
  • Loading branch information
browniebroke committed Oct 13, 2020
1 parent 93b8a61 commit 3e61e3e
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 15 deletions.
15 changes: 12 additions & 3 deletions coveralls/api.py
Expand Up @@ -118,9 +118,18 @@ def load_config_from_travis():

@staticmethod
def load_config_from_semaphore():
job = os.environ.get('SEMAPHORE_CURRENT_JOB')
number = os.environ.get('SEMAPHORE_BUILD_NUMBER')
pr = os.environ.get('SEMAPHORE_BRANCH_ID')
job = (
os.environ.get('SEMAPHORE_JOB_UUID') # Classic
or os.environ.get('SEMAPHORE_JOB_ID') # 2.0
)
number = (
os.environ.get('SEMAPHORE_EXECUTABLE_UUID') # Classic
or os.environ.get('SEMAPHORE_WORKFLOW_ID') # 2.0
)
pr = (
os.environ.get('SEMAPHORE_BRANCH_ID') # Classic
or os.environ.get('SEMAPHORE_GIT_PR_NUMBER') # 2.0
)
return 'semaphore-ci', job, number, pr

@staticmethod
Expand Down
25 changes: 22 additions & 3 deletions docs/usage/tox.rst
Expand Up @@ -102,16 +102,35 @@ All variables:

SemaphoreCI
-----------

Classic
~~~~~~~

::

passenv = SEMAPHORE SEMAPHORE_BUILD_NUMBER SEMAPHORE_CURRENT_JOB SEMAPHORE_BRANCH_ID BRANCH_NAME
passenv = SEMAPHORE SEMAPHORE_EXECUTABLE_UUID SEMAPHORE_JOB_UUID SEMAPHORE_BRANCH_ID BRANCH_NAME

All variables:

- ``SEMAPHORE``
- ``SEMAPHORE_BUILD_NUMBER``
- ``SEMAPHORE_CURRENT_JOB``
- ``SEMAPHORE_EXECUTABLE_UUID``
- ``SEMAPHORE_JOB_UUID``
- ``SEMAPHORE_BRANCH_ID``
- ``BRANCH_NAME``

2.0
~~~

::

passenv = SEMAPHORE SEMAPHORE_WORKFLOW_ID SEMAPHORE_JOB_ID SEMAPHORE_GIT_PR_NUMBER BRANCH_NAME

All variables:

- ``SEMAPHORE``
- ``SEMAPHORE_WORKFLOW_ID``
- ``SEMAPHORE_JOB_ID``
- ``SEMAPHORE_GIT_PR_NUMBER``
- ``BRANCH_NAME``

.. _tox: https://tox.readthedocs.io/en/latest/
33 changes: 24 additions & 9 deletions tests/api/configuration_test.py
Expand Up @@ -170,17 +170,32 @@ def test_travis_no_config(self):
assert cover.config['service_job_id'] == '777'
assert 'repo_token' not in cover.config

@mock.patch.dict(os.environ,
{'SEMAPHORE': 'True',
'SEMAPHORE_BUILD_NUMBER': '888',
'SEMAPHORE_CURRENT_JOB': '1',
'SEMAPHORE_BRANCH_ID': '9999'},
clear=True)
def test_semaphore_no_config(self):
@mock.patch.dict(
os.environ,
{'SEMAPHORE': 'True',
'SEMAPHORE_EXECUTABLE_UUID': '36980c73-b5ed-491b-ae40-2b8582a1b41e',
'SEMAPHORE_JOB_UUID': 'a26d42cf-89ac-4c3f-9e2d-51bb231897bf',
'SEMAPHORE_BRANCH_ID': '9999'},
clear=True)
def test_semaphore_classic_no_config(self):
cover = Coveralls(repo_token='xxx')
assert cover.config['service_name'] == 'semaphore-ci'
assert cover.config['service_job_id'] == 'a26d42cf-89ac-4c3f-9e2d-51bb231897bf'
assert cover.config['service_number'] == '36980c73-b5ed-491b-ae40-2b8582a1b41e'
assert cover.config['service_pull_request'] == '9999'

@mock.patch.dict(
os.environ,
{'SEMAPHORE': 'True',
'SEMAPHORE_WORKFLOW_ID': 'b86b3adf-31bb-4774-9e31-95eae3921b37',
'SEMAPHORE_JOB_ID': '2b942b49-2a96-43f3-90e9-cfbcf8418859',
'SEMAPHORE_GIT_PR_NUMBER': '9999'},
clear=True)
def test_semaphore_20_no_config(self):
cover = Coveralls(repo_token='xxx')
assert cover.config['service_name'] == 'semaphore-ci'
assert cover.config['service_job_id'] == '1'
assert cover.config['service_number'] == '888'
assert cover.config['service_job_id'] == '2b942b49-2a96-43f3-90e9-cfbcf8418859'
assert cover.config['service_number'] == 'b86b3adf-31bb-4774-9e31-95eae3921b37'
assert cover.config['service_pull_request'] == '9999'

@mock.patch.dict(os.environ, {'COVERALLS_SERVICE_NAME': 'xxx'}, clear=True)
Expand Down

0 comments on commit 3e61e3e

Please sign in to comment.