Skip to content

ci: list the installed modern-di packages before the integration docs run - #695

Merged
lesnik512 merged 1 commit into
mainfrom
ci/docs-integrations-show-versions
Oct 17, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
ci/docs-integrations-show-versions

Conversation

@lesnik512

Copy link
Copy Markdown
Member

just test-docs-integrations installs the latest release of every modern-di-<page> integration from PyPI, then runs the docs. The log never said which versions it got, so a failure couldn't be tied to a release. That happened on #684: one Flask block failed in CI on Python 3.11 a few minutes after modern-di-flask 4.1.0 was published, and a rerun passed.

The recipe now prints uv pip list | grep '^modern-di' from the throwaway venv before pytest runs.

The first local run with this line installed modern-di-celery 4.0.0, about an hour after 4.0.1 was on PyPI. The next run of the same recipe, with nothing changed, installed 4.0.1. The two releases have identical requirements, so the resolver was reading stale index data. That fits the #684 failure, and this line is what makes it visible.

Checks: just test-docs-integrations passes (339 passed, 1 skipped) and prints the versions above the test output.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Details
Benchmark suite Current: dc1c43c Previous: 49e532a Ratio
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type 3979552.422916329 iter/sec (stddev: 9.37096038852688e-9) 3322953.865392836 iter/sec (stddev: 1.9400194394067875e-8) 0.84
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry 4007241.7269590576 iter/sec (stddev: 9.317186905356805e-9) 3290736.612626868 iter/sec (stddev: 1.3962520971126912e-8) 0.82
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve 24290.565726598852 iter/sec (stddev: 0.000047009808809671964) 20830.483176862548 iter/sec (stddev: 0.000046577954523524225) 0.86
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached 19859.0695675322 iter/sec (stddev: 0.00012470903017891587) 17035.646758540228 iter/sec (stddev: 0.0001254570368128264) 0.86
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] 484.02751875939407 iter/sec (stddev: 0.00007836861500324898) 463.6102720517647 iter/sec (stddev: 0.00009788416499603952) 0.96
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] 473.11562256422525 iter/sec (stddev: 0.0000647915996304897) 460.3803090805749 iter/sec (stddev: 0.00011984040664755805) 0.97
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] 465.2122924373356 iter/sec (stddev: 0.00008201677002416406) 438.29703311035627 iter/sec (stddev: 0.00006796046834806251) 0.94
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] 14632.00328835217 iter/sec (stddev: 0.0000071194515419712915) 13403.171302028779 iter/sec (stddev: 0.000009899823084174113) 0.92
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] 7684.05521402796 iter/sec (stddev: 0.000019764200800952047) 6496.183356942232 iter/sec (stddev: 0.00003249738761684141) 0.85
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] 3840.376418333419 iter/sec (stddev: 0.000034924352536269626) 3399.8316799956174 iter/sec (stddev: 0.00004195760867040236) 0.89
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] 10456.09121331899 iter/sec (stddev: 0.000007382828411206047) 10345.036270486566 iter/sec (stddev: 0.000008621550143269137) 0.99
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] 4653.7391223176055 iter/sec (stddev: 0.000024396607359078254) 4279.920954142435 iter/sec (stddev: 0.0000199644823440061) 0.92
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] 2272.3181693855395 iter/sec (stddev: 0.00003782522796603237) 1986.6942477224713 iter/sec (stddev: 0.00004286862485265687) 0.87
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[1] 41863.26411393546 iter/sec (stddev: 0.000004088018976129911) 40833.2153706938 iter/sec (stddev: 0.000004380713367930622) 0.98
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[2] 15440.786193257461 iter/sec (stddev: 0.000014415128281412158) 14341.607285519649 iter/sec (stddev: 0.000017539134374975905) 0.93
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[4] 6688.168757655671 iter/sec (stddev: 0.000028906608506808825) 5801.589132611457 iter/sec (stddev: 0.000035883098816163926) 0.87
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container 1663468.3023005966 iter/sec (stddev: 2.4594708213406585e-8) 1572139.0547530898 iter/sec (stddev: 2.6039912602557334e-8) 0.95
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope 1780563.766547982 iter/sec (stddev: 2.7892862861413098e-8) 1703837.44232078 iter/sec (stddev: 2.167766764447963e-8) 0.96
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch 3406.217007545245 iter/sec (stddev: 0.000011276560818548756) 3130.608867138643 iter/sec (stddev: 0.000011784689765943899) 0.92
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control 59127.554040293784 iter/sec (stddev: 0.0000014144118160105617) 58365.71549740512 iter/sec (stddev: 0.0000022842493240200326) 0.99
benchmarks/test_guard_lifecycle.py::test_g7b_request_cycle_sync 451970.7007274625 iter/sec (stddev: 8.898773957252837e-8) 416584.57346953335 iter/sec (stddev: 7.959735413520793e-8) 0.92
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale 70775.00244066688 iter/sec (stddev: 0.0000013505958551009845) 64098.29349257059 iter/sec (stddev: 0.0000027029771299956137) 0.91
benchmarks/test_guard_lifecycle.py::test_g13b_teardown_at_scale_async_no_finalizers 633.9886789136233 iter/sec (stddev: 0.001194470570212964) 584.5948817931851 iter/sec (stddev: 0.0009687414593959209) 0.92
benchmarks/test_guard_resolve.py::test_g1_transient_resolve 2409488.9046441177 iter/sec (stddev: 2.2464242943443143e-8) 2155613.524787806 iter/sec (stddev: 3.347623083928646e-8) 0.89
benchmarks/test_guard_resolve.py::test_g2_cached_resolve 3915729.2769758147 iter/sec (stddev: 6.6941606679231735e-9) 3632663.4714008835 iter/sec (stddev: 8.066846954854397e-9) 0.93
benchmarks/test_guard_resolve.py::test_g3_deep_chain 803001.4588541228 iter/sec (stddev: 4.1005915356331805e-8) 743236.2804246919 iter/sec (stddev: 4.129190984831331e-8) 0.93
benchmarks/test_guard_resolve.py::test_g4_wide_resolve 470947.75126649794 iter/sec (stddev: 4.074581856600479e-7) 461041.16834789043 iter/sec (stddev: 4.0756631625929073e-7) 0.98
benchmarks/test_guard_resolve.py::test_g5_cross_scope 2154616.6945002107 iter/sec (stddev: 2.3075576945184433e-8) 1875361.1535381884 iter/sec (stddev: 5.0073378075675435e-8) 0.87
benchmarks/test_guard_resolve.py::test_g9_context_resolve 1640746.5626563847 iter/sec (stddev: 1.486319023707063e-7) 1114599.4047520568 iter/sec (stddev: 2.5873079735818754e-7) 0.68
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve 750691.5182604259 iter/sec (stddev: 7.605701035426851e-8) 737752.3246677232 iter/sec (stddev: 1.446469984569988e-7) 0.98
benchmarks/test_guard_resolve.py::test_g18_alias_hop 3955653.7981755505 iter/sec (stddev: 8.77614644640482e-9) 3467027.8200227497 iter/sec (stddev: 8.125377401955615e-8) 0.88
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain 36130.04968027146 iter/sec (stddev: 0.00022540912730918396) 30742.033686185343 iter/sec (stddev: 0.00003739356965916485) 0.85
benchmarks/test_guard_validate.py::test_g11_validate_wide 24756.484695084207 iter/sec (stddev: 0.000024476407536163203) 21232.306658833615 iter/sec (stddev: 0.00002511195035178656) 0.86

This comment was automatically generated by workflow using github-action-benchmark.

@lesnik512
lesnik512 merged commit fea746f into main Oct 17, 2026
12 checks passed
@lesnik512
lesnik512 deleted the ci/docs-integrations-show-versions branch October 17, 2026 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant