updateJobFinalStatus function

Future<void> updateJobFinalStatus({
  1. required ApiClient apiClient,
  2. required BuildJob buildJob,
  3. required String runId,
  4. required BuildJobStatus status,
  5. required String conclusion,
})

Implementation

Future<void> updateJobFinalStatus({
  required ApiClient apiClient,
  required BuildJob buildJob,
  required String runId,
  required BuildJobStatus status,
  required String conclusion,
}) async {
  final buildJobId = buildJob.id;
  await apiClient.updateRunStatus(
    buildJobId: buildJobId,
    runId: runId,
    status: 'completed',
    conclusion: conclusion,
  );
  await apiClient.completeJob(buildJobId, status.name);

  final updatedJob = buildJob.copyWith(
    status: status,
    latestRunId: runId,
    completedAt: DateTime.now(),
  );
  await apiClient.updateCheckRun(
    updatedJob,
    'completed',
    conclusion: conclusion,
  );
  await apiClient.handleBuildJobStatusChange(updatedJob, status.name);
}