fix(ci): fix docfx and db-dtypes pandas compat - #18512
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request updates test_dtypes.py to catch additional TypeError messages containing "not supported" in exercise_any and exercise_all, and configures the unit test session in noxfile.py to use the virtualenv backend to prevent build isolation failures. The feedback suggests using a more specific substring, such as "is not supported", to avoid accidentally catching unrelated TypeError exceptions.
chalmerlowe
commented
Sep 30, 2026
chalmerlowe
marked this pull request as ready for review
September 30, 2026 18:14
chalmerlowe
marked this pull request as draft
September 30, 2026 19:43
chalmerlowe
force-pushed
the
fix/ci-db-dtypes-docfx-compat
branch
from
September 30, 2026 20:00
22afbe2 to
4f883c4
Compare
chalmerlowe
marked this pull request as ready for review
September 30, 2026 20:01
daniel-sanche
approved these changes
Sep 30, 2026
chalmerlowe
force-pushed
the
fix/ci-db-dtypes-docfx-compat
branch
from
September 30, 2026 23:23
4f883c4 to
d6a14ea
Compare
…o shard tests Explicitly set venv_backend="virtualenv" on sqlalchemy-bigquery Nox sessions to bypass strict PEP 621 duplicate extra name parsing in uv under UV_PRERELEASE=allow (caused by sqlalchemy==2.1.0rc2). Removes sqlalchemy-bigquery from EXCLUDED_PACKAGES in ci/get_package_shards.py.
…ositives
Address bot review feedback by narrowing the TypeError substring check
from "not supported" to "is not supported" in exercise_any and exercise_all.
This prevents accidentally suppressing unrelated TypeErrors (e.g. comparison
or argument errors) while still matching the pandas datetime64 message
("'any'/'all' with datetime64 dtypes is not supported").
…ocument versions Anchors the modern pandas TypeError check in exercise_any and exercise_all to require 'datetime64' alongside 'is not supported'. This completely eliminates the risk of matching unrelated TypeErrors (like comparison or argument errors). Adds self-documenting comments detailing the expected messages across pandas versions (<3.0 vs >=3.0) and local test mocks.
…ning diversion from uv Defines VENV_BACKEND = "virtualenv" in noxfile.py with explanatory comments highlighting the upstream packaging issue in sqlalchemy==2.1.0rc2 (duplicate normalized extra name 'mssql-pymssql' under strict uv PEP 621 parsing with UV_PRERELEASE=allow). Applies VENV_BACKEND across affected sessions.
…olate presubmit from pre-release breakage
… SQLAlchemy versions
…ERSION Replace SYSTEM_TEST_PYTHON_VERSIONS[-1] with DEFAULT_PYTHON_VERSION in the compliance session. When preview/RC Python runtimes (e.g. 3.15) are added to UNIT_TEST_PYTHON_VERSIONS and ALL_PYTHON before being installed in CI Docker images, taking the tail index causes Nox to abort with missing interpreter errors. DEFAULT_PYTHON_VERSION guarantees execution against the repository-wide verified stable runtime.
BigQuery requires all view definitions to qualify source tables with a dataset. TableViaSelectTest attempts to create views without dataset qualification, causing BigQuery to reject the DDL with a 400 DatabaseError. Exclude TableViaSelectTest from the compliance test suite.
In SQLAlchemy 2.0+, Double and Float bindparams emit parameter types such as '%(param:DOUBLE)s'. BigQuery does not recognize DOUBLE as a valid scalar type in DB-API parameter parsing, expecting FLOAT64 instead. Map visit_DOUBLE and visit_DOUBLE_PRECISION to visit_FLOAT in BigQueryTypeCompiler to compile to FLOAT64.
…n docs When docs.python.org is experiencing service degradation (e.g. 503 Service Unavailable), sphinx-build -W treats the unreachable objects.inv inventory as a fatal error. Conditionally attach the python mapping only when the inventory endpoint is reachable to prevent CI doc build failures.
…nventory in docs When docs.python.org is experiencing service degradation (e.g. 503 Service Unavailable), sphinx-build -W treats the unreachable objects.inv inventory as a fatal error. Conditionally attach the python mapping only when the inventory endpoint is reachable to prevent CI doc build failures.
chalmerlowe
force-pushed
the
fix/ci-db-dtypes-docfx-compat
branch
from
October 1, 2026 10:05
4f70df9 to
441b68b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes pre-existing environment and upstream dependency compatibility issues in presubmit testing:
packages/gcp-sphinx-docfx-yaml:venv_backend="virtualenv"on theunitsession innoxfile.pyso that Nox uses virtualenv/pip when building legacy transitive source distributions (unify/untokenize), preventing build failures under the monorepo's defaultuvrunner.packages/db-dtypes:"'any' with datetime64 dtypes is not supported") raised by newer versions ofpandaswhen testing unsupported datetime64 operations intest_anyandtest_all.