chore(coverage): declare the gate in [tool.coverage.report] and measure only in test-ci - #485
Merged
Conversation
…re only in test-ci
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: 6d16514 | Previous: fc39046 | Ratio |
|---|---|---|---|
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type |
4393389.3549111495 iter/sec (stddev: 7.208148275236166e-9) |
4158761.035219325 iter/sec (stddev: 8.13670554091459e-9) |
0.95 |
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry |
4376741.5054409 iter/sec (stddev: 6.725767775502434e-9) |
3990230.9569556788 iter/sec (stddev: 1.8798908569888113e-8) |
0.91 |
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve |
17610.558221663625 iter/sec (stddev: 0.00005830058347627865) |
16134.580325706667 iter/sec (stddev: 0.00005046863507128928) |
0.92 |
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached |
15173.48557662349 iter/sec (stddev: 0.0001371587716083082) |
13596.70743422707 iter/sec (stddev: 0.00010726566353146992) |
0.90 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] |
542.1437994469555 iter/sec (stddev: 0.00005345765010909475) |
553.6127861863322 iter/sec (stddev: 0.0001579069634057032) |
1.02 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] |
504.5277088722932 iter/sec (stddev: 0.0000969406286914811) |
488.3466119845556 iter/sec (stddev: 0.00022730325681841844) |
0.97 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] |
456.5763806732935 iter/sec (stddev: 0.00012315294701496608) |
459.4334564016916 iter/sec (stddev: 0.000042940089461520866) |
1.01 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] |
1845.9943238434275 iter/sec (stddev: 0.00017457660449678652) |
1668.6501354607235 iter/sec (stddev: 0.00018814109746920226) |
0.90 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] |
1478.4284355013854 iter/sec (stddev: 0.00019650832093564283) |
1335.316842644818 iter/sec (stddev: 0.00020593009553087613) |
0.90 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] |
1049.7168375711706 iter/sec (stddev: 0.00019719311971386788) |
873.4240364302943 iter/sec (stddev: 0.001255961381736033) |
0.83 |
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container |
735514.8532260801 iter/sec (stddev: 5.009687619463809e-8) |
714209.701967521 iter/sec (stddev: 4.7554942163995425e-8) |
0.97 |
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope |
669271.5720155721 iter/sec (stddev: 3.022329804797654e-8) |
675600.7205147323 iter/sec (stddev: 8.590805162615815e-8) |
1.01 |
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch |
2402.2985751984 iter/sec (stddev: 0.000010474076167779656) |
2436.353244730597 iter/sec (stddev: 0.000012183633779711561) |
1.01 |
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control |
60860.29831257309 iter/sec (stddev: 0.0000014105855205846606) |
61846.76391935982 iter/sec (stddev: 0.000001956842012191336) |
1.02 |
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale |
48317.92163762849 iter/sec (stddev: 0.0000014926168337825658) |
49238.06084820303 iter/sec (stddev: 0.0000020274507454879575) |
1.02 |
benchmarks/test_guard_resolve.py::test_g1_transient_resolve |
2466121.5017310646 iter/sec (stddev: 2.4264223464552454e-8) |
2494957.37926869 iter/sec (stddev: 2.0738593852462502e-8) |
1.01 |
benchmarks/test_guard_resolve.py::test_g2_cached_resolve |
4203052.315448951 iter/sec (stddev: 6.323446569615443e-9) |
4192646.2242921055 iter/sec (stddev: 9.242397551818976e-9) |
1.00 |
benchmarks/test_guard_resolve.py::test_g3_deep_chain |
850536.1354532214 iter/sec (stddev: 7.219176847087456e-8) |
855739.9204431148 iter/sec (stddev: 4.426302771736765e-8) |
1.01 |
benchmarks/test_guard_resolve.py::test_g4_wide_resolve |
497678.4668136146 iter/sec (stddev: 3.2662562994842574e-7) |
499545.67569668434 iter/sec (stddev: 3.134731071349648e-7) |
1.00 |
benchmarks/test_guard_resolve.py::test_g5_cross_scope |
1971031.5521708794 iter/sec (stddev: 2.453177552541404e-8) |
1872950.2023283816 iter/sec (stddev: 2.681412062947349e-8) |
0.95 |
benchmarks/test_guard_resolve.py::test_g9_context_resolve |
1150528.6046161628 iter/sec (stddev: 1.5682005208967376e-7) |
1114981.832487813 iter/sec (stddev: 1.2174079470885297e-7) |
0.97 |
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve |
850807.2118489445 iter/sec (stddev: 1.227639266438015e-7) |
848681.8867003281 iter/sec (stddev: 1.014716189211694e-7) |
1.00 |
benchmarks/test_guard_resolve.py::test_g18_alias_hop |
2975464.321210177 iter/sec (stddev: 7.43441438892879e-9) |
2819884.449033468 iter/sec (stddev: 1.3953969227339099e-8) |
0.95 |
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain |
24304.657324014453 iter/sec (stddev: 0.0002552970084586549) |
24589.945648246317 iter/sec (stddev: 0.000023738884466710817) |
1.01 |
benchmarks/test_guard_validate.py::test_g11_validate_wide |
16396.02056119977 iter/sec (stddev: 0.000026101556284796933) |
15316.434942105047 iter/sec (stddev: 0.000024992133312082236) |
0.93 |
This comment was automatically generated by workflow using github-action-benchmark.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Converges the coverage gate on the modern-python standard, section 5: the 100 % gate is declared once as
[tool.coverage.report] fail_under = 100, and coverage is measured only byjust test-ci(andtest-branch), never on every run through pytestaddopts.pytest-cov reads
fail_underfrom the coverage config when no--cov-fail-underflag is given and applies it whenever coverage is measured, so the gate fires intest-ciexactly as before and a targetedjust testrun stays gate-free. coverage special-cases 100: the total must really be 100, no rounding.Changes
pyproject.toml:fail_under = 100under[tool.coverage.report]; any--cov*flags removed fromaddopts.justfile:test-cimeasures coverage and writes the XML report without the flag;test-branchlikewise. Wheretest-cidid not exist it is added, and CI now calls it..github/workflows/_checks.yml(where present): the pytest step runsjust test-ci.Checklist
ruff) — config and recipes onlyty) — no Python changedjust test-ci, which is the gate