(checksum, apk, displayChecksum)
| 3588 | if (!task.endTime && task.startTime) { |
| 3589 | task.interrupted = true; |
| 3590 | if (task.process) { |
| 3591 | await killTask(task); |
| 3592 | await build.updateMessage(true); |
| 3593 | } else if (task.cancel) { |
| 3594 | await task.cancel(); |
| 3595 | } |
| 3596 | break; |
| 3597 | } |
| 3598 | } |
| 3599 | build.after(after); |
| 3600 | }; |
| 3601 | build.cleanup = async () => { |
| 3602 | await build.updateMessage(true); |
| 3603 | if (cur.pending_build && cur.pending_build.id === build.id) { |
| 3604 | cur.pending_build = null; |
| 3605 | } |
| 3606 | }; |
| 3607 | build.step = () => { |
| 3608 | if (!build.startTime) { |
| 3609 | if (build.aborted) |
| 3610 | return true; |
| 3611 | build.startTime = new Date(); |
| 3612 | } |
| 3613 | if (build.endTime) { |
| 3614 | return true; |
| 3615 | } |
| 3616 | let havePendingAsyncTasks = false; |
| 3617 | let haveErrors = false; |
| 3618 | let completeTaskCount = 0; |
| 3619 | for (let i = 0; i < build.tasks.length; i++) { |
| 3620 | const task = build.tasks[i]; |
| 3621 | if (task.error) { |
| 3622 | haveErrors = true; |
| 3623 | } |
| 3624 | if (!task.error && task.startTime && task.endTime) { |
| 3625 | completeTaskCount++; |
| 3626 | } |
| 3627 | if (!build.aborted && !task.startTime && !haveErrors) { |
| 3628 | if (task.needsAwait && havePendingAsyncTasks) { |
| 3629 | return false; |
| 3630 | } |
| 3631 | task.startTime = new Date(); |
| 3632 | task.privateLog = []; |
| 3633 | task.publicLog = []; |
| 3634 | task.logPrivately = (message) => { |
| 3635 | message = escapeHtml(trimIndent(message).trim()); |
| 3636 | if (message) { |
| 3637 | task.privateLog.push(message); |
| 3638 | build.updateMessage(); |
| 3639 | } |
| 3640 | }; |
| 3641 | task.logPublicly = (message) => { |
| 3642 | task.logPrivately(message); |
no test coverage detected