From fa2511f71cc9da276e2255764cfa45b9a608f6f3 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Sat, 10 Sep 2022 21:05:21 +0100 Subject: [PATCH] tweak `ufuzz` job scheduling (#5659) --- test/ufuzz/actions.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/test/ufuzz/actions.js b/test/ufuzz/actions.js index e7de7e36..30415069 100644 --- a/test/ufuzz/actions.js +++ b/test/ufuzz/actions.js @@ -11,7 +11,9 @@ exports.init = function(url, auth, num) { exports.should_stop = function(callback) { if (Date.now() > expires) return callback(); read(base + "/actions/runs?per_page=100", function(reply) { - var runs = verify(reply, "workflow_runs").sort(function(a, b) { + var runs = verify(reply, "workflow_runs").filter(function(workflow) { + return workflow.status != "completed"; + }).sort(function(a, b) { return b.run_number - a.run_number; }); var found = false, remaining = 20; @@ -20,14 +22,13 @@ exports.should_stop = function(callback) { do { workflow = runs.pop(); if (!workflow) return; - if (is_cron(workflow) && workflow.run_number == run_number) found = true; - } while (!found && workflow.status == "completed"); + if (!is_cron(workflow)) break; + if (workflow.run_number == run_number) found = true; + } while (!found); read(workflow.jobs_url, function(reply) { - if (!verify(reply, "jobs").every(function(job) { - if (job.status == "completed") return true; - remaining--; - return found || !is_cron(workflow); - })) return; + verify(reply, "jobs").forEach(function(job) { + if (job.status != "completed") remaining--; + }); if (remaining >= 0) { next(); } else {