Instead of consuming the Buildbot push notification stream, ExecDB provides a comprehensive API to
create new job (returns uuid)
update job state (running, finished, ...)
create and update steps (set to finished, duration, outcome)
The default behavior tries to make stuff as reasonable as possibe:
creating a new step marks the previous one as succesfully completed (if not alredy marked as finished)
so does setting the job to finished
on top of setting the job's outcome to a specific value, there is _COMPUTED_ special value that inferres the outcome based on the steps
UI still updates dynamically in the job detail view.
I'd like to discuss some of the implementation details
DoesitmakesensetohavemorethanCOMPLETEDandFAILEDoutcomesinitially?Shouldstatusandoutcomebeseparated,astheyarenow(notinDB,butintheuser-facingobjects)?MyideahereisthatstatuswouldbeabletobeSCHEDULEDandRUNNINGasnow,butinsteadofFINISHEDitwouldreturntheoutcomevalue(COMPLETED,FAILED,...)Thecurrentstateneedsyouto'careabout'twodifferentvalues,butthemoreIthinkaboutit,thelesssenseitmakestohavethatseparationDoesitmakesensetostoretheitemand/oritem_type?Iseesomevaluetheretobeabletosearchfor"did any jobs run on this stuff, without reporting results"sothisiswhyIkeptitsofar.ButIguesswecanrevisitthisoncewedecideonthewaytosolvepassing'randomarguments'tolibtaskotron.
UNFINISHED:
API documentation
search over jobs (name, item, state, ...)
Read the whole conversation at: https://fedorapeople.org/groups/qa/phabarchive/differentials/phab.qa.fedoraproject.org/D1150.html
Instead of consuming the Buildbot push notification stream, ExecDB provides a comprehensive API to
The default behavior tries to make stuff as reasonable as possibe:
UI still updates dynamically in the job detail view.
I'd like to discuss some of the implementation details
UNFINISHED:
Read the whole conversation at: https://fedorapeople.org/groups/qa/phabarchive/differentials/phab.qa.fedoraproject.org/D1150.html