My current workflow is github PRs and Builds tested on Travis CI, with toxin testing and community coverage for coding.
travis.yml
os: - linux sudo: false language: python python: - "3.3" - "3.4" - "3.5" - "pypy3" - "pypy3.3-5.2-alpha1" - "nightly" install: pip install tox-travis script: tox
tox.ini
[tox] envlist = py33, py34, py35, pypy3, docs, flake8, nightly, pypy3.3-5.2-alpha1 [tox:travis] 3.5 = py35, docs, flake8 [testenv] deps = -rrequirements.txt platform = win: windows linux: linux commands = py.test --cov=pyCardDeck --durations=10 tests [testenv:py35] commands = py.test --cov=pyCardDeck --durations=10 tests codeclimate-test-reporter --file .coverage passenv = CODECLIMATE_REPO_TOKEN TRAVIS_BRANCH TRAVIS_JOB_ID TRAVIS_PULL_REQUEST CI_NAME
However, Travis does not pass my environment variables for traction requests, which causes my coverage report to fail. The Travis documentation shows this as a solution:
script: - 'if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then bash ./travis/run_on_pull_requests; fi' - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then bash ./travis/run_on_non_pull_requests; fi'
However, in the case of this toxin, this does not work, since the current uses the python subprocess module and does not recognize it as a command (naturally).
How to run codeclimate-test-reporter only for assemblies, not pull requests based on the TRAVIS_PULL_REQUEST variable? Should I create my own script and call? Is there a smarter solution?
source share