Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test(functional): pin versions of tools #1006

Merged
merged 2 commits into from
Jan 7, 2025
Merged

Conversation

mkniewallner
Copy link
Collaborator

@mkniewallner mkniewallner commented Jan 7, 2025

Our functional tests depend on package managers (PDM, Poetry, uv), which we currently install from latest. Although we usually don't have breakages, this could happen, mainly on major versions, as we recently saw for instance with Poetry 2.0.

This PR pins those tools to fixed versions, to avoid breakages. It also configures Renovate so that it can suggest updates to those tools.

Some follow-ups to this PR that could be done:

  • Auto-merging minor/patch for tools (requiring review for major could still be nice, as even if CI is green, we could be warned about breaking changes, or new features worth knowing about for deptry)
  • Letting Renovate extract and update dependencies in fixtures as well -> this would ensure that dependencies are regularly updated, to make sure we have wheels for new Python versions as much as possible, which could speed up dependencies installation on newer versions
  • Adding lock files for package manager supporting them in fixtures -> additionally to the item above, it would ensures reproducibility in tests, which could break if some transitive dependencies we rely on in tests are changed

Note that for the 3 items above, we should probably configure Renovate in a way that will make it create separate branches/PRs to dependencies in tests, to avoid grouping those updates with our regular dependencies.

Copy link

codecov bot commented Jan 7, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 93.0%. Comparing base (29f1455) to head (f625a10).
Report is 1 commits behind head on main.

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #1006   +/-   ##
=====================================
  Coverage   93.0%   93.0%           
=====================================
  Files         37      37           
  Lines        994     994           
  Branches      98      98           
=====================================
  Hits         925     925           
  Misses        55      55           
  Partials      14      14           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mkniewallner mkniewallner force-pushed the test/pin-version-tools branch 3 times, most recently from c5b85e6 to 3e12c11 Compare January 7, 2025 21:40
],

// https://docs.renovatebot.com/configuration-options/#ignorepaths
ignorePaths: ["tests/fixtures/**"],
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

As specified in the PR description, we could in the future unignore dependencies in fixtures, to let Renovate update dependencies on a regular basis.

@mkniewallner mkniewallner marked this pull request as ready for review January 7, 2025 21:49
@mkniewallner mkniewallner force-pushed the test/pin-version-tools branch from 3e12c11 to f625a10 Compare January 7, 2025 21:50
@mkniewallner mkniewallner enabled auto-merge (squash) January 7, 2025 21:51
@mkniewallner mkniewallner merged commit 6e7646b into main Jan 7, 2025
23 checks passed
@mkniewallner mkniewallner deleted the test/pin-version-tools branch January 9, 2025 22:46
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.

None yet

1 participant