2013-07-30 9 views
7

Sto usando Travis CI per creare il mio progetto Python. Mi piacerebbe testare il mio progetto contro diverse versioni di Python, ma poi ho uno script che funziona solo se tutti hanno successo.In Travis CI, posso eseguire uno script dopo che tutta la mia matrice di build è riuscita?

Ad esempio, questa travis.yml non fare il lavoro, in quanto la parte after_success corre dopo che gli Python build:

language: python 
python: 
    - '2.7' 
    - '3.2' 
script: 
    - python setup.py test 
after_success: 
    - # this runs both on 2.7 and 3.2 

Esiste un modo per fare questo?

risposta

1

Stiamo lavorando a qualcosa di simile, ma sfortunatamente non è possibile ora direttamente da Travis.

È possibile utilizzare Webhook per questo, che farebbe una richiesta per un URL per voi. A seconda di cosa hai bisogno, questo potrebbe funzionare per te.

+1

Grazie Henrik! Hai qualche idea del calendario per questo? –

+2

Sembra che questo sia stato rintracciato su https://github.com/travis-ci/travis-ci/issues/929 – trask

+1

@henrikhodne Dove posso leggere su come impostarlo con webhooks? –

0

Questo è ora possibile con la funzione Build Stages (attualmente in Beta).

Nel vostro caso specifico, si dovrebbe aggiungere qualcosa come:

jobs: 
    include: 
    - stage: deploy 
     script: ./deploy 
     python: 
     - '2.7' 
     - '3.2' 

al vostro .travis.yml.

Vedere this page per un esempio.

(Nota Ho ridefinito python nella fase di distribuzione, poiché per impostazione predefinita avrebbe preso solo il primo valore dalla matrice come definito nel lavoro predefinito (test). Non l'ho provato ma sto assumendo l'espansione della matrice funziona nelle fasi di costruzione.)

Problemi correlati