Commit ad53918
ci: watch the coverage floor on the newest Elixir
The floor was enforced in only one place that ran it - mix precommit, on
whatever Elixir the contributor happened to have - and nothing in CI checked
it at all. The test matrix ran a plain mix test and the precommit job is
pinned to the one version that agreed with the number, so CI stayed green
while a clean tree failed the gate on Elixir 1.20. A drift nothing watches is
a drift the next contributor finds.
The newest cell of the test matrix now exports coverage and checks the floor.
It is the lowest reporter, so it trips first on attribution drift. Every other
cell stays on a plain mix test: seven readings that disagree by version would
be noise rather than signal. The include entry augments the existing 1.20/29
cell rather than adding a job.
Two steps rather than one mix test --cover, so the step that goes red names
what broke without opening the log - exporting cannot fail on the threshold,
and mix test.coverage cannot fail on a test. The job name carries the same
information.
Verified on 1.20.3/OTP 29: export exits 0, the check reports 88.40% and exits
0, and with the floor raised to 89 the check exits 3 - so it is a gate and not
decoration.
Co-Authored-By: Claude <noreply@anthropic.com>1 parent 234cbc7 commit ad53918
2 files changed
Lines changed: 67 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
63 | 84 | | |
64 | 85 | | |
65 | 86 | | |
| |||
91 | 112 | | |
92 | 113 | | |
93 | 114 | | |
| 115 | + | |
94 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1538 | 1538 | | |
1539 | 1539 | | |
1540 | 1540 | | |
1541 | | - | |
1542 | | - | |
1543 | | - | |
1544 | | - | |
1545 | | - | |
1546 | | - | |
1547 | | - | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
1548 | 1567 | | |
1549 | 1568 | | |
1550 | 1569 | | |
| |||
0 commit comments