Skip to content

chore: remove Python 3.9 from default nox session#17017

Merged
parthea merged 1 commit into
mainfrom
parthea-patch-15
May 11, 2026
Merged

chore: remove Python 3.9 from default nox session#17017
parthea merged 1 commit into
mainfrom
parthea-patch-15

Conversation

@parthea
Copy link
Copy Markdown
Contributor

@parthea parthea commented May 11, 2026

This PR removes Python 3.9 from the default nox session which is used in continuous builds. Python 3.9 unit tests are still running in presubmits via Github actions but cannot be tested in continuous builds since Python 3.9 has been removed from the testing image as of googleapis/testing-infra-docker#524.

@parthea parthea requested a review from a team as a code owner May 11, 2026 14:59
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request removes Python 3.9 from the test sessions in the nox configuration for the Google Cloud Spanner package. The reviewer noted that such infrastructure updates should be applied consistently across all relevant packages in a single pull request and advised updating project metadata and following a minor version bump strategy for this breaking change.

CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute()

nox.options.sessions = [
"unit-3.9",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

This change appears to be part of a global infrastructure update (removal of Python 3.9). According to repository rules, changes to shared configurations should be applied consistently across all relevant packages in a single, universal pull request rather than piecemeal. When this change is consolidated, ensure that the project metadata (e.g., 'python_requires' in 'setup.py' or 'pyproject.toml') is updated to reflect the new minimum version. Additionally, since dropping support for a Python version is a breaking change, ensure a minor version bump is used instead of a patch bump to maintain the ability to provide patches for the previous version.

References
  1. Changes to shared configurations, like mypy flags, should be applied consistently across all relevant packages in a dedicated, universal change rather than piecemeal in individual pull requests.
  2. When updating the minimum supported Python version in runtime checks (e.g., 'sys.version_info' checks), ensure that the project's metadata in 'setup.py' or 'pyproject.toml' is also updated to reflect the same minimum version in 'python_requires' and Trove classifiers.
  3. When a release introduces breaking changes in environment requirements, such as dropping support for specific Python versions or major dependency versions (e.g., protobuf), prefer a minor version bump over a patch version bump.

Copy link
Copy Markdown
Contributor

@chalmerlowe chalmerlowe left a comment

Choose a reason for hiding this comment

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

LGTM

@parthea parthea merged commit 4109c8e into main May 11, 2026
39 of 40 checks passed
@parthea parthea deleted the parthea-patch-15 branch May 11, 2026 15:47
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.

2 participants