From dfe4fc2088e8d95f1e79286cb5b5e17da018e254 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Tue, 18 Jan 2022 17:05:36 -0600 Subject: [PATCH 01/12] test: add prerelease session to test with latest dependencies --- noxfile.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/noxfile.py b/noxfile.py index ce847c57..b609659e 100644 --- a/noxfile.py +++ b/noxfile.py @@ -19,6 +19,7 @@ from __future__ import absolute_import import os import pathlib +import re import shutil import nox @@ -183,6 +184,73 @@ def system(session): ) +@nox.session(python=DEFAULT_PYTHON_VERSION) +def prerelease(session): + # TODO: Geoalchemy, Shapely, Alembic from extras + session.install( + "--prefer-binary", + "--pre", + "--upgrade", + "google-api-core", + "google-cloud-bigquery", + "google-cloud-bigquery-storage", + "google-cloud-core", + "google-resumable-media", + "grpcio", + ) + session.install( + "freezegun", + "google-cloud-testutils", + "mock", + "psutil", + "pytest", + "pytest-cov", + "pytz", + ) + + # Because we test minimum dependency versions on the minimum Python + # version, the first version we test with in the unit tests sessions has a + # constraints file containing all dependencies and extras. + with open( + CURRENT_DIRECTORY + / "testing" + / f"constraints-{UNIT_TEST_PYTHON_VERSIONS[0]}.txt", + encoding="utf-8", + ) as constraints_file: + constraints_text = constraints_file.read() + + # Ignore leading whitespace and comment lines. + deps = [ + match.group(1) + for match in re.finditer( + r"^\s*(\S+)(?===\S+)", constraints_text, flags=re.MULTILINE + ) + ] + + # We use --no-deps to ensure that pre-release versions aren't overwritten + # by the version ranges in setup.py. + session.install(*deps) + session.install("--no-deps", "-e", ".[all]") + + # Print out prerelease package versions. + session.run("python", "-m", "pip", "freeze") + + # Run all tests, except a few samples tests which require extra dependencies. + session.run( + "py.test", + "--quiet", + f"--junitxml=prerelease_unit_{session.python}_sponge_log.xml", + os.path.join("tests", "unit"), + ) + session.run( + "py.test", + "--quiet", + f"--junitxml=prerelease_system_{session.python}_sponge_log.xml", + os.path.join("tests", "system"), + ) + # TODO: should we add compliance test suite, too? It takes quite a lot longer than our other tests, though. + + @nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS) def compliance(session): """Run the SQLAlchemy dialect-compliance system tests""" From 01aca604c47d42444f6a01dcde7653ccced13b1b Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 18 Jan 2022 23:18:32 +0000 Subject: [PATCH 02/12] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- noxfile.py | 68 ------------------------------------------------------ 1 file changed, 68 deletions(-) diff --git a/noxfile.py b/noxfile.py index b609659e..ce847c57 100644 --- a/noxfile.py +++ b/noxfile.py @@ -19,7 +19,6 @@ from __future__ import absolute_import import os import pathlib -import re import shutil import nox @@ -184,73 +183,6 @@ def system(session): ) -@nox.session(python=DEFAULT_PYTHON_VERSION) -def prerelease(session): - # TODO: Geoalchemy, Shapely, Alembic from extras - session.install( - "--prefer-binary", - "--pre", - "--upgrade", - "google-api-core", - "google-cloud-bigquery", - "google-cloud-bigquery-storage", - "google-cloud-core", - "google-resumable-media", - "grpcio", - ) - session.install( - "freezegun", - "google-cloud-testutils", - "mock", - "psutil", - "pytest", - "pytest-cov", - "pytz", - ) - - # Because we test minimum dependency versions on the minimum Python - # version, the first version we test with in the unit tests sessions has a - # constraints file containing all dependencies and extras. - with open( - CURRENT_DIRECTORY - / "testing" - / f"constraints-{UNIT_TEST_PYTHON_VERSIONS[0]}.txt", - encoding="utf-8", - ) as constraints_file: - constraints_text = constraints_file.read() - - # Ignore leading whitespace and comment lines. - deps = [ - match.group(1) - for match in re.finditer( - r"^\s*(\S+)(?===\S+)", constraints_text, flags=re.MULTILINE - ) - ] - - # We use --no-deps to ensure that pre-release versions aren't overwritten - # by the version ranges in setup.py. - session.install(*deps) - session.install("--no-deps", "-e", ".[all]") - - # Print out prerelease package versions. - session.run("python", "-m", "pip", "freeze") - - # Run all tests, except a few samples tests which require extra dependencies. - session.run( - "py.test", - "--quiet", - f"--junitxml=prerelease_unit_{session.python}_sponge_log.xml", - os.path.join("tests", "unit"), - ) - session.run( - "py.test", - "--quiet", - f"--junitxml=prerelease_system_{session.python}_sponge_log.xml", - os.path.join("tests", "system"), - ) - # TODO: should we add compliance test suite, too? It takes quite a lot longer than our other tests, though. - - @nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS) def compliance(session): """Run the SQLAlchemy dialect-compliance system tests""" From 93b3286f822b33ac68c32a0fbd9434f051bfcd3b Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Wed, 19 Jan 2022 13:00:29 -0600 Subject: [PATCH 03/12] =?UTF-8?q?Revert=20"=F0=9F=A6=89=20Updates=20from?= =?UTF-8?q?=20OwlBot"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 01aca604c47d42444f6a01dcde7653ccced13b1b. --- noxfile.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/noxfile.py b/noxfile.py index ce847c57..b609659e 100644 --- a/noxfile.py +++ b/noxfile.py @@ -19,6 +19,7 @@ from __future__ import absolute_import import os import pathlib +import re import shutil import nox @@ -183,6 +184,73 @@ def system(session): ) +@nox.session(python=DEFAULT_PYTHON_VERSION) +def prerelease(session): + # TODO: Geoalchemy, Shapely, Alembic from extras + session.install( + "--prefer-binary", + "--pre", + "--upgrade", + "google-api-core", + "google-cloud-bigquery", + "google-cloud-bigquery-storage", + "google-cloud-core", + "google-resumable-media", + "grpcio", + ) + session.install( + "freezegun", + "google-cloud-testutils", + "mock", + "psutil", + "pytest", + "pytest-cov", + "pytz", + ) + + # Because we test minimum dependency versions on the minimum Python + # version, the first version we test with in the unit tests sessions has a + # constraints file containing all dependencies and extras. + with open( + CURRENT_DIRECTORY + / "testing" + / f"constraints-{UNIT_TEST_PYTHON_VERSIONS[0]}.txt", + encoding="utf-8", + ) as constraints_file: + constraints_text = constraints_file.read() + + # Ignore leading whitespace and comment lines. + deps = [ + match.group(1) + for match in re.finditer( + r"^\s*(\S+)(?===\S+)", constraints_text, flags=re.MULTILINE + ) + ] + + # We use --no-deps to ensure that pre-release versions aren't overwritten + # by the version ranges in setup.py. + session.install(*deps) + session.install("--no-deps", "-e", ".[all]") + + # Print out prerelease package versions. + session.run("python", "-m", "pip", "freeze") + + # Run all tests, except a few samples tests which require extra dependencies. + session.run( + "py.test", + "--quiet", + f"--junitxml=prerelease_unit_{session.python}_sponge_log.xml", + os.path.join("tests", "unit"), + ) + session.run( + "py.test", + "--quiet", + f"--junitxml=prerelease_system_{session.python}_sponge_log.xml", + os.path.join("tests", "system"), + ) + # TODO: should we add compliance test suite, too? It takes quite a lot longer than our other tests, though. + + @nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS) def compliance(session): """Run the SQLAlchemy dialect-compliance system tests""" From 211cc2bcd365eb531a6acecd851b305238c932ff Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Wed, 19 Jan 2022 13:50:51 -0600 Subject: [PATCH 04/12] Avoid owlbot from overwriting my changes --- owlbot.py | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/owlbot.py b/owlbot.py index c007d936..d02e1627 100644 --- a/owlbot.py +++ b/owlbot.py @@ -15,6 +15,7 @@ """This script is used to synthesize generated parts of this library.""" import pathlib +from noxfile import prerelease import synthtool as s from synthtool import gcp @@ -62,6 +63,12 @@ '"sqlalchemy_bigquery"', ) +s.replace( + ["noxfile.py"], + r"import shutil", + "import re\nimport shutil", +) + s.replace( ["noxfile.py"], "--cov=google", "--cov=sqlalchemy_bigquery", ) @@ -103,6 +110,76 @@ def place_before(path, text, *before_text, escape=None): s.replace( ["noxfile.py"], old_sessions, new_sessions) +prerelease = ''' +@nox.session(python=DEFAULT_PYTHON_VERSION) +def prerelease(session): + # TODO: Geoalchemy, Shapely, Alembic from extras + session.install( + "--prefer-binary", + "--pre", + "--upgrade", + "google-api-core", + "google-cloud-bigquery", + "google-cloud-bigquery-storage", + "google-cloud-core", + "google-resumable-media", + "grpcio", + ) + session.install( + "freezegun", + "google-cloud-testutils", + "mock", + "psutil", + "pytest", + "pytest-cov", + "pytz", + ) + + # Because we test minimum dependency versions on the minimum Python + # version, the first version we test with in the unit tests sessions has a + # constraints file containing all dependencies and extras. + with open( + CURRENT_DIRECTORY + / "testing" + / f"constraints-{UNIT_TEST_PYTHON_VERSIONS[0]}.txt", + encoding="utf-8", + ) as constraints_file: + constraints_text = constraints_file.read() + + # Ignore leading whitespace and comment lines. + deps = [ + match.group(1) + for match in re.finditer( + r"^\s*(\S+)(?===\S+)", constraints_text, flags=re.MULTILINE + ) + ] + + # We use --no-deps to ensure that pre-release versions aren't overwritten + # by the version ranges in setup.py. + session.install(*deps) + session.install("--no-deps", "-e", ".[all]") + + # Print out prerelease package versions. + session.run("python", "-m", "pip", "freeze") + + # Run all tests, except a few samples tests which require extra dependencies. + session.run( + "py.test", + "--quiet", + f"--junitxml=prerelease_unit_{session.python}_sponge_log.xml", + os.path.join("tests", "unit"), + ) + session.run( + "py.test", + "--quiet", + f"--junitxml=prerelease_system_{session.python}_sponge_log.xml", + os.path.join("tests", "system"), + ) + # TODO: should we add compliance test suite, too? It takes quite a lot longer than our other tests, though. + + +''' + # Maybe we can get rid of this when we don't need pytest-rerunfailures, # which we won't need when BQ retries itself: # https://github.com/googleapis/python-bigquery/pull/837 @@ -163,7 +240,7 @@ def compliance(session): "noxfile.py", "@nox.session(python=DEFAULT_PYTHON_VERSION)\n" "def cover(session):", - compliance, + prerelease + compliance, escape="()", ) From efdceaced8bd4f3f2b9cfe6c3e4f78bc24af61a0 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Wed, 19 Jan 2022 14:02:08 -0600 Subject: [PATCH 05/12] split compliance and prerelease tests out --- .kokoro/continuous/compliance.cfg | 7 +++++++ .kokoro/continuous/prerelease.cfg | 7 +++++++ .kokoro/presubmit/compliance.cfg | 7 +++++++ .kokoro/presubmit/prerelease.cfg | 7 +++++++ noxfile.py | 7 ++++--- owlbot.py | 23 ++++------------------- 6 files changed, 36 insertions(+), 22 deletions(-) create mode 100644 .kokoro/continuous/compliance.cfg create mode 100644 .kokoro/continuous/prerelease.cfg create mode 100644 .kokoro/presubmit/compliance.cfg create mode 100644 .kokoro/presubmit/prerelease.cfg diff --git a/.kokoro/continuous/compliance.cfg b/.kokoro/continuous/compliance.cfg new file mode 100644 index 00000000..03f702f9 --- /dev/null +++ b/.kokoro/continuous/compliance.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Only run this nox session. +env_vars: { + key: "NOX_SESSION" + value: "compliance" +} diff --git a/.kokoro/continuous/prerelease.cfg b/.kokoro/continuous/prerelease.cfg new file mode 100644 index 00000000..00bc8678 --- /dev/null +++ b/.kokoro/continuous/prerelease.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Only run this nox session. +env_vars: { + key: "NOX_SESSION" + value: "prerelease" +} diff --git a/.kokoro/presubmit/compliance.cfg b/.kokoro/presubmit/compliance.cfg new file mode 100644 index 00000000..03f702f9 --- /dev/null +++ b/.kokoro/presubmit/compliance.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Only run this nox session. +env_vars: { + key: "NOX_SESSION" + value: "compliance" +} diff --git a/.kokoro/presubmit/prerelease.cfg b/.kokoro/presubmit/prerelease.cfg new file mode 100644 index 00000000..00bc8678 --- /dev/null +++ b/.kokoro/presubmit/prerelease.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Only run this nox session. +env_vars: { + key: "NOX_SESSION" + value: "prerelease" +} diff --git a/noxfile.py b/noxfile.py index b609659e..fca9af7b 100644 --- a/noxfile.py +++ b/noxfile.py @@ -42,7 +42,6 @@ "unit", "cover", "system", - "compliance", "lint_setup_py", "blacken", "docs", @@ -186,17 +185,20 @@ def system(session): @nox.session(python=DEFAULT_PYTHON_VERSION) def prerelease(session): - # TODO: Geoalchemy, Shapely, Alembic from extras session.install( "--prefer-binary", "--pre", "--upgrade", + "alembic", + "geoalchemy2", "google-api-core", "google-cloud-bigquery", "google-cloud-bigquery-storage", "google-cloud-core", "google-resumable-media", "grpcio", + "sqlalchemy", + "shapely", ) session.install( "freezegun", @@ -248,7 +250,6 @@ def prerelease(session): f"--junitxml=prerelease_system_{session.python}_sponge_log.xml", os.path.join("tests", "system"), ) - # TODO: should we add compliance test suite, too? It takes quite a lot longer than our other tests, though. @nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS) diff --git a/owlbot.py b/owlbot.py index d02e1627..6e0c4230 100644 --- a/owlbot.py +++ b/owlbot.py @@ -93,37 +93,23 @@ def place_before(path, text, *before_text, escape=None): "nox.options.stop_on_first_error = True", ) -old_sessions = ''' - "unit", - "system", - "cover", - "lint", -''' - -new_sessions = ''' - "lint", - "unit", - "cover", - "system", - "compliance", -''' - -s.replace( ["noxfile.py"], old_sessions, new_sessions) - prerelease = ''' @nox.session(python=DEFAULT_PYTHON_VERSION) def prerelease(session): - # TODO: Geoalchemy, Shapely, Alembic from extras session.install( "--prefer-binary", "--pre", "--upgrade", + "alembic", + "geoalchemy2", "google-api-core", "google-cloud-bigquery", "google-cloud-bigquery-storage", "google-cloud-core", "google-resumable-media", "grpcio", + "sqlalchemy", + "shapely", ) session.install( "freezegun", @@ -175,7 +161,6 @@ def prerelease(session): f"--junitxml=prerelease_system_{session.python}_sponge_log.xml", os.path.join("tests", "system"), ) - # TODO: should we add compliance test suite, too? It takes quite a lot longer than our other tests, though. ''' From dea0707f095766b9ba96375d54b065037cd559fc Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Wed, 19 Jan 2022 14:14:33 -0600 Subject: [PATCH 06/12] remove newline escape --- owlbot.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/owlbot.py b/owlbot.py index 6e0c4230..108fdee7 100644 --- a/owlbot.py +++ b/owlbot.py @@ -66,7 +66,8 @@ s.replace( ["noxfile.py"], r"import shutil", - "import re\nimport shutil", + """import re +import shutil""", ) s.replace( From 12900cb81aa4293d3dac43e443ae10f111d5bc31 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Wed, 19 Jan 2022 14:40:34 -0600 Subject: [PATCH 07/12] escape regex --- owlbot.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/owlbot.py b/owlbot.py index 108fdee7..e2aef7c8 100644 --- a/owlbot.py +++ b/owlbot.py @@ -15,7 +15,6 @@ """This script is used to synthesize generated parts of this library.""" import pathlib -from noxfile import prerelease import synthtool as s from synthtool import gcp @@ -66,8 +65,7 @@ s.replace( ["noxfile.py"], r"import shutil", - """import re -import shutil""", + "import re\nimport shutil", ) s.replace( @@ -94,7 +92,7 @@ def place_before(path, text, *before_text, escape=None): "nox.options.stop_on_first_error = True", ) -prerelease = ''' +prerelease = r''' @nox.session(python=DEFAULT_PYTHON_VERSION) def prerelease(session): session.install( @@ -137,7 +135,7 @@ def prerelease(session): deps = [ match.group(1) for match in re.finditer( - r"^\s*(\S+)(?===\S+)", constraints_text, flags=re.MULTILINE + r"^\\s*(\\S+)(?===\\S+)", constraints_text, flags=re.MULTILINE ) ] From 1605357ac5fe3d2c7fbe061125c93ed3b18a6eb9 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 19 Jan 2022 20:42:32 +0000 Subject: [PATCH 08/12] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- noxfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/noxfile.py b/noxfile.py index fca9af7b..82b35ac2 100644 --- a/noxfile.py +++ b/noxfile.py @@ -38,10 +38,10 @@ # 'docfx' is excluded since it only needs to run in 'docs-presubmit' nox.options.sessions = [ - "lint", "unit", - "cover", "system", + "cover", + "lint", "lint_setup_py", "blacken", "docs", From 31bb1045cfdaffecf2ce5e98d1824795c1f09080 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Wed, 19 Jan 2022 17:07:03 -0600 Subject: [PATCH 09/12] remove unused [all] --- noxfile.py | 2 +- owlbot.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/noxfile.py b/noxfile.py index fca9af7b..cf1d3409 100644 --- a/noxfile.py +++ b/noxfile.py @@ -232,7 +232,7 @@ def prerelease(session): # We use --no-deps to ensure that pre-release versions aren't overwritten # by the version ranges in setup.py. session.install(*deps) - session.install("--no-deps", "-e", ".[all]") + session.install("--no-deps", "-e", ".") # Print out prerelease package versions. session.run("python", "-m", "pip", "freeze") diff --git a/owlbot.py b/owlbot.py index e2aef7c8..e8ae1dbf 100644 --- a/owlbot.py +++ b/owlbot.py @@ -142,7 +142,7 @@ def prerelease(session): # We use --no-deps to ensure that pre-release versions aren't overwritten # by the version ranges in setup.py. session.install(*deps) - session.install("--no-deps", "-e", ".[all]") + session.install("--no-deps", "-e", ".") # Print out prerelease package versions. session.run("python", "-m", "pip", "freeze") From 6ee316f5fe12a5a9d96a64d7642fd52efab8e64c Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Mon, 14 Feb 2022 15:22:15 -0600 Subject: [PATCH 10/12] disallow latest pytest due to incompatibilities --- noxfile.py | 6 +++--- owlbot.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/noxfile.py b/noxfile.py index 5f630bf4..888f1ac1 100644 --- a/noxfile.py +++ b/noxfile.py @@ -262,8 +262,6 @@ def compliance(session): if os.environ.get("RUN_COMPLIANCE_TESTS", "true") == "false": session.skip("RUN_COMPLIANCE_TESTS is set to false, skipping") - if not os.environ.get("GOOGLE_APPLICATION_CREDENTIALS", ""): - session.skip("Credentials must be set via environment variable") if os.environ.get("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true": session.install("pyopenssl") if not os.path.exists(system_test_folder_path): @@ -273,7 +271,9 @@ def compliance(session): session.install( "mock", - "pytest", + # TODO: Allow latest version of pytest once SQLAlchemy 1.4.28+ is supported. + # See: https://github.com/googleapis/python-bigquery-sqlalchemy/issues/413 + "pytest<=7.0.0dev", "pytest-rerunfailures", "google-cloud-testutils", "-c", diff --git a/owlbot.py b/owlbot.py index ca7e88cb..402b7b17 100644 --- a/owlbot.py +++ b/owlbot.py @@ -181,8 +181,6 @@ def compliance(session): if os.environ.get("RUN_COMPLIANCE_TESTS", "true") == "false": session.skip("RUN_COMPLIANCE_TESTS is set to false, skipping") - if not os.environ.get("GOOGLE_APPLICATION_CREDENTIALS", ""): - session.skip("Credentials must be set via environment variable") if os.environ.get("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true": session.install("pyopenssl") if not os.path.exists(system_test_folder_path): @@ -192,7 +190,9 @@ def compliance(session): session.install( "mock", - "pytest", + # TODO: Allow latest version of pytest once SQLAlchemy 1.4.28+ is supported. + # See: https://github.com/googleapis/python-bigquery-sqlalchemy/issues/413 + "pytest<=7.0.0dev", "pytest-rerunfailures", "google-cloud-testutils", "-c", From 4d22f16a030b97d48d7b068e19672c26c299acec Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Mon, 14 Feb 2022 15:23:25 -0600 Subject: [PATCH 11/12] only use single python for compliance testing --- noxfile.py | 2 +- owlbot.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/noxfile.py b/noxfile.py index 888f1ac1..440e715a 100644 --- a/noxfile.py +++ b/noxfile.py @@ -252,7 +252,7 @@ def prerelease(session): ) -@nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS) +@nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS[-1]) def compliance(session): """Run the SQLAlchemy dialect-compliance system tests""" constraints_path = str( diff --git a/owlbot.py b/owlbot.py index 402b7b17..7aa21ea3 100644 --- a/owlbot.py +++ b/owlbot.py @@ -171,7 +171,7 @@ def prerelease(session): # which we won't need when BQ retries itself: # https://github.com/googleapis/python-bigquery/pull/837 compliance = ''' -@nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS) +@nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS[-1]) def compliance(session): """Run the SQLAlchemy dialect-compliance system tests""" constraints_path = str( From 74630c0f1ad3d6926c725f2718ccdb59493913d3 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Thu, 17 Feb 2022 11:05:18 -0600 Subject: [PATCH 12/12] comment about transitive deps Also, remove google-resumable-media from prerelease tests, as this package does not use load jobs. --- noxfile.py | 7 ++++--- owlbot.py | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/noxfile.py b/noxfile.py index 440e715a..b50a212c 100644 --- a/noxfile.py +++ b/noxfile.py @@ -194,11 +194,12 @@ def prerelease(session): "google-api-core", "google-cloud-bigquery", "google-cloud-bigquery-storage", - "google-cloud-core", - "google-resumable-media", - "grpcio", "sqlalchemy", "shapely", + # These are transitive dependencies, but we'd still like to know if a + # change in a prerelease there breaks this connector. + "google-cloud-core", + "grpcio", ) session.install( "freezegun", diff --git a/owlbot.py b/owlbot.py index 7aa21ea3..cd3a7226 100644 --- a/owlbot.py +++ b/owlbot.py @@ -107,11 +107,12 @@ def prerelease(session): "google-api-core", "google-cloud-bigquery", "google-cloud-bigquery-storage", - "google-cloud-core", - "google-resumable-media", - "grpcio", "sqlalchemy", "shapely", + # These are transitive dependencies, but we'd still like to know if a + # change in a prerelease there breaks this connector. + "google-cloud-core", + "grpcio", ) session.install( "freezegun",