As part of a Python package I have a script myscript.py
at the root of my project and
setup(scripts=['myscript.py'], ...)
in my setup.py
.
Is there an entry I can provide to my .travis.yml
that will run myscript.py
(e.g. after my tests)?
I've tried
language: pythonpython:- "2.7"install:- pip install -r requirements.txt- pip install pytestscript:- py.test -v --color=yes --exitfirst --showlocals --durations=5- myscript.py some args
but get a "command not found" error.
I don't need (or really want) the script to be part of the test suite, I just want to see it's output in the Travis log (and, of corse, fail the build if it errors).
How can I run a package script as part of a Travis CI build?
As mentioned in the comments (you need to call python):
language: pythonpython:- "2.7"install:- pip install -r requirements.txt- pip install pytestscript:- py.test -v --color=yes --exitfirst --showlocals --durations=5- python myscript.py some args
(Prepending python in the last line.)
Aside: travis should have pytest preinstalled.
There's also an after_success
block which can be useful in these cases (for running a script only if the tests pass, and not affecting the success of the builds) - often this is used for posting coverage stats.
language: pythonpython:- "2.7"install:- pip install -r requirements.txt- pip install pytestscript:- py.test -v --color=yes --exitfirst --showlocals --durations=5after_success:- python myscript.py some args