Peter Steinberger
53ad69c6ee
ci: hourly sweeper re-fires dropped pull_request CI runs ( #110889 )
...
* ci: add hourly PR CI sweeper for dropped pull_request runs
Fresh PRs race GitHub's merge-ref computation: the open-event CI run can
drop entirely or be created as an un-rerunnable startup_failure (~10-16
runs daily). The sweeper lists recently updated open PRs hourly, finds
heads whose only pull_request-event CI runs are startup failures (or
missing), and re-fires the event by close/reopen with the Barnacle app
token (GITHUB_TOKEN events would not trigger workflows).
Safety: 10-minute quiet window, 24h lookback, skips drafts, merge
conflicts, pending mergeability, and auto-merge PRs (close cancels
auto-merge); revalidates state, head, and CI attachment immediately
before mutating; per-PR budget of two sweeper closes and a per-sweep cap
of ten; reopen-on-unknown ownership so a stranded close (silent) always
loses to a spurious reopen (visible); manual dispatch supports dry_run.
Accepted tradeoffs are documented inline: shared-SHA PR topologies can
mask a dropped run (skip-only miss; run.pull_requests matching would
break fork PRs), and app-auth failover at worst doubles the close budget.
* test(ci): exercise pr-ci-sweeper runner with a faked client
* fix(test): lint-clean pr-ci-sweeper runner fakes
2026-07-18 20:18:57 +01:00
..
2026-07-12 18:57:49 +02:00
2026-07-16 23:55:06 -07:00
2026-07-18 06:59:29 +01:00
2026-07-17 11:11:42 -04:00
2026-07-18 17:43:56 +01:00
2026-07-18 20:18:57 +01:00
2026-06-22 17:17:48 +00:00
2026-07-18 19:23:39 +01:00
2026-07-18 02:54:26 +01:00
2026-07-18 02:54:26 +01:00
2026-07-10 10:42:36 +01:00
2026-07-16 03:21:08 -07:00
2026-07-16 17:53:09 -07:00
2026-07-17 09:44:52 -04:00
2026-07-18 01:02:18 +01:00
2026-07-12 09:01:33 +01:00
2026-06-21 07:40:06 +02:00
2026-07-10 13:34:03 +01:00
2026-07-18 07:15:41 +01:00
2026-07-07 16:13:55 -07:00
2026-07-07 00:39:59 +01:00
2026-07-13 21:48:29 -07:00
2026-06-20 11:08:34 +08:00
2026-06-20 11:08:34 +08:00
2026-07-16 09:39:48 -07:00
2026-07-18 03:32:15 -04:00
2026-07-10 10:42:36 +01:00
2026-07-11 06:15:41 -07:00
2026-07-14 10:21:56 -07:00
2026-07-16 00:57:19 -07:00
2026-07-12 10:17:00 +01:00
2026-07-14 16:14:48 +05:30
2026-07-12 22:18:10 -07:00
2026-07-12 10:17:00 +01:00
2026-07-15 01:52:49 -07:00
2026-07-13 22:12:21 -07:00
2026-07-11 06:15:41 -07:00
2026-06-23 14:01:29 +02:00
2026-07-18 11:41:39 -07:00
2026-07-11 02:31:17 -07:00
2026-07-17 10:25:26 +01:00
2026-07-17 10:25:26 +01:00
2026-06-20 21:36:42 +02:00
2026-07-11 06:15:41 -07:00
2026-07-18 06:42:27 +01:00
2026-07-16 22:48:03 +01:00
2026-07-18 06:42:27 +01:00
2026-07-11 06:15:41 -07:00
2026-07-12 17:24:45 -07:00
2026-07-12 17:24:45 -07:00
2026-07-11 06:15:41 -07:00
2026-07-13 01:53:28 -07:00
2026-07-15 04:15:23 -07:00
2026-07-18 02:54:26 +01:00
2026-07-11 06:15:41 -07:00
2026-07-07 15:17:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 02:31:17 -07:00
2026-07-15 03:45:37 -07:00
2026-07-17 11:09:01 +01:00
2026-07-13 23:58:19 -07:00
2026-07-13 05:07:18 -07:00
2026-07-18 09:18:57 -07:00
2026-07-12 23:13:04 -07:00
2026-07-18 18:15:17 +01:00
2026-07-18 18:15:17 +01:00
2026-07-15 17:05:07 +01:00
2026-07-16 10:46:44 -07:00
2026-07-15 22:40:00 -07:00
2026-07-16 10:46:44 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-15 04:15:23 -07:00
2026-07-10 13:00:50 +01:00
2026-07-11 06:15:41 -07:00
2026-06-21 19:59:55 +02:00
2026-07-11 06:15:41 -07:00
2026-07-14 06:36:51 -07:00
2026-07-15 22:40:00 -07:00
2026-07-11 06:15:41 -07:00
2026-07-14 10:21:56 -07:00
2026-07-11 06:15:41 -07:00
2026-07-13 09:37:55 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-13 21:35:24 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 15:04:25 -07:00
2026-07-11 06:15:41 -07:00
2026-07-09 16:36:31 +01:00
2026-07-07 11:55:57 -07:00
2026-07-18 17:43:56 +01:00
2026-07-14 09:27:02 -07:00
2026-07-15 05:03:43 +01:00
2026-07-11 06:15:41 -07:00
2026-07-11 01:09:51 -07:00
2026-07-18 12:25:40 +01:00
2026-07-18 12:25:40 +01:00
2026-07-18 00:55:46 +01:00
2026-07-16 13:55:23 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 03:27:14 -07:00
2026-07-14 20:45:57 -07:00
2026-07-14 23:19:48 -07:00
2026-06-20 22:16:26 +02:00
2026-07-11 06:15:41 -07:00
2026-07-04 14:56:50 -04:00
2026-07-13 01:39:38 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-06-23 17:37:53 +02:00
2026-07-11 06:15:41 -07:00
2026-06-21 22:19:54 +02:00
2026-07-16 08:35:10 -07:00
2026-07-14 10:21:56 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-06-26 18:28:35 -07:00
2026-07-13 00:34:57 -07:00
2026-07-13 02:39:01 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 00:21:26 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-18 02:54:26 +01:00
2026-07-18 02:54:26 +01:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-16 18:15:58 -07:00
2026-07-11 06:15:41 -07:00
2026-07-14 10:41:36 -07:00
2026-07-11 14:50:37 -07:00
2026-07-16 12:14:06 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 11:54:08 +01:00
2026-07-13 22:43:26 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 07:28:20 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-07 11:55:57 -07:00
2026-06-23 17:27:32 +08:00
2026-07-11 06:15:41 -07:00
2026-07-18 02:54:26 +01:00
2026-07-16 18:48:20 -07:00
2026-07-17 15:16:50 -07:00
2026-06-20 20:12:30 +02:00
2026-07-06 04:20:58 -07:00
2026-06-21 18:04:47 +02:00
2026-07-15 13:06:24 -07:00
2026-07-18 09:20:14 +01:00
2026-07-18 09:20:14 +01:00
2026-07-18 03:39:03 +01:00
2026-07-18 03:39:03 +01:00
2026-07-12 07:44:25 +08:00
2026-06-28 17:22:26 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-06-20 21:41:34 +02:00
2026-07-11 00:44:16 +01:00
2026-07-04 23:19:38 +01:00
2026-07-15 13:22:31 -07:00
2026-07-07 16:13:55 -07:00
2026-07-17 13:43:12 +01:00
2026-07-16 18:48:20 -07:00
2026-07-14 01:57:30 -07:00
2026-07-13 11:49:42 -07:00
2026-07-18 18:34:19 +01:00
2026-07-13 11:49:42 -07:00
2026-07-13 16:15:50 -07:00
2026-07-17 22:58:34 +01:00
2026-07-17 22:58:34 +01:00
2026-07-15 22:32:29 -07:00
2026-07-11 06:15:41 -07:00
2026-07-06 14:52:53 -04:00
2026-07-18 19:49:04 +01:00
2026-07-13 22:09:36 -07:00
2026-07-16 00:16:20 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-06-23 13:43:44 +02:00
2026-07-11 06:15:41 -07:00
2026-06-20 02:02:37 +02:00
2026-07-14 15:02:56 -07:00
2026-07-11 00:51:57 -07:00
2026-06-23 16:26:42 +02:00
2026-07-06 10:26:51 -07:00
2026-07-01 01:51:50 -07:00
2026-07-16 20:43:06 -04:00
2026-07-16 20:43:06 -04:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-06-24 13:24:43 +08:00
2026-06-22 19:11:46 +08:00
2026-07-11 06:15:41 -07:00
2026-07-07 15:17:41 -07:00
2026-07-18 18:15:17 +01:00
2026-07-18 02:54:26 +01:00
2026-07-16 10:26:29 +01:00
2026-07-13 03:14:49 +01:00
2026-07-13 03:14:49 +01:00
2026-07-07 11:55:57 -07:00
2026-07-13 07:57:23 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-03 15:36:11 +00:00
2026-07-10 11:54:08 +01:00
2026-07-12 04:43:33 +02:00
2026-07-13 01:53:28 -07:00
2026-07-13 01:53:28 -07:00
2026-07-17 13:23:39 +01:00
2026-07-18 00:16:39 +01:00
2026-07-07 11:55:57 -07:00
2026-07-11 14:50:37 -07:00
2026-07-16 17:33:35 -07:00
2026-07-16 17:17:07 -07:00
2026-07-16 01:44:30 -07:00
2026-07-16 01:44:30 -07:00
2026-07-16 08:02:31 -07:00
2026-07-15 23:01:31 -07:00
2026-06-23 19:18:51 -05:00
2026-06-22 21:07:57 -04:00
2026-07-01 20:24:38 -05:00
2026-07-10 10:42:36 +01:00
2026-06-21 21:39:41 +02:00
2026-07-01 20:24:38 -05:00
2026-07-01 22:05:26 -05:00
2026-07-01 22:05:26 -05:00
2026-07-13 19:12:21 -05:00
2026-07-01 22:05:26 -05:00
2026-07-18 18:15:17 +01:00
2026-07-10 10:42:36 +01:00
2026-07-11 15:57:55 +08:00
2026-07-16 22:27:04 -07:00
2026-07-10 11:54:08 +01:00
2026-07-13 07:57:23 -07:00
2026-07-14 00:27:34 +01:00
2026-07-10 13:33:20 -07:00
2026-07-15 22:40:00 -07:00
2026-07-18 02:54:26 +01:00
2026-07-15 22:40:00 -07:00
2026-07-07 16:13:55 -07:00
2026-07-18 07:15:41 +01:00
2026-07-18 07:15:41 +01:00
2026-06-20 21:44:09 +02:00
2026-06-21 11:15:14 +02:00
2026-07-14 17:28:45 -07:00
2026-07-17 23:14:35 -06:00
2026-07-15 22:40:00 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 20:16:19 +01:00
2026-07-17 09:12:58 +01:00
2026-07-14 05:41:24 -07:00
2026-07-04 08:22:39 -07:00
2026-07-13 12:00:47 -07:00
2026-07-18 09:29:34 +01:00
2026-07-18 09:29:34 +01:00
2026-07-11 06:15:41 -07:00
2026-06-21 22:02:05 +02:00
2026-07-14 23:19:48 -07:00
2026-07-17 11:37:35 +01:00
2026-07-11 02:31:17 -07:00
2026-07-11 12:48:27 +08:00
2026-07-18 18:15:17 +01:00
2026-07-04 08:00:15 +02:00
2026-07-13 17:15:32 -07:00
2026-07-17 19:49:20 +01:00
2026-07-18 18:46:52 +01:00
2026-07-18 18:46:52 +01:00
2026-07-11 06:15:41 -07:00
2026-07-16 11:16:29 -07:00
2026-07-11 06:15:41 -07:00
2026-07-13 01:29:33 -07:00
2026-07-10 13:33:20 -07:00
2026-07-04 15:13:31 -06:00
2026-07-07 11:55:57 -07:00
2026-07-08 08:01:00 -07:00
2026-07-07 11:55:57 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-13 08:55:23 +08:00
2026-07-07 16:13:55 -07:00
2026-07-11 06:15:41 -07:00
2026-07-18 11:41:39 -07:00
2026-06-21 11:15:14 +02:00
2026-07-11 06:15:41 -07:00
2026-07-07 00:07:05 +01:00
2026-07-13 17:53:10 -07:00
2026-07-05 13:33:04 -04:00
2026-07-15 00:26:41 -07:00
2026-07-15 00:26:41 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-15 01:22:20 -07:00
2026-07-11 06:15:41 -07:00
2026-07-14 05:41:24 -07:00
2026-07-13 22:33:12 -07:00
2026-07-11 06:15:41 -07:00
2026-07-13 01:53:28 -07:00
2026-07-11 07:28:20 -07:00
2026-07-18 03:32:39 -04:00
2026-07-18 03:32:39 -04:00
2026-07-16 05:29:01 -07:00
2026-06-21 17:51:44 +02:00
2026-07-04 06:51:03 -04:00
2026-07-12 10:17:00 +01:00
2026-06-24 10:22:56 +08:00
2026-07-04 06:51:03 -04:00
2026-07-11 01:09:51 -07:00
2026-07-15 12:55:00 -07:00
2026-07-16 20:37:45 -07:00
2026-07-17 03:06:39 +01:00
2026-07-18 12:19:59 +01:00
2026-07-14 09:48:37 -04:00
2026-07-16 13:38:56 -07:00
2026-07-18 00:16:39 +01:00
2026-07-10 17:47:32 -07:00
2026-07-10 11:32:24 -07:00
2026-07-12 10:17:00 +01:00
2026-07-18 02:54:26 +01:00
2026-07-15 22:40:00 -07:00
2026-07-18 02:54:26 +01:00
2026-07-15 22:40:00 -07:00
2026-07-15 10:05:02 -07:00
2026-07-11 06:15:41 -07:00
2026-07-12 11:45:03 +01:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 17:27:01 -07:00
2026-07-11 06:15:41 -07:00
2026-07-14 09:59:20 -07:00
2026-07-11 06:15:41 -07:00
2026-07-16 17:12:50 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 10:22:07 +01:00
2026-07-18 06:42:27 +01:00
2026-07-18 06:42:27 +01:00
2026-07-18 02:54:26 +01:00
2026-07-10 19:18:47 -07:00
2026-06-20 20:07:50 +02:00
2026-06-23 14:08:20 +08:00
2026-07-11 06:15:41 -07:00
2026-07-16 17:09:56 -07:00
2026-07-11 06:15:41 -07:00
2026-07-17 11:37:35 +01:00
2026-07-11 06:15:41 -07:00
2026-06-21 21:53:58 +02:00
2026-07-11 06:15:41 -07:00
2026-07-16 17:22:28 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 23:30:57 +01:00
2026-07-11 06:15:41 -07:00
2026-07-12 17:24:45 -07:00
2026-07-12 17:24:45 -07:00
2026-06-24 22:54:00 +08:00
2026-07-04 06:40:45 -04:00
2026-06-19 08:24:16 +08:00
2026-07-11 00:07:59 -07:00
2026-07-11 06:30:57 -07:00
2026-07-18 08:39:21 +01:00
2026-07-14 16:05:14 -07:00
2026-07-14 16:05:14 -07:00
2026-07-05 01:56:40 -04:00
2026-06-21 07:40:06 +02:00
2026-06-21 07:40:06 +02:00
2026-06-21 07:40:06 +02:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-15 22:40:00 -07:00
2026-07-13 21:35:24 -07:00
2026-07-11 06:15:41 -07:00
2026-07-13 03:16:28 -07:00
2026-07-13 15:09:26 -07:00
2026-07-11 06:15:41 -07:00
2026-07-13 03:16:28 -07:00
2026-07-18 06:59:29 +01:00
2026-06-19 02:21:10 +02:00
2026-07-06 02:58:59 -07:00
2026-07-10 08:18:44 -07:00
2026-07-11 01:03:30 +01:00
2026-07-18 10:37:25 +01:00
2026-06-18 23:26:21 +02:00
2026-06-18 23:33:44 +02:00
2026-07-11 06:15:41 -07:00
2026-07-16 11:45:31 -07:00
2026-07-11 06:30:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 00:58:14 -07:00
2026-07-11 06:15:41 -07:00
2026-07-16 16:42:01 +01:00
2026-07-18 02:54:26 +01:00
2026-07-18 06:42:27 +01:00
2026-07-11 06:15:41 -07:00
2026-06-23 12:40:25 +02:00
2026-07-12 10:17:00 +01:00
2026-07-13 21:35:24 -07:00
2026-07-18 02:54:26 +01:00
2026-07-15 22:40:00 -07:00
2026-07-11 02:31:17 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 15:17:41 -07:00
2026-07-12 17:26:04 -07:00
2026-07-17 00:03:41 -07:00
2026-07-17 00:03:41 -07:00
2026-07-14 18:08:33 -07:00
2026-07-07 11:55:57 -07:00
2026-07-18 09:31:47 +01:00
2026-07-11 06:15:41 -07:00
2026-07-13 13:38:19 +08:00
2026-06-26 16:43:51 -07:00
2026-07-17 09:48:38 +01:00
2026-07-11 06:15:41 -07:00
2026-07-10 13:33:20 -07:00
2026-07-17 00:10:17 -07:00
2026-07-17 00:10:17 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-18 02:54:26 +01:00
2026-07-18 09:34:50 +01:00
2026-07-14 00:27:34 +01:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-06-20 15:35:33 +02:00
2026-07-18 06:42:27 +01:00
2026-07-18 06:42:27 +01:00
2026-07-12 17:24:45 -07:00
2026-07-12 17:24:45 -07:00
2026-07-10 10:42:36 +01:00
2026-07-17 10:25:26 +01:00
2026-07-11 06:15:41 -07:00
2026-07-12 17:24:45 -07:00
2026-07-14 23:19:48 -07:00
2026-07-12 19:58:55 -07:00
2026-06-21 11:15:14 +02:00