diff --git a/.kokoro/continuous/system.cfg b/.kokoro/continuous/system.cfg index 789455bd6973..9bd0393979d8 100644 --- a/.kokoro/continuous/system.cfg +++ b/.kokoro/continuous/system.cfg @@ -5,3 +5,9 @@ env_vars: { key: "NOX_SESSION" value: "system-3.12" } + + +env_vars: { + key: "PACKAGE_TEST_TIMEOUT" + value: "120m" +} diff --git a/.kokoro/presubmit/sqlalchemy_compliance.cfg b/.kokoro/presubmit/sqlalchemy_compliance.cfg index 891deec4aa4e..7d6990364c3c 100644 --- a/.kokoro/presubmit/sqlalchemy_compliance.cfg +++ b/.kokoro/presubmit/sqlalchemy_compliance.cfg @@ -5,3 +5,8 @@ env_vars: { key: "NOX_SESSION" value: "compliance" } + +env_vars: { + key: "PACKAGE_TEST_TIMEOUT" + value: "180m" +} diff --git a/.kokoro/system.sh b/.kokoro/system.sh index bdb56214026a..db22352f0469 100755 --- a/.kokoro/system.sh +++ b/.kokoro/system.sh @@ -92,7 +92,7 @@ run_package_test() { PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json") GOOGLE_APPLICATION_CREDENTIALS="${KOKORO_GFILE_DIR}/service-account.json" NOX_FILE="noxfile.py" - NOX_SESSION="system" + NOX_SESSION="${NOX_SESSION:-system}" ;; *) PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json") @@ -127,7 +127,11 @@ run_package_test() { reap_parallel_results() { local retval=0 local failed_count=0 + local timed_out_count=0 local succeeded_count=0 + local failed + local timed_out + local pkg if [ -z "$LOG_DIR" ]; then echo "Error: LOG_DIR is not set." @@ -141,6 +145,13 @@ reap_parallel_results() { fi done + # Count timed out packages by checking for .timed_out marker files + for timed_out in "$LOG_DIR"/*.timed_out; do + if [ -f "$timed_out" ]; then + timed_out_count=$((timed_out_count + 1)) + fi + done + local total_tested=${#PACKAGES_TO_TEST[@]} succeeded_count=$((total_tested - failed_count)) @@ -151,6 +162,9 @@ reap_parallel_results() { echo "Total Packages: $total_tested" echo "Succeeded: $succeeded_count" echo "Failed: $failed_count" + if [ "$timed_out_count" -gt 0 ]; then + echo "Timed Out: $timed_out_count" + fi echo "==================================================" local succeeded_packages=() @@ -167,14 +181,23 @@ reap_parallel_results() { # List failed packages for failed in "$LOG_DIR"/*.failed; do if [ -f "$failed" ]; then - basename "$failed" .failed + pkg=$(basename "$failed" .failed) + if [ -f "$LOG_DIR/$pkg.timed_out" ]; then + echo "$pkg (TIMED OUT after ${PACKAGE_TEST_TIMEOUT})" + else + echo "$pkg" + fi fi done for failed in "$LOG_DIR"/*.failed; do if [ -f "$failed" ]; then - local pkg=$(basename "$failed" .failed) + pkg=$(basename "$failed" .failed) echo "--------------------------------------------------" - echo "@PACKAGE (FAILED): $pkg" + if [ -f "$LOG_DIR/$pkg.timed_out" ]; then + echo "@PACKAGE (TIMED OUT after ${PACKAGE_TEST_TIMEOUT}): $pkg" + else + echo "@PACKAGE (FAILED): $pkg" + fi echo "--------------------------------------------------" if [ -n "$KOKORO_ARTIFACTS_DIR" ] && [ -f "$KOKORO_ARTIFACTS_DIR/$pkg/sponge_log.log" ]; then cat "$KOKORO_ARTIFACTS_DIR/$pkg/sponge_log.log" @@ -292,6 +315,7 @@ done # Parallel Execution Logic MAX_JOBS=${MAX_JOBS:-4} +PACKAGE_TEST_TIMEOUT="${PACKAGE_TEST_TIMEOUT:-60m}" # Temporary directory for clean log segregation LOG_DIR=$(mktemp -d -t test-logs-XXXXXX) @@ -306,9 +330,10 @@ fi echo "==================================================" echo "Starting parallel test execution for ${#PACKAGES_TO_TEST[@]} packages" echo "Concurrency limit: ${MAX_JOBS}" +echo "Per-package timeout: ${PACKAGE_TEST_TIMEOUT}" echo "==================================================" -export LOG_DIR +export LOG_DIR PACKAGE_TEST_TIMEOUT export -f run_package_test export system_test_script PROJECT_ROOT KOKORO_GFILE_DIR @@ -328,8 +353,22 @@ printf '%s\n' "${PACKAGES_TO_TEST[@]}" \ log_file="$LOG_DIR/$pkg.log" fi - # Run test; if it fails, create a .failed file to signal failure to the reaper - run_package_test "$pkg" > "$log_file" 2>&1 || touch "$LOG_DIR/$pkg.failed" + # Run test with timeout guard; if it fails or times out, mark as failed + set +e + timeout --kill-after=1m "${PACKAGE_TEST_TIMEOUT}" bash -c '\''run_package_test "$0"'\'' "$pkg" > "$log_file" 2>&1 + status=$? + set -e + + if [ $status -eq 124 ] || [ $status -eq 137 ]; then + echo "" >> "$log_file" + echo "==================================================" >> "$log_file" + echo "ERROR: Package test timed out after ${PACKAGE_TEST_TIMEOUT}!" >> "$log_file" + echo "==================================================" >> "$log_file" + touch "$LOG_DIR/$pkg.timed_out" + touch "$LOG_DIR/$pkg.failed" + elif [ $status -ne 0 ]; then + touch "$LOG_DIR/$pkg.failed" + fi ' reap_parallel_results || RETVAL=1 diff --git a/packages/bigquery-magics/CHANGELOG.md b/packages/bigquery-magics/CHANGELOG.md index a1c4b1a94d0d..33e8c23fff10 100644 --- a/packages/bigquery-magics/CHANGELOG.md +++ b/packages/bigquery-magics/CHANGELOG.md @@ -192,3 +192,5 @@ * Clean up docs and let the nox pass ([#24](https://github.com/googleapis/python-bigquery-magics/issues/24)) ([275712f](https://github.com/googleapis/python-bigquery-magics/commit/275712f4e4b647cda2d253e1f6b7a2fa093ee7c1)) * Reset the changelog for the new package ([#22](https://github.com/googleapis/python-bigquery-magics/issues/22)) ([f7d9c14](https://github.com/googleapis/python-bigquery-magics/commit/f7d9c1445feac32e468a3e06ca55c9474a1ae548)) + + diff --git a/packages/django-google-spanner/CHANGELOG.md b/packages/django-google-spanner/CHANGELOG.md index 58f8bb3a952f..e3a8aecaf5ad 100644 --- a/packages/django-google-spanner/CHANGELOG.md +++ b/packages/django-google-spanner/CHANGELOG.md @@ -354,3 +354,5 @@ * minor fixes to README.md ([#448](https://www.github.com/googleapis/python-spanner-django/issues/448)) ([f969000](https://www.github.com/googleapis/python-spanner-django/commit/f9690007603c94f4c99b244a92c639adfd360a8f)) * move test suite information to CONTRIBUTING.md ([#442](https://www.github.com/googleapis/python-spanner-django/issues/442)) ([05280ae](https://www.github.com/googleapis/python-spanner-django/commit/05280aecdcbe933e113616b5705f4e76303d9637)) + + diff --git a/packages/gapic-generator/CHANGELOG.md b/packages/gapic-generator/CHANGELOG.md index 55b4d185c3f5..0a2c56b20920 100644 --- a/packages/gapic-generator/CHANGELOG.md +++ b/packages/gapic-generator/CHANGELOG.md @@ -2170,3 +2170,5 @@ ### Bug Fixes * update GOOGLE_API_USE_MTLS value ([#453](https://www.github.com/googleapis/gapic-generator-python/issues/453)) ([7449ad5](https://www.github.com/googleapis/gapic-generator-python/commit/7449ad5aad4a1fbbf9ca3796e097512fc80991e3)) + + diff --git a/packages/google-auth/CHANGELOG.md b/packages/google-auth/CHANGELOG.md index 4118e4c54a90..7586659735f1 100644 --- a/packages/google-auth/CHANGELOG.md +++ b/packages/google-auth/CHANGELOG.md @@ -2019,3 +2019,5 @@ Initial release with foundational functionality for cryptography and JWTs. - ``google.auth.crypt`` for creating and verifying cryptographic signatures. - ``google.auth.jwt`` for creating (encoding) and verifying (decoding) JSON Web tokens. + + diff --git a/packages/google-cloud-access-approval/CHANGELOG.md b/packages/google-cloud-access-approval/CHANGELOG.md index 4704d6ced1e3..00696e87726c 100644 --- a/packages/google-cloud-access-approval/CHANGELOG.md +++ b/packages/google-cloud-access-approval/CHANGELOG.md @@ -474,3 +474,5 @@ ### Features * generate v1 ([88003fe](https://www.github.com/googleapis/python-access-approval/commit/88003fe05150ee653ba9a8ba072058b35d3f3c49)) + + diff --git a/packages/google-cloud-automl/CHANGELOG.md b/packages/google-cloud-automl/CHANGELOG.md index ad7179d6812f..4945ce0c196d 100644 --- a/packages/google-cloud-automl/CHANGELOG.md +++ b/packages/google-cloud-automl/CHANGELOG.md @@ -727,3 +727,5 @@ ### New Features - Initial Release of AutoML v1beta1 + + diff --git a/packages/google-cloud-bigquery-connection/CHANGELOG.md b/packages/google-cloud-bigquery-connection/CHANGELOG.md index a46b3b7e658a..65e1190a2b5d 100644 --- a/packages/google-cloud-bigquery-connection/CHANGELOG.md +++ b/packages/google-cloud-bigquery-connection/CHANGELOG.md @@ -513,3 +513,5 @@ ### Features * generate v1 ([73b89dc](https://www.github.com/googleapis/python-bigquery-connection/commit/73b89dcb423026c4b4e537ff728d22be2cb5ff3f)) + + diff --git a/packages/google-cloud-bigquery-datatransfer/CHANGELOG.md b/packages/google-cloud-bigquery-datatransfer/CHANGELOG.md index fd488f561909..b7b161ee4c14 100644 --- a/packages/google-cloud-bigquery-datatransfer/CHANGELOG.md +++ b/packages/google-cloud-bigquery-datatransfer/CHANGELOG.md @@ -716,3 +716,5 @@ sources like Adwords, DoubleClick Campaign Manager, DoubleClick for Publishers and YouTube. PyPI: https://pypi.org/project/google-cloud-bigquery-datatransfer/0.1.0/ + + diff --git a/packages/google-cloud-bigquery-reservation/CHANGELOG.md b/packages/google-cloud-bigquery-reservation/CHANGELOG.md index 46547d0b38e9..4e9b90fb9a55 100644 --- a/packages/google-cloud-bigquery-reservation/CHANGELOG.md +++ b/packages/google-cloud-bigquery-reservation/CHANGELOG.md @@ -540,3 +540,5 @@ ### Features * generate v1 ([6293404](https://www.github.com/googleapis/python-bigquery-reservation/commit/6293404e47ca2efdcb5f702e248f43250060eb8c)) + + diff --git a/packages/google-cloud-bigquery-storage/CHANGELOG.md b/packages/google-cloud-bigquery-storage/CHANGELOG.md index f3380474b6dc..f744e3343fec 100644 --- a/packages/google-cloud-bigquery-storage/CHANGELOG.md +++ b/packages/google-cloud-bigquery-storage/CHANGELOG.md @@ -915,3 +915,5 @@ 11-29-2018 13:45 PST - Initial release of BigQuery Storage API client. + + diff --git a/packages/google-cloud-bigquery/CHANGELOG.md b/packages/google-cloud-bigquery/CHANGELOG.md index 71079e69c0f1..0891ac410089 100644 --- a/packages/google-cloud-bigquery/CHANGELOG.md +++ b/packages/google-cloud-bigquery/CHANGELOG.md @@ -2846,3 +2846,5 @@ PyPI: https://pypi.org/project/google-cloud-bigquery/0.27.0/ (#3598) PyPI: https://pypi.org/project/google-cloud-bigquery/0.26.0/ + + diff --git a/packages/google-cloud-bigtable/CHANGELOG.md b/packages/google-cloud-bigtable/CHANGELOG.md index 7648b98276d1..19eed9b28f2b 100644 --- a/packages/google-cloud-bigtable/CHANGELOG.md +++ b/packages/google-cloud-bigtable/CHANGELOG.md @@ -1292,3 +1292,5 @@ PyPI: https://pypi.org/project/google-cloud-bigtable/0.28.1/ on `google-api-core` (#4221, #4280) PyPI: https://pypi.org/project/google-cloud-bigtable/0.28.0/ + + diff --git a/packages/google-cloud-compute/CHANGELOG.md b/packages/google-cloud-compute/CHANGELOG.md index 4f1ad43258a9..33780db6b7d8 100644 --- a/packages/google-cloud-compute/CHANGELOG.md +++ b/packages/google-cloud-compute/CHANGELOG.md @@ -824,3 +824,5 @@ ### Features * generate v1 ([53f9a3d](https://www.github.com/googleapis/python-compute/commit/53f9a3d6f14ef45b5bc3e38a48e3fa17059591eb)) + + diff --git a/packages/google-cloud-container/CHANGELOG.md b/packages/google-cloud-container/CHANGELOG.md index bc02874dbd53..c58debe1d1e3 100644 --- a/packages/google-cloud-container/CHANGELOG.md +++ b/packages/google-cloud-container/CHANGELOG.md @@ -1410,3 +1410,5 @@ resource efficiency, automated operations, and open source flexibility to accelerate your time to market. PyPI: https://pypi.org/project/google-cloud-container/0.1.0/ + + diff --git a/packages/google-cloud-dataproc/CHANGELOG.md b/packages/google-cloud-dataproc/CHANGELOG.md index 8a7d965aa1c3..2569c46e11a9 100644 --- a/packages/google-cloud-dataproc/CHANGELOG.md +++ b/packages/google-cloud-dataproc/CHANGELOG.md @@ -839,3 +839,5 @@ - Re-enable lint for tests, remove usage of pylint (#4921) - Normalize all setup.py files (#4909) + + diff --git a/packages/google-cloud-datastore/CHANGELOG.md b/packages/google-cloud-datastore/CHANGELOG.md index 963a43d5ba66..85f660176c60 100644 --- a/packages/google-cloud-datastore/CHANGELOG.md +++ b/packages/google-cloud-datastore/CHANGELOG.md @@ -835,3 +835,5 @@ on `google-api-core` (#4221, #4280) PyPI: https://pypi.org/project/google-cloud-datastore/1.4.0/ + + diff --git a/packages/google-cloud-dlp/CHANGELOG.md b/packages/google-cloud-dlp/CHANGELOG.md index 17fccf7d9bf1..ca862116455a 100644 --- a/packages/google-cloud-dlp/CHANGELOG.md +++ b/packages/google-cloud-dlp/CHANGELOG.md @@ -933,3 +933,5 @@ ## 0.1.0 Initial release of the DLP (Data Loss Prevention) client library. (#4879) + + diff --git a/packages/google-cloud-dns/CHANGELOG.md b/packages/google-cloud-dns/CHANGELOG.md index 4a7bd0e82866..27816a4fe998 100644 --- a/packages/google-cloud-dns/CHANGELOG.md +++ b/packages/google-cloud-dns/CHANGELOG.md @@ -255,3 +255,5 @@ on `google-api-core` (#4221, #4280) PyPI: https://pypi.org/project/google-cloud-dns/0.28.0/ + + diff --git a/packages/google-cloud-error-reporting/CHANGELOG.md b/packages/google-cloud-error-reporting/CHANGELOG.md index 9dfe01a5945f..6f97075f355f 100644 --- a/packages/google-cloud-error-reporting/CHANGELOG.md +++ b/packages/google-cloud-error-reporting/CHANGELOG.md @@ -553,3 +553,5 @@ - Upgrading to `google-cloud-logging >= 1.4.0` (#4296) PyPI: https://pypi.org/project/google-cloud-error-reporting/0.28.0/ + + diff --git a/packages/google-cloud-firestore/CHANGELOG.md b/packages/google-cloud-firestore/CHANGELOG.md index 3315b1df7198..21605aeab618 100644 --- a/packages/google-cloud-firestore/CHANGELOG.md +++ b/packages/google-cloud-firestore/CHANGELOG.md @@ -1295,3 +1295,5 @@ on `google-api-core` (#4221, #4280) PyPI: https://pypi.org/project/google-cloud-firestore/0.28.0/ + + diff --git a/packages/google-cloud-kms/CHANGELOG.md b/packages/google-cloud-kms/CHANGELOG.md index 07162f7ef98f..57e71036c108 100644 --- a/packages/google-cloud-kms/CHANGELOG.md +++ b/packages/google-cloud-kms/CHANGELOG.md @@ -846,3 +846,5 @@ ### New Features - KMS v1 + + diff --git a/packages/google-cloud-logging/CHANGELOG.md b/packages/google-cloud-logging/CHANGELOG.md index e23a263b7e37..1d298ab25986 100644 --- a/packages/google-cloud-logging/CHANGELOG.md +++ b/packages/google-cloud-logging/CHANGELOG.md @@ -931,3 +931,5 @@ `googleapis-common-protos` dependencies (#4096, #4098) PyPI: https://pypi.org/project/google-cloud-logging/1.4.0/ + + diff --git a/packages/google-cloud-monitoring/CHANGELOG.md b/packages/google-cloud-monitoring/CHANGELOG.md index 345977b252ec..c32533360083 100644 --- a/packages/google-cloud-monitoring/CHANGELOG.md +++ b/packages/google-cloud-monitoring/CHANGELOG.md @@ -863,3 +863,5 @@ on `google-api-core` (#4221, #4280) PyPI: https://pypi.org/project/google-cloud-monitoring/0.28.0/ + + diff --git a/packages/google-cloud-ndb/CHANGELOG.md b/packages/google-cloud-ndb/CHANGELOG.md index 3290819abc9f..697227bc6149 100644 --- a/packages/google-cloud-ndb/CHANGELOG.md +++ b/packages/google-cloud-ndb/CHANGELOG.md @@ -743,3 +743,5 @@ ## 0.0.1dev1 Initial development release of NDB client library. + + diff --git a/packages/google-cloud-os-config/CHANGELOG.md b/packages/google-cloud-os-config/CHANGELOG.md index 624a08431ab6..c410893dbddd 100644 --- a/packages/google-cloud-os-config/CHANGELOG.md +++ b/packages/google-cloud-os-config/CHANGELOG.md @@ -522,3 +522,5 @@ ### Features * generate v1 ([5d1f582](https://www.github.com/googleapis/python-os-config/commit/5d1f582b5b02d128ef44120d285941805d234ec7)) + + diff --git a/packages/google-cloud-pubsub/CHANGELOG.md b/packages/google-cloud-pubsub/CHANGELOG.md index eea942170045..e0c4ccf3ce5a 100644 --- a/packages/google-cloud-pubsub/CHANGELOG.md +++ b/packages/google-cloud-pubsub/CHANGELOG.md @@ -1761,3 +1761,5 @@ PyPI: https://pypi.org/project/google-cloud-pubsub/0.29.1/ `googleapis-common-protos` dependencies (#4096, #4098) PyPI: https://pypi.org/project/google-cloud-pubsub/0.29.0/ + + diff --git a/packages/google-cloud-scheduler/CHANGELOG.md b/packages/google-cloud-scheduler/CHANGELOG.md index 8223a97528d2..97c2c06ffefc 100644 --- a/packages/google-cloud-scheduler/CHANGELOG.md +++ b/packages/google-cloud-scheduler/CHANGELOG.md @@ -566,3 +566,5 @@ ### New Features - Initial release of Cloud Scheduler library. ([#6482](https://github.com/googleapis/google-cloud-python/pull/6482)) + + diff --git a/packages/google-cloud-spanner/CHANGELOG.md b/packages/google-cloud-spanner/CHANGELOG.md index 415442924e7a..2e33107c99bb 100644 --- a/packages/google-cloud-spanner/CHANGELOG.md +++ b/packages/google-cloud-spanner/CHANGELOG.md @@ -1730,3 +1730,5 @@ Return sessions from pool in LIFO order. ([#9454](https://github.com/googleapis/ `googleapis-common-protos` dependencies (#4096, #4098) PyPI: https://pypi.org/project/google-cloud-spanner/0.29.0/ + + diff --git a/packages/google-cloud-speech/CHANGELOG.md b/packages/google-cloud-speech/CHANGELOG.md index 1ee87d9c633d..f925c617151d 100644 --- a/packages/google-cloud-speech/CHANGELOG.md +++ b/packages/google-cloud-speech/CHANGELOG.md @@ -942,3 +942,5 @@ This is the (hopefully) final release candidate before 1.0. `googleapis-common-protos`dependencies (#4096, #4098) PyPI: https://pypi.org/project/google-cloud-speech/0.30.0/ + + diff --git a/packages/google-cloud-storage/CHANGELOG.md b/packages/google-cloud-storage/CHANGELOG.md index 9ba01537ec2a..3e582458b7c2 100644 --- a/packages/google-cloud-storage/CHANGELOG.md +++ b/packages/google-cloud-storage/CHANGELOG.md @@ -1546,3 +1546,5 @@ Please consult the README for details on this major version release. - Requiring `google-resumable-media >= 0.3.1` (#4244) PyPI: https://pypi.org/project/google-cloud-storage/1.6.0/ + + diff --git a/packages/google-cloud-tasks/CHANGELOG.md b/packages/google-cloud-tasks/CHANGELOG.md index b70e5b901dd1..1f3595af3523 100644 --- a/packages/google-cloud-tasks/CHANGELOG.md +++ b/packages/google-cloud-tasks/CHANGELOG.md @@ -748,3 +748,5 @@ ### New Features - Add v2beta2 endpoint for Tasks + + diff --git a/packages/google-cloud-testutils/CHANGELOG.md b/packages/google-cloud-testutils/CHANGELOG.md index 78960fd5a8b7..8562869ff229 100644 --- a/packages/google-cloud-testutils/CHANGELOG.md +++ b/packages/google-cloud-testutils/CHANGELOG.md @@ -186,3 +186,5 @@ ### Features * add lower bound checker ([#8](https://www.github.com/googleapis/python-test-utils/issues/8)) ([5ebac9f](https://www.github.com/googleapis/python-test-utils/commit/5ebac9fb0ad005f8ea947c14dfca6de3c0d2cac9)) + + diff --git a/packages/google-cloud-texttospeech/CHANGELOG.md b/packages/google-cloud-texttospeech/CHANGELOG.md index 3b34cf9c17db..990ace07099b 100644 --- a/packages/google-cloud-texttospeech/CHANGELOG.md +++ b/packages/google-cloud-texttospeech/CHANGELOG.md @@ -761,3 +761,5 @@ ### Interface additions - Added text-to-speech v1beta1. (#5049) + + diff --git a/packages/google-cloud-translate/CHANGELOG.md b/packages/google-cloud-translate/CHANGELOG.md index c92e43e17716..98b8cec9b510 100644 --- a/packages/google-cloud-translate/CHANGELOG.md +++ b/packages/google-cloud-translate/CHANGELOG.md @@ -767,3 +767,5 @@ on `google-api-core` (#4221, #4280) PyPI: https://pypi.org/project/google-cloud-translate/1.3.0/ + + diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index f1e47ad9de8a..6c6aa8f3b30f 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -724,3 +724,5 @@ change as the `v1` and `v1beta2` endpoints are identical. If you pinned to to `4 - Beta` (eb43849569556c6e47f11b8310864c5a280507f2) PyPI: https://pypi.org/project/google-cloud-videointelligence/0.28.0/ + + diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index ea620d6d817f..411bda76ae3f 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -838,3 +838,5 @@ PyPI: https://pypi.org/project/google-cloud-vision/0.29.0/ `googleapis-common-protos`dependencies (#4096, #4098) PyPI: https://pypi.org/project/google-cloud-vision/0.28.0/ + + diff --git a/packages/google-resumable-media/CHANGELOG.md b/packages/google-resumable-media/CHANGELOG.md index 67ab019a0c13..b67c795b7a2d 100644 --- a/packages/google-resumable-media/CHANGELOG.md +++ b/packages/google-resumable-media/CHANGELOG.md @@ -582,3 +582,5 @@ might break the hypothetical usecase of downloading a blob marked with 2017-04-21 - Initial public release. + + diff --git a/packages/pandas-gbq/CHANGELOG.md b/packages/pandas-gbq/CHANGELOG.md index 975ea929b2e9..cf5cfe11c929 100644 --- a/packages/pandas-gbq/CHANGELOG.md +++ b/packages/pandas-gbq/CHANGELOG.md @@ -923,3 +923,5 @@ Includes patches since the 0.19.2 release on pandas with the following: [pandas-GH#14064](https://github.com/pandas-dev/pandas/pull/14064), and [pandas-GH#14305](https://github.com/pandas-dev/pandas/pull/14305) + + diff --git a/packages/sqlalchemy-bigquery/CHANGELOG.md b/packages/sqlalchemy-bigquery/CHANGELOG.md index 0a954f3a213e..4da0c5089c71 100644 --- a/packages/sqlalchemy-bigquery/CHANGELOG.md +++ b/packages/sqlalchemy-bigquery/CHANGELOG.md @@ -466,3 +466,5 @@ Older versions of this project were distributed as [pybigquery][0]. - Prefer explicitly provided dataset over default dataset in lookup. ([#53](https://github.com/mxmzdlv/pybigquery/pull/53)) - Use the provided `project_id` when using a service account. ([#52](https://github.com/mxmzdlv/pybigquery/pull/52)) + + diff --git a/packages/sqlalchemy-spanner/CHANGELOG.md b/packages/sqlalchemy-spanner/CHANGELOG.md index 4ec5d3e191d5..b346c3c883fd 100644 --- a/packages/sqlalchemy-spanner/CHANGELOG.md +++ b/packages/sqlalchemy-spanner/CHANGELOG.md @@ -376,3 +376,5 @@ ### Miscellaneous Chores * setup release 1.0.0 ([#165](https://www.github.com/googleapis/python-spanner-sqlalchemy/issues/165)) ([37a415d](https://www.github.com/googleapis/python-spanner-sqlalchemy/commit/37a415d071d39e99f233a1c15c1c4b89bd436570)) + +