chore: exclude major paramiko bumps and group minor/patch Dependabot updates - #10257
Conversation
paramiko 5.0 removed DSSKey entirely, whilst sshtunnel 0.4.0 still refers to paramiko.DSSKey in SSHTunnelForwarder.get_keys(), which _consolidate_auth() calls from the constructor. A major bump therefore does not merely drop DSA key support, it raises AttributeError before any SSH tunnelled connection can be established, and nothing in CI covers SSH tunnels so it looks green. sshtunnel has had no release since 0.4.0 in 2019, so there is nothing newer to move to on that side. Ignore major paramiko updates until sshtunnel is fixed or replaced. The exclusion is repeated under the /web/regression entry because web/regression/requirements.txt starts with "-r ../../requirements.txt", so that entry sees the root pins too.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
WalkthroughDependabot now ignores major ChangesDependabot paramiko exclusions
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This localized configuration change only prevents incompatible major Paramiko update proposals; no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
I have added a second commit to this PR, so it now does two things to The first is the paramiko exclusion described above. The second batches minor and patch updates into a single weekly PR per manifest, whilst leaving major updates arriving individually. The motivation is the queue this came out of: 27 open Dependabot PRs, most of them single patch bumps of transitive packages. Every genuine problem in that pile was a major bump, namely paramiko 5.0 breaking sshtunnel, use-resize-observer 10.0 dropping its default export, and jest-dom 7.0 requiring a newer Node than our CI runs, so majors keep their individual PRs and the review attention they deserve. Grouping applies to version updates only, so Dependabot security updates are unaffected and still arrive as their own PRs. |
Follow-up to #9927, which I closed rather than merged.
paramiko 5.0 removed
DSSKeyaltogether: there is noparamiko/dsskey.pyin the wheel and the name is gone fromparamiko/__init__.py.sshtunnel0.4.0, which is how pgAdmin reaches paramiko at all, still refers toparamiko.DSSKeyunconditionally inSSHTunnelForwarder.get_keys(), and_consolidate_auth()calls that from the constructor. So a major bump breaks every SSH tunnelled connection at the point the forwarder is created, not merely DSA key support:Nothing in CI exercises SSH tunnels, so the bump looked green and would have gone in on a quiet day. sshtunnel has had no release since 0.4.0 in 2019, so there is nothing newer to move to; the pin stays at
paramiko==3.5.1and this simply stops Dependabot proposing the jump again.The exclusion appears under both the
/and/web/regressionpip entries becauseweb/regression/requirements.txtopens with-r ../../requirements.txt, so the latter entry sees the root pins as well. That same include is why we periodically get two identical PRs for one root pin (#10203/#10209, #10205/#10208, #10082/#10084 were all such pairs); deduplicating that properly means restructuring how the test requirements include the runtime ones, which felt like more than this change should carry.Summary by CodeRabbit
paramikoupgrades where compatibility concerns exist.