Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 24, 2025

Changes

This PR updates the GitHub Actions test workflow to improve dependency compatibility testing by:

  1. Reduced Python version matrix: Tests now run on Python 3.10 and 3.14 only (previously tested 3.10, 3.11, 3.12, and 3.13)
  2. Added dependency resolution strategy: Introduces a new resolution matrix dimension that tests both:
    • highest: Default behavior using uv sync --locked to install the highest compatible dependency versions
    • lowest: Uses uv sync --resolution lowest to install the lowest possible compatible versions for all dependencies (both direct and transitive)

Rationale

Testing with both the lowest and highest compatible dependency versions ensures:

  • The project works with the minimum supported dependency versions (important for users with older dependencies)
  • The project works with the latest dependency versions (catches compatibility issues early)
  • Better coverage of the dependency compatibility range without testing every Python minor version

Test Matrix

The test_all job now runs 72 combinations (down from 96):

  • 2 Python versions (3.10, 3.14)
  • 2 dependency resolutions (highest, lowest)
  • 6 platforms (Ubuntu, macOS, Windows variants)
  • 3 projects (key-value-aio, key-value-shared, key-value-sync)

This provides comprehensive compatibility testing across:

  • Minimum and maximum supported Python versions
  • Minimum and maximum supported dependency versions
  • All major operating systems

Fixes #issue_number

Original prompt

This section details on the original issue you should resolve

<issue_title>Change Tests Dependency Sync to lowest/highest</issue_title>
<issue_description>Instead of testing Python 3.10, 3.11, 3.12, 3.13, and 3.14, we should test 3.10 and 3.14 and run one set of tests normally and one set of tests with

uv sync --resolution lowest command, which will install the lowest possible compatible version for all dependencies, including both the project's direct dependencies and all transitive dependencies (dependencies of your dependencies).</issue_description>

Comments on the Issue (you are @copilot in this section)

Fixes #80


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 24, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch copilot/change-tests-dependency-sync

Comment @coderabbitai help to get the list of available commands and usage tips.

…west dependency resolution

Co-authored-by: strawgate <6384545+strawgate@users.noreply.github.com>
Copilot AI changed the title [WIP] Change tests dependency sync to lowest/highest versions Update test workflow to test Python 3.10 and 3.14 with lowest/highest dependency resolution Oct 24, 2025
Copilot AI requested a review from strawgate October 24, 2025 03:36
@strawgate strawgate marked this pull request as ready for review October 24, 2025 12:49
@strawgate
Copy link
Owner

Will handle in #89

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.

Change Tests Dependency Sync to lowest/highest

2 participants