l.b.i.w.IBuildFarmJob(Interface) : interface documentation

Part of lp.buildmaster.interfaces.webservice View In Hierarchy

Known subclasses: lp.buildmaster.interfaces.packagebuild.IPackageBuild, lp.translations.interfaces.translationtemplatesbuild.ITranslationTemplatesBuild

Operations that jobs for the build farm must implement.
Attribute id The build farm job ID.
Attribute build_farm_job Generic build farm job record
Bool virtualized The virtualization setting required by this build farm job. This should be None for job types that do not care whether they run virtualized.
Bool is_private Whether the build should be treated as private.
Choice job_type The specific type of job.
Attribute build_cookie A string which uniquely identifies the job in the build farm.
Int failure_count Number of consecutive failures for this job.
Method setLog Set the LibraryFileAlias that contains the job log.
Method updateStatus Update job metadata when the build status changes.
Method gotFailure Increment the failure_count for this job.
Method calculateScore Calculate the build queue priority for this job.
Method estimateDuration Estimate the build duration.
Method queueBuild Create a BuildQueue entry for this build.
Attribute was_built Whether or not modified by the builddfarm.
Attribute external_dependencies Newline-separated list of repositories to be used to retrieve any external build-dependencies when performing this build.
id =
The build farm job ID.
build_farm_job =
Generic build farm job record
virtualized =
The virtualization setting required by this build farm job. This should be None for job types that do not care whether they run virtualized.
is_private =
Whether the build should be treated as private.
job_type =
The specific type of job.
build_cookie =
A string which uniquely identifies the job in the build farm.
failure_count =
Number of consecutive failures for this job.
def setLog(log):
Set the LibraryFileAlias that contains the job log.
def updateStatus(status, builder=None, slave_status=None, date_started=None, date_finished=None, force_invalid_transition=False):
Update job metadata when the build status changes.

This automatically handles setting status, date_finished, builder, dependencies. Later it will manage the denormalised search schema.

date_started and date_finished override the default (now).

Only sensible transitions are permitted unless force_invalid_transition is set. The override only exists for tests and as an escape hatch for buildd-manager's failure counting. You do not want to use it.

def gotFailure():
Increment the failure_count for this job.
def calculateScore():
Calculate the build queue priority for this job.
def estimateDuration():
Estimate the build duration.
def queueBuild(suspended=False):
Create a BuildQueue entry for this build.
ParameterssuspendedWhether the associated Job instance should be created in a suspended state.
was_built =
Whether or not modified by the builddfarm.
external_dependencies =
Newline-separated list of repositories to be used to retrieve any external build-dependencies when performing this build.
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.