ExecutorFrontendGitserverFirecrackerDequeue()jobHeartbeat(self.id, [job.id])OkloopAddExecutionLogEntry(job.id, exec output from each command)OkloopGitClone(job.repo, job.commit)GitClone(job.repo, job.commit)......setupFirecracker()vmexec(vm.id, dockerStep.image, dockerStep.command)exit code, outputloop[dockerStep in job.dockerSteps]exec(vm.id, srcCliStep.command)exit code, outputloop[dockerStep in job.srcCliSteps]teardownFirecracker(vm.id)OkMarkComplete(job.id)OkExecutorFrontendGitserverFirecracker