Patch CI statistics
Pipeline reads CI wall-clock time. Corpus reads today's patchsets laid out over PostgreSQL's history.
Runs by result
terminal runs only; timeouts fold into their failure band
Show data
| When | Result | Runs |
|---|---|---|
| 16 Aug 12:00 | build failed | 4 |
| 16 Aug 12:00 | success | 89 |
| 16 Aug 12:00 | tests failed | 7 |
| 16 Aug 13:00 | success | 39 |
| 16 Aug 13:00 | tests failed | 5 |
| 16 Aug 14:00 | success | 7 |
| 16 Aug 14:00 | tests failed | 1 |
| 16 Aug 15:00 | success | 5 |
| 16 Aug 15:00 | tests failed | 1 |
| 16 Aug 16:00 | success | 6 |
| 16 Aug 16:00 | tests failed | 1 |
| 16 Aug 17:00 | success | 1 |
| 16 Aug 20:00 | success | 1 |
| 16 Aug 22:00 | success | 1 |
| 16 Aug 23:00 | success | 1 |
| 17 Aug 00:00 | build failed | 2 |
| 17 Aug 00:00 | success | 100 |
| 17 Aug 00:00 | tests failed | 11 |
| 17 Aug 01:00 | build failed | 8 |
| 17 Aug 01:00 | success | 105 |
| 17 Aug 01:00 | tests failed | 7 |
| 17 Aug 02:00 | build failed | 8 |
| 17 Aug 02:00 | success | 95 |
| 17 Aug 02:00 | tests failed | 8 |
| 17 Aug 03:00 | build failed | 11 |
| 17 Aug 03:00 | success | 103 |
| 17 Aug 03:00 | tests failed | 14 |
| 17 Aug 04:00 | build failed | 2 |
| 17 Aug 04:00 | success | 90 |
| 17 Aug 04:00 | tests failed | 13 |
| 17 Aug 05:00 | build failed | 3 |
| 17 Aug 05:00 | success | 105 |
| 17 Aug 05:00 | tests failed | 14 |
| 17 Aug 06:00 | build failed | 2 |
| 17 Aug 06:00 | success | 102 |
| 17 Aug 06:00 | tests failed | 10 |
| 17 Aug 07:00 | build failed | 9 |
| 17 Aug 07:00 | success | 75 |
| 17 Aug 07:00 | tests failed | 10 |
| 17 Aug 08:00 | build failed | 4 |
| 17 Aug 08:00 | success | 97 |
| 17 Aug 08:00 | tests failed | 12 |
| 17 Aug 09:00 | build failed | 1 |
| 17 Aug 09:00 | success | 88 |
| 17 Aug 09:00 | tests failed | 15 |
| 17 Aug 10:00 | build failed | 4 |
| 17 Aug 10:00 | success | 93 |
| 17 Aug 10:00 | tests failed | 22 |
| 17 Aug 11:00 | build failed | 8 |
| 17 Aug 11:00 | success | 78 |
| 17 Aug 11:00 | tests failed | 19 |
| 17 Aug 12:00 | success | 15 |
| 17 Aug 12:00 | tests failed | 1 |
Success rate
hollow points sit below 5 terminal runs in the bucket
Show data
| When | Success rate | Terminal runs |
|---|---|---|
| 16 Aug 12:00 | 89.0% | 100 |
| 16 Aug 13:00 | 88.6% | 44 |
| 16 Aug 14:00 | 87.5% | 8 |
| 16 Aug 15:00 | 83.3% | 6 |
| 16 Aug 16:00 | 85.7% | 7 |
| 16 Aug 17:00 | 100.0% | 1 |
| 16 Aug 20:00 | 100.0% | 1 |
| 16 Aug 22:00 | 100.0% | 1 |
| 16 Aug 23:00 | 100.0% | 1 |
| 17 Aug 00:00 | 88.5% | 113 |
| 17 Aug 01:00 | 87.5% | 120 |
| 17 Aug 02:00 | 85.6% | 111 |
| 17 Aug 03:00 | 80.5% | 128 |
| 17 Aug 04:00 | 85.7% | 105 |
| 17 Aug 05:00 | 86.1% | 122 |
| 17 Aug 06:00 | 89.5% | 114 |
| 17 Aug 07:00 | 79.8% | 94 |
| 17 Aug 08:00 | 85.8% | 113 |
| 17 Aug 09:00 | 84.6% | 104 |
| 17 Aug 10:00 | 78.2% | 119 |
| 17 Aug 11:00 | 74.3% | 105 |
| 17 Aug 12:00 | 93.8% | 16 |
Build and test duration by era
median seconds; successful runs only
Show data
| When | Era | Build median | Test median | Build p25-p75 |
|---|---|---|---|---|
| 16 Aug 12:00 | trixie | 2m 50s | 5m 16s | 2m 45s - 2m 54s |
| 16 Aug 13:00 | trixie | 2m 52s | 5m 23s | 2m 46s - 2m 54s |
| 16 Aug 14:00 | trixie | 2m 46s | 5m 23s | 2m 13s - 2m 54s |
| 16 Aug 15:00 | trixie | 2m 53s | 5m 23s | 2m 47s - 2m 56s |
| 16 Aug 16:00 | trixie | 2m 55s | 5m 29s | 2m 51s - 2m 57s |
| 16 Aug 17:00 | trixie | 2m 53s | 5m 26s | 2m 53s - 2m 53s |
| 16 Aug 20:00 | trixie | 2m 48s | 5m 12s | 2m 48s - 2m 48s |
| 16 Aug 22:00 | trixie | 2m 38s | 4m 47s | 2m 38s - 2m 38s |
| 16 Aug 23:00 | trixie | 2m 54s | 4m 56s | 2m 54s - 2m 54s |
| 17 Aug 00:00 | trixie | 2m 53s | 5m 17s | 2m 42s - 2m 56s |
| 17 Aug 01:00 | trixie | 2m 53s | 5m 18s | 2m 47s - 2m 55s |
| 17 Aug 02:00 | trixie | 2m 50s | 5m 17s | 2m 46s - 2m 55s |
| 17 Aug 03:00 | trixie | 2m 52s | 5m 16s | 2m 47s - 2m 55s |
| 17 Aug 04:00 | trixie | 2m 54s | 5m 18s | 2m 49s - 2m 56s |
| 17 Aug 05:00 | trixie | 2m 53s | 5m 21s | 2m 47s - 2m 55s |
| 17 Aug 06:00 | trixie | 2m 51s | 5m 16s | 2m 47s - 2m 55s |
| 17 Aug 07:00 | trixie | 2m 54s | 5m 22s | 2m 49s - 2m 55s |
| 17 Aug 08:00 | trixie | 2m 53s | 5m 22s | 2m 47s - 2m 55s |
| 17 Aug 09:00 | trixie | 2m 53s | 5m 20s | 2m 48s - 2m 56s |
| 17 Aug 10:00 | trixie | 2m 53s | 5m 24s | 2m 48s - 2m 56s |
| 17 Aug 11:00 | trixie | 2m 54s | 5m 21s | 2m 48s - 2m 56s |
| 17 Aug 12:00 | trixie | 2m 53s | 5m 19s | 2m 49s - 2m 56s |
ccache hit rate
median per bucket; the image's warm cache was baked against one reference commit, so a patch on a different base misses most of it
Show data
| When | Hit rate | Runs |
|---|---|---|
| 16 Aug 12:00 | 1.5% | 89 |
| 16 Aug 13:00 | 1.5% | 39 |
| 16 Aug 14:00 | 1.5% | 7 |
| 16 Aug 15:00 | 1.5% | 5 |
| 16 Aug 16:00 | 1.5% | 6 |
| 16 Aug 17:00 | 1.5% | 1 |
| 16 Aug 20:00 | 1.5% | 1 |
| 16 Aug 22:00 | 1.5% | 1 |
| 16 Aug 23:00 | 1.5% | 1 |
| 17 Aug 00:00 | 1.5% | 100 |
| 17 Aug 01:00 | 1.5% | 105 |
| 17 Aug 02:00 | 1.5% | 95 |
| 17 Aug 03:00 | 1.5% | 103 |
| 17 Aug 04:00 | 1.5% | 90 |
| 17 Aug 05:00 | 1.5% | 105 |
| 17 Aug 06:00 | 1.5% | 102 |
| 17 Aug 07:00 | 1.5% | 75 |
| 17 Aug 08:00 | 1.5% | 97 |
| 17 Aug 09:00 | 1.5% | 88 |
| 17 Aug 10:00 | 1.5% | 93 |
| 17 Aug 11:00 | 1.5% | 78 |
| 17 Aug 12:00 | 1.5% | 15 |
Build time against ccache hit rate
one point per successful run; table shows the first 50
Show data
| Hit rate | Build |
|---|---|
| 1.5% | 2m 47s |
| 1.5% | 2m 56s |
| 1.5% | 2m 13s |
| 1.5% | 2m 54s |
| 1.5% | 2m 55s |
| 1.5% | 2m 59s |
| 1.5% | 2m 50s |
| 1.5% | 2m 56s |
| 1.5% | 2m 57s |
| 1.5% | 2m 43s |
| 1.5% | 2m 48s |
| 1.5% | 2m 53s |
| 1.5% | 2m 53s |
| 1.5% | 2m 50s |
| 1.5% | 2m 49s |
| 1.5% | 3m 17s |
| 1.5% | 2m 21s |
| 1.5% | 2m 52s |
| 1.5% | 2m 25s |
| 1.5% | 2m 56s |
| 1.5% | 2m 48s |
| 1.5% | 2m 55s |
| 1.5% | 2m 10s |
| 1.5% | 2m 58s |
| 1.5% | 2m 55s |
| 1.5% | 2m 50s |
| 1.5% | 2m 50s |
| 1.5% | 2m 55s |
| 1.5% | 2m 52s |
| 1.5% | 2m 54s |
| 1.5% | 2m 55s |
| 1.5% | 2m 56s |
| 1.5% | 2m 53s |
| 1.5% | 2m 51s |
| 1.5% | 2m 55s |
| 1.5% | 2m 58s |
| 1.5% | 2m 56s |
| 1.5% | 1m 52s |
| 1.5% | 3m 00s |
| 1.5% | 2m 54s |
| 1.5% | 2m 58s |
| 1.5% | 2m 51s |
| 1.5% | 2m 48s |
| 1.5% | 2m 55s |
| 1.5% | 2m 48s |
| 1.5% | 2m 48s |
| 1.5% | 2m 55s |
| 1.5% | 2m 58s |
| 1.5% | 2m 54s |
| 1.5% | 2m 54s |
Queue latency
median seconds
Show data
| When | Push to queued | Queued to started |
|---|---|---|
| 16 Aug 12:00 | 0m 01s | 0m 00s |
| 16 Aug 13:00 | 0m 01s | 0m 00s |
| 16 Aug 14:00 | 0m 02s | 0m 00s |
| 16 Aug 15:00 | 0m 01s | 0m 00s |
| 16 Aug 16:00 | 0m 01s | 0m 00s |
| 16 Aug 17:00 | 0m 03s | 0m 00s |
| 16 Aug 20:00 | 0m 02s | 0m 00s |
| 16 Aug 22:00 | 0m 01s | 0m 00s |
| 16 Aug 23:00 | 0m 02s | 0m 00s |
| 17 Aug 00:00 | 0m 01s | 0m 00s |
| 17 Aug 01:00 | 0m 01s | 0m 00s |
| 17 Aug 02:00 | 0m 02s | 0m 00s |
| 17 Aug 03:00 | 0m 01s | 0m 00s |
| 17 Aug 04:00 | 0m 01s | 0m 00s |
| 17 Aug 05:00 | 0m 01s | 0m 00s |
| 17 Aug 06:00 | 0m 02s | 0m 00s |
| 17 Aug 07:00 | 0m 01s | 0m 00s |
| 17 Aug 08:00 | 0m 01s | 0m 00s |
| 17 Aug 09:00 | 0m 02s | 0m 00s |
| 17 Aug 10:00 | 0m 02s | 0m 00s |
| 17 Aug 11:00 | 0m 01s | 0m 00s |
| 17 Aug 12:00 | 0m 01s | 0m 00s |
Average concurrency
time-weighted average of runs in flight per bucket, against the 30-slot budget
Show data
| When | Avg concurrency |
|---|---|
| 16 Aug 12:00 | 21.2 |
| 16 Aug 13:00 | 5.8 |
| 16 Aug 14:00 | 1.5 |
| 16 Aug 15:00 | 1.1 |
| 16 Aug 16:00 | 1.1 |
| 16 Aug 17:00 | 0.2 |
| 16 Aug 18:00 | 0.0 |
| 16 Aug 19:00 | 0.0 |
| 16 Aug 20:00 | 0.2 |
| 16 Aug 21:00 | 0.0 |
| 16 Aug 22:00 | 0.2 |
| 16 Aug 23:00 | 1.2 |
| 17 Aug 00:00 | 26.5 |
| 17 Aug 01:00 | 26.2 |
| 17 Aug 02:00 | 26.6 |
| 17 Aug 03:00 | 26.7 |
| 17 Aug 04:00 | 26.7 |
| 17 Aug 05:00 | 25.6 |
| 17 Aug 06:00 | 23.8 |
| 17 Aug 07:00 | 19.6 |
| 17 Aug 08:00 | 22.8 |
| 17 Aug 09:00 | 22.6 |
| 17 Aug 10:00 | 22.5 |
| 17 Aug 11:00 | 22.6 |
| 17 Aug 12:00 | 3.8 |
Push lag
time from the patch being posted to CI queueing it
Show data
| When | Lag | Runs |
|---|---|---|
| 16 Aug 12:00 | days | 2 |
| 16 Aug 12:00 | weeks | 12 |
| 16 Aug 12:00 | months | 66 |
| 16 Aug 12:00 | older | 20 |
| 16 Aug 13:00 | days | 4 |
| 16 Aug 13:00 | weeks | 8 |
| 16 Aug 13:00 | months | 32 |
| 16 Aug 14:00 | same day | 2 |
| 16 Aug 14:00 | days | 6 |
| 16 Aug 15:00 | same day | 3 |
| 16 Aug 15:00 | days | 3 |
| 16 Aug 16:00 | same day | 1 |
| 16 Aug 16:00 | days | 6 |
| 16 Aug 17:00 | same day | 1 |
| 16 Aug 20:00 | same day | 1 |
| 16 Aug 22:00 | same day | 1 |
| 16 Aug 23:00 | same day | 1 |
| 17 Aug 00:00 | days | 22 |
| 17 Aug 00:00 | weeks | 3 |
| 17 Aug 00:00 | months | 80 |
| 17 Aug 00:00 | older | 8 |
| 17 Aug 01:00 | days | 4 |
| 17 Aug 01:00 | weeks | 2 |
| 17 Aug 01:00 | months | 114 |
| 17 Aug 02:00 | same day | 2 |
| 17 Aug 02:00 | days | 2 |
| 17 Aug 02:00 | weeks | 2 |
| 17 Aug 02:00 | months | 79 |
| 17 Aug 02:00 | older | 26 |
| 17 Aug 03:00 | same day | 1 |
| 17 Aug 03:00 | days | 1 |
| 17 Aug 03:00 | weeks | 3 |
| 17 Aug 03:00 | older | 123 |
| 17 Aug 04:00 | days | 3 |
| 17 Aug 04:00 | weeks | 5 |
| 17 Aug 04:00 | older | 97 |
| 17 Aug 05:00 | weeks | 57 |
| 17 Aug 05:00 | months | 29 |
| 17 Aug 05:00 | older | 36 |
| 17 Aug 06:00 | same day | 4 |
| 17 Aug 06:00 | days | 5 |
| 17 Aug 06:00 | weeks | 5 |
| 17 Aug 06:00 | months | 100 |
| 17 Aug 07:00 | same day | 2 |
| 17 Aug 07:00 | days | 1 |
| 17 Aug 07:00 | weeks | 3 |
| 17 Aug 07:00 | months | 30 |
| 17 Aug 07:00 | older | 58 |
| 17 Aug 08:00 | same day | 4 |
| 17 Aug 08:00 | days | 7 |
| 17 Aug 08:00 | weeks | 40 |
| 17 Aug 08:00 | months | 32 |
| 17 Aug 08:00 | older | 30 |
| 17 Aug 09:00 | same day | 1 |
| 17 Aug 09:00 | days | 1 |
| 17 Aug 09:00 | weeks | 4 |
| 17 Aug 09:00 | months | 29 |
| 17 Aug 09:00 | older | 69 |
| 17 Aug 10:00 | same day | 1 |
| 17 Aug 10:00 | days | 1 |
| 17 Aug 10:00 | weeks | 6 |
| 17 Aug 10:00 | older | 111 |
| 17 Aug 11:00 | same day | 2 |
| 17 Aug 11:00 | weeks | 8 |
| 17 Aug 11:00 | older | 95 |
| 17 Aug 12:00 | weeks | 3 |
| 17 Aug 12:00 | older | 13 |
Push kind
first push, a re-push on a newer master, or a retry of the same head
Show data
| When | Kind | Runs |
|---|---|---|
| 16 Aug 12:00 | rebase re-push | 100 |
| 16 Aug 13:00 | rebase re-push | 44 |
| 16 Aug 14:00 | first push | 2 |
| 16 Aug 14:00 | rebase re-push | 6 |
| 16 Aug 15:00 | first push | 3 |
| 16 Aug 15:00 | rebase re-push | 3 |
| 16 Aug 16:00 | first push | 1 |
| 16 Aug 16:00 | rebase re-push | 6 |
| 16 Aug 17:00 | first push | 1 |
| 16 Aug 20:00 | first push | 1 |
| 16 Aug 22:00 | first push | 1 |
| 16 Aug 23:00 | first push | 1 |
| 17 Aug 00:00 | rebase re-push | 113 |
| 17 Aug 01:00 | rebase re-push | 120 |
| 17 Aug 02:00 | first push | 2 |
| 17 Aug 02:00 | rebase re-push | 109 |
| 17 Aug 03:00 | first push | 1 |
| 17 Aug 03:00 | rebase re-push | 127 |
| 17 Aug 04:00 | rebase re-push | 105 |
| 17 Aug 05:00 | rebase re-push | 122 |
| 17 Aug 06:00 | first push | 4 |
| 17 Aug 06:00 | rebase re-push | 110 |
| 17 Aug 07:00 | first push | 2 |
| 17 Aug 07:00 | rebase re-push | 92 |
| 17 Aug 08:00 | first push | 4 |
| 17 Aug 08:00 | rebase re-push | 109 |
| 17 Aug 09:00 | first push | 1 |
| 17 Aug 09:00 | rebase re-push | 103 |
| 17 Aug 10:00 | first push | 1 |
| 17 Aug 10:00 | rebase re-push | 118 |
| 17 Aug 11:00 | first push | 2 |
| 17 Aug 11:00 | rebase re-push | 103 |
| 17 Aug 12:00 | rebase re-push | 16 |
Suites failed per failing run
one suite is usually a patch bug; dozens is usually one crash cascading
Show data
| Suites failed | Runs |
|---|---|
| 1 | 57 |
| 2 | 10 |
| 3 | 2 |
| 4 | 48 |
| 5 | 10 |
| 6 | 3 |
| 7 | 7 |
| 8 | 2 |
| 9 | 1 |
| 10 | 1 |
| 11 | 2 |
| 12 | 1 |
| 13 | 2 |
| 21 | 1 |
| 33 | 1 |
| 56 | 1 |
| 58 | 1 |
| 59 | 1 |
| 62 | 1 |
| 76 | 1 |
| 83 | 1 |
| 102 | 1 |
| 107 | 1 |
| 122 | 1 |
| 129 | 1 |
| 131 | 1 |
| 155 | 1 |
| 157 | 1 |
Top failing suites
total failures, and in brackets the number of distinct patchsets - many failures on few patchsets means one broken patch retried; roughly one per patchset means either a flaky suite or a suite that reruns others and inherits their failures
Infra health
Everything here should be zero. Non-zero is worth a look, not a panic.
| Condition | Count |
|---|---|
| infra errors | 0 |
| in flight past 48h | 0 |
| branches with a failed push | 2 |
| payloads we could not parse | 0 |
| runs with no payload | 0 |
| built but pushed no image | 6 |
Master re-check recency
when each patchset was last tried against master; overdue is past 26h with master moved since. Unlike the base age tiles above, this follows the discussions control.
Base age distribution
all current patchsets against those in active discussions
Show data
| Base age | All | Active discussions |
|---|---|---|
| <1d | 1,393 | 263 |
| 1-7d | 192 | 89 |
| 7-30d | 230 | 85 |
| 30-90d | 46 | 12 |
| 90d-1y | 312 | 8 |
| 1-2y | 318 | 2 |
| 2-5y | 879 | 0 |
| >5y | 1,924 | 1 |
| unknown | 57 | 8 |
Outcome by base commit year
current patchsets, by the year of the master commit they apply to
Show data
| Base year | Outcome | Patchsets |
|---|---|---|
| unknown | never applied | 57 |
| 2012 | build failed | 1 |
| 2014 | never applied | 1 |
| 2015 | build failed | 3 |
| 2015 | never applied | 3 |
| 2016 | success | 22 |
| 2016 | tests failed | 2 |
| 2016 | never applied | 2 |
| 2017 | success | 463 |
| 2017 | tests failed | 58 |
| 2017 | build failed | 14 |
| 2017 | never applied | 63 |
| 2018 | success | 281 |
| 2018 | tests failed | 38 |
| 2018 | build failed | 7 |
| 2018 | never applied | 60 |
| 2019 | success | 244 |
| 2019 | tests failed | 23 |
| 2019 | build failed | 10 |
| 2019 | never applied | 74 |
| 2020 | success | 232 |
| 2020 | tests failed | 34 |
| 2020 | build failed | 4 |
| 2020 | never applied | 52 |
| 2021 | success | 241 |
| 2021 | tests failed | 35 |
| 2021 | build failed | 9 |
| 2021 | never applied | 35 |
| 2022 | success | 242 |
| 2022 | cancelled | 1 |
| 2022 | tests failed | 36 |
| 2022 | build failed | 11 |
| 2022 | never applied | 36 |
| 2023 | success | 220 |
| 2023 | tests failed | 26 |
| 2023 | build failed | 9 |
| 2023 | never applied | 32 |
| 2024 | success | 205 |
| 2024 | tests failed | 36 |
| 2024 | build failed | 8 |
| 2024 | infra error | 1 |
| 2024 | never applied | 23 |
| 2025 | success | 260 |
| 2025 | tests failed | 43 |
| 2025 | build failed | 13 |
| 2025 | infra error | 1 |
| 2025 | never applied | 36 |
| 2026 | success | 1,563 |
| 2026 | cancelled | 1 |
| 2026 | tests failed | 205 |
| 2026 | build failed | 75 |
| 2026 | infra error | 2 |
| 2026 | no verdict | 39 |
| 2026 | never applied | 159 |
Success rate by base commit year
of patchsets carrying a verdict
Show data
| Base year | Success rate | With a verdict |
|---|---|---|
| 2012 | 0.0% | 1 |
| 2015 | 0.0% | 3 |
| 2016 | 91.7% | 24 |
| 2017 | 86.5% | 535 |
| 2018 | 86.2% | 326 |
| 2019 | 88.1% | 277 |
| 2020 | 85.9% | 270 |
| 2021 | 84.6% | 285 |
| 2022 | 83.4% | 290 |
| 2023 | 86.3% | 255 |
| 2024 | 82.0% | 250 |
| 2025 | 82.0% | 317 |
| 2026 | 85.5% | 1,954 |
Apply failures by base commit year
patchsets that would not apply even to their own detected base - a patch-extraction / base-detection signal, not a staleness measure; the rate is in the table
Show data
| Base year | Patchsets | Failed to apply | Failure rate |
|---|---|---|---|
| unknown | 57 | 57 | 100.0% |
| 2012 | 1 | 0 | 0.0% |
| 2014 | 1 | 1 | 100.0% |
| 2015 | 6 | 3 | 50.0% |
| 2016 | 26 | 2 | 7.7% |
| 2017 | 598 | 63 | 10.5% |
| 2018 | 386 | 60 | 15.5% |
| 2019 | 351 | 74 | 21.1% |
| 2020 | 322 | 52 | 16.1% |
| 2021 | 320 | 35 | 10.9% |
| 2022 | 326 | 36 | 11.0% |
| 2023 | 287 | 32 | 11.1% |
| 2024 | 273 | 23 | 8.4% |
| 2025 | 353 | 36 | 10.2% |
| 2026 | 2,044 | 159 | 7.8% |
Build and test time over PostgreSQL history
median seconds of successful runs, by the base commit's year
Show data
| Base year | Build median | Test median |
|---|---|---|
| 2016 | 1m 41s | 3m 18s |
| 2017 | 1m 46s | 4m 37s |
| 2018 | 1m 50s | 2m 38s |
| 2019 | 1m 55s | 2m 35s |
| 2020 | 2m 00s | 2m 52s |
| 2021 | 2m 11s | 3m 09s |
| 2022 | 2m 14s | 3m 58s |
| 2023 | 2m 51s | 3m 58s |
| 2024 | 2m 43s | 3m 39s |
| 2025 | 2m 45s | 4m 26s |
| 2026 | 2m 52s | 5m 21s |
Test suites over PostgreSQL history
median executed suites of successful runs, by the base commit's year
Show data
| Base year | Suites median |
|---|---|
| 2016 | 412 |
| 2017 | 451 |
| 2018 | 505 |
| 2019 | 537 |
| 2020 | 566 |
| 2021 | 621 |
| 2022 | 654 |
| 2023 | 777 |
| 2024 | 833 |
| 2025 | 900 |
| 2026 | 1018 |
Per PostgreSQL major
A major whose era image is still a disabled stub is marked - those patchsets sit in won't-retry until the image exists.
| PG | Era | Patchsets | Runs | Success | Build median | Test median | Suites | Images |
|---|---|---|---|---|---|---|---|---|
| 9 | stretch | 13 | 13 | 61.5% | 1m 34s | 2m 41s | 398 | 9 |
| 10 | stretch | 404 | 405 | 87.9% | 1m 45s | 5m 20s | 443 | 392 |
| 11 | stretch | 347 | 348 | 87.1% | 1m 48s | 2m 35s | 476 | 339 |
| 12 | buster | 275 | 275 | 86.9% | 1m 51s | 2m 35s | 513 | 267 |
| 13 | buster | 273 | 273 | 84.6% | 1m 57s | 2m 37s | 548 | 267 |
| 14 | bullseye | 290 | 292 | 86.3% | 2m 08s | 3m 06s | 590 | 284 |
| 15 | bullseye | 279 | 281 | 86.5% | 2m 11s | 3m 18s | 625 | 268 |
| 16 | bookworm | 269 | 268 | 82.8% | 2m 46s | 4m 12s | 669 | 256 |
| 17 | bookworm | 250 | 250 | 84.4% | 2m 54s | 3m 27s | 793 | 244 |
| 18 | trixie | 280 | 281 | 79.0% | 2m 41s | 3m 50s | 858 | 267 |
| 19 | trixie | 343 | 341 | 85.9% | 2m 49s | 4m 42s | 936 | 329 |
| 20 | trixie | 1,828 | 29,324 | 83.5% | 2m 52s | 5m 18s | 1018 | 1,688 |
Files the corpus conflicts on
from apply-stage failures; in brackets the number of distinct patchsets
Verdict coverage in active discussions
patchsets in threads with a message in the last 30 days
Show data
| Era | With a verdict | No verdict |
|---|---|---|
| bullseye | 1 | 0 |
| trixie | 422 | 36 |
| unknown | 0 | 9 |
Patch size against outcome
files touched per patchset, from the recorded submission paths
Show data
| Files touched | Outcome | Patchsets |
|---|---|---|
| unknown | success | 3,973 |
| unknown | cancelled | 2 |
| unknown | tests failed | 536 |
| unknown | build failed | 164 |
| unknown | infra error | 4 |
| unknown | no verdict | 39 |
| unknown | never applied | 633 |
Patchset versions per topic
every version, superseded included; split by whether the topic was committed
Show data
| Versions | Topic | Topics |
|---|---|---|
| 1 | not committed | 4,980 |
| 1 | committed | 77 |
| 2 | committed | 28 |
| 2 | not committed | 155 |
| 3 | not committed | 46 |
| 3 | committed | 7 |
| 4 | not committed | 14 |
| 4 | committed | 3 |
| 5 | committed | 2 |
| 5 | not committed | 9 |
| 6 | not committed | 6 |
| 7 | not committed | 1 |
| 8 | not committed | 1 |
| 9 | not committed | 1 |
| 11 | not committed | 1 |
Why the orchestrator won't retry
The dashboard shows the top three of this same breakdown.
| Reason | Patchsets |
|---|---|
| base too old | 3,011 |
| committed | 120 |
| patchset touches .github/ | 8 |