2015-11-13 20 views
6

Come parte di un pacchetto di Python Ho uno script myscript.py alla base del mio progetto eCome posso eseguire uno script come parte di un build di Travis CI?

setup(scripts=['myscript.py'], ...) 

nel mio setup.py.

C'è una voce che posso fornire al mio .travis.yml che verrà eseguito myscript.py (ad esempio dopo i miei test)?

Ho provato

language: python 

python: 
    - "2.7" 

install: 
    - pip install -r requirements.txt 
    - pip install pytest 

script: 
    - py.test -v --color=yes --exitfirst --showlocals --durations=5 
    - myscript.py some args 

ma ottenere un "comando non trovato" errore.

Non ho bisogno (o non voglio) dello script per far parte della suite di test, voglio solo vederlo nel log di Travis (e, naturalmente, fallire la compilazione se ha errori).

Come posso eseguire uno script di pacchetto come parte di un build di Travis CI?

+0

'python myscript.py some args'? – sobolevn

+0

@sobolevn: Doh! - Sì! Questa è una risposta! – orome

risposta

7

Come accennato nei commenti (è necessario chiamare python):

language: python 

python: 
    - "2.7" 

install: 
    - pip install -r requirements.txt 
    - pip install pytest 

script: 
    - py.test -v --color=yes --exitfirst --showlocals --durations=5 
    - python myscript.py some args 

(anteponendo pitone nell'ultima riga.)

parte: Travis dovrebbero avere pytest preinstallato.


C'è anche un after_success blocco che può essere utile in questi casi (per l'esecuzione di uno script solo se superano le prove, e non interessano il successo della build) - spesso questo è usato per la pubblicazione di statistiche di copertura.

language: python 

python: 
    - "2.7" 

install: 
    - pip install -r requirements.txt 
    - pip install pytest 

script: 
    - py.test -v --color=yes --exitfirst --showlocals --durations=5 

after_success: 
    - python myscript.py some args 
Problemi correlati