PDA

View Full Version : Build rotta, che fare?


fek
11-02-2008, 10:00
Ieri e' stato un disastro. Dalle nove e mezza, alle dieci e mezza ci sono stati dieci o quindici commit per cercare di aggiustare la build. Risultato: la build e' rimasta rotta per un'ora, che si aggiunge alle otto ore della sera precedente.

Non ci siamo assolutamente.

Questo e' il processo che va seguito in caso di rottura della build:
1) Controllare il risultato della build machine
2) Fissare il problema e commit
3) Se la build e' ancora rotta REVERT di tutto l'ultimo commit
4) Commit della versione precedente
5) Assicurarsi che la build sia verde
6) Fissare il problema del proprio commit localmente
7) Assicurarsi lanciando "ant dist" da riga di comando che la build passi localmente
8) Commit
9) Assicurarsi che la build sia verde sulla build machine

Il punto 3) non e' negoziabile in nessun caso. Dopo la seconda build rossa, revert. La prossima volta che la build e' rossa per piu' di due commit successiva della stessa persona, tolgo l'accesso in scrittura a quella persona e i suoi successivi commit devono prima essere confermati da me in MSN.

E' una misura di nuovo draconiana, ma per come lavoriamo noi la build non puo' rimanere rossa per un'ora o blocchiamo tutti quanti.

Jappi, puoi mettere in stick questo thread per cortesia?

Ufo13
11-02-2008, 10:06
Ma io quando ho rotto la build mica ho provato a fixarla.

Il commit del giorno dopo l'ha fixata :\

fek
11-02-2008, 10:37
Ma io quando ho rotto la build mica ho provato a fixarla.

Il commit del giorno dopo l'ha fixata :\

Ok, la build machine ha provato a rifare il build per tutta la notte allora.

fek
11-02-2008, 22:31
Mezz'ora di build rotta. Guardate la build machine dopo ogni commit.

http://fcarucci.homeip.net:8080/buildresults/diamonds

Ufo13
11-02-2008, 22:33
Si puo anche forzare la build

Baol
11-02-2008, 22:49
Mmm, scusate l'ignoranza, come si fa da Eclipse a fare il revert di una versione precedente a quella che si trova attualmente sul repository? (caso mai rompessi qualcosa... :fiufiu: )

Bonfo
11-02-2008, 23:05
Mmm, scusate l'ignoranza, come si fa da Eclipse a fare il revert di una versione precedente a quella che si trova attualmente sul repository? (caso mai rompessi qualcosa... :fiufiu: )

Una possibile strada:
Team->ShowHistory, scegli il commit che vuoi revertare, click destro "revert changes from revison XX" e poi rifai il commit.

Ufo13
16-03-2008, 01:36
La build machine fa le bizze.

Da build rossa con una strana eccezione:

unit.framework.AssertionFailedError: The thread must no be alive
at it.diamonds.tests.helper.ComponentHelperForTest.joinAndFail(ComponentHelperForTest.java:178)
at it.diamonds.tests.helper.ComponentHelperForTest.joinAndFailIfStillAlive(ComponentHelperForTest.java:152)
at it.diamonds.tests.TestGame.tearDown(TestGame.java:46)

Ho lanciato ANT dist molte volte e non da nessun errore..

Thebol hai idea di cosa possa essere? Perche` abbiamo un TestMockGame? Pensavo che le classi mock non dovessero essere testate :S

Ufo13
16-03-2008, 11:28
Anche a cisc da build verde. Cosa ha che non va la build machine? Ora mi pare addirittura down :S

VICIUS
16-03-2008, 11:48
Anche a cisc da build verde. Cosa ha che non va la build machine? Ora mi pare addirittura down :S
Anche qui Junit, ant test da eclipse e ant dist da console danno tutte build verde.
:confused:

fek
16-03-2008, 11:50
Up and running.

^TiGeRShArK^
16-03-2008, 14:37
mmm..
mi sa che c'è ancora qualcosa che non va con la build-machine...
in una build ha dato l'errore:

Test: testExitCurrentLoopPassTonextLoop
Class: it.diamonds.tests.TestMockGame

junit.framework.AssertionFailedError: expected:<it.diamonds.tests.mocks.MockLoop@134b07e> but was:<it.diamonds.tests.mocks.MockLoop@2f48d2>
at it.diamonds.tests.TestMockGame.testExitCurrentLoopPassTonextLoop(TestMockGame.java:129)

...e alla successiva build è andata a posto da sola...

Jocchan
16-03-2008, 14:50
Stavolta sarà la build machine ad avere le ditine spezzate?

fek
16-03-2008, 15:25
mmm..
mi sa che c'è ancora qualcosa che non va con la build-machine...
in una build ha dato l'errore:

Test: testExitCurrentLoopPassTonextLoop
Class: it.diamonds.tests.TestMockGame

junit.framework.AssertionFailedError: expected:<it.diamonds.tests.mocks.MockLoop@134b07e> but was:<it.diamonds.tests.mocks.MockLoop@2f48d2>
at it.diamonds.tests.TestMockGame.testExitCurrentLoopPassTonextLoop(TestMockGame.java:129)

...e alla successiva build è andata a posto da sola...



Hmmm faccio un cleanup.

thebol
17-03-2008, 07:40
scusate il ritardo, ma ero dalla morosa senza internet da sabato sera...


cmq il problema e che la build machine è lenta, per cui comando al thread di chiudersi, ma nn passa abbastanza tempo perchè il thread si chiuda...

posso o aumentare il timeout, o potrei togliere il check. Poi se il thread non è chiuso amen si chiuderà.

Ci do un occhiata in giornata

thebol
17-03-2008, 07:45
mmm..
mi sa che c'è ancora qualcosa che non va con la build-machine...
in una build ha dato l'errore:

Test: testExitCurrentLoopPassTonextLoop
Class: it.diamonds.tests.TestMockGame

junit.framework.AssertionFailedError: expected:<it.diamonds.tests.mocks.MockLoop@134b07e> but was:<it.diamonds.tests.mocks.MockLoop@2f48d2>
at it.diamonds.tests.TestMockGame.testExitCurrentLoopPassTonextLoop(TestMockGame.java:129)

...e alla successiva build è andata a posto da sola...

questo è gia più stronzo come errore...

ci guardo stasera se ho tempo..

fek
17-03-2008, 11:01
questo è gia più stronzo come errore...

ci guardo stasera se ho tempo..

Perfetto, grazie.

thebol
17-03-2008, 12:59
Perfetto, grazie.

fran, scusa la richiesta un po atipica... ma potresti mettere sotto stress il server in qualche maniera? Stamattina ci metteva >12 minuti a fare una nightly e mi dava errore sul timeout.

Ora ci mette 3 minuti e nn mi da più l'errore...

fek
17-03-2008, 13:08
fran, scusa la richiesta un po atipica... ma potresti mettere sotto stress il server in qualche maniera? Stamattina ci metteva >12 minuti a fare una nightly e mi dava errore sul timeout.

Ora ci mette 3 minuti e nn mi da più l'errore...


Si' posso farlo! :D
Stasera chiamami in msn che riduco la percentuale di CPU allocata per la buildmachine.

thebol
17-03-2008, 13:23
Si' posso farlo! :D
Stasera chiamami in msn che riduco la percentuale di CPU allocata per la buildmachine.

ok