Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
eefafc4
ci: increase kokoro timeout to 360 mins for system tests
daniel-sanche Aug 24, 2026
c19b0cb
added package timeouts
daniel-sanche Aug 24, 2026
85a4461
touch changelogs to trigger tests
daniel-sanche Aug 24, 2026
b1c3b82
add core_deps back as pre_submit
daniel-sanche Aug 26, 2026
9db1ca5
Merge branch 'main' into improve_stuck_system_tests
daniel-sanche Aug 26, 2026
f785f59
Increase PACKAGE_TEST_TIMEOUT to 60 minutes
daniel-sanche Aug 26, 2026
f24baf2
renamed core_deps test
daniel-sanche Aug 26, 2026
30ae195
set timeout to 35
daniel-sanche Aug 26, 2026
13fd7a2
ignore case in assertion
daniel-sanche Aug 26, 2026
c82cad1
core_deps triggers upstream pacakages for dep changes
daniel-sanche Aug 26, 2026
272c8f5
assert updated header
daniel-sanche Aug 26, 2026
fdcbd49
revive core_deps GA test
daniel-sanche Aug 27, 2026
4985d1b
support either case
daniel-sanche Aug 27, 2026
108f609
change backend
daniel-sanche Aug 27, 2026
4d32c27
Merge branch 'fix_bigquery_unit' into improve_stuck_system_tests
daniel-sanche Aug 27, 2026
6ce8e81
force the python version
daniel-sanche Aug 27, 2026
8a981bc
boost timeout
daniel-sanche Aug 27, 2026
9a64352
improved handwritten lib detection
daniel-sanche Aug 27, 2026
431e71b
skip preview package for now; update noxfiles
daniel-sanche Aug 27, 2026
225e5d1
added weights for handwritten
daniel-sanche Aug 27, 2026
194d71e
updated package name
daniel-sanche Aug 27, 2026
1740b75
fixed import order
daniel-sanche Aug 27, 2026
8f8d000
addressed gemini comments
daniel-sanche Aug 27, 2026
a74c454
removed uv step
daniel-sanche Aug 27, 2026
76da0b7
updated weights
daniel-sanche Aug 27, 2026
fb96ae6
updated noxfiles to use local packages instead of over network
daniel-sanche Aug 27, 2026
b1a2694
increase timeout
daniel-sanche Aug 27, 2026
6cf9b87
fixed lint
daniel-sanche Aug 27, 2026
90ce674
move sqlalchemy compliance tests into new runner
daniel-sanche Aug 27, 2026
7381511
reverted core_deps changes
daniel-sanche Aug 27, 2026
97e3bd1
revert core_deps changes
daniel-sanche Aug 27, 2026
9b99e1b
removed extra timeout config
daniel-sanche Aug 27, 2026
5335331
removed compliance test logic
daniel-sanche Aug 27, 2026
71fe5e4
reduced per-package timeout
daniel-sanche Aug 27, 2026
3e74b19
Merge branch 'main' into improve_stuck_system_tests
daniel-sanche Aug 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 46 additions & 7 deletions .kokoro/system.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,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")
Expand Down Expand Up @@ -128,7 +128,11 @@ run_package_test() {
reap_parallel_results() {
local retval=0
local failed_count=0
local timed_out_count=0
local succeeded_count=0
Comment thread
daniel-sanche marked this conversation as resolved.
local failed
local timed_out
local pkg

if [ -z "$LOG_DIR" ]; then
echo "Error: LOG_DIR is not set."
Expand All @@ -142,6 +146,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))

Expand All @@ -152,6 +163,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=()
Expand All @@ -168,14 +182,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"
Expand Down Expand Up @@ -287,6 +310,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)
Expand All @@ -301,9 +325,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

Expand All @@ -323,8 +348,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
Expand Down
2 changes: 2 additions & 0 deletions packages/bigquery-magics/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/django-google-spanner/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -340,3 +340,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))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/gapic-generator/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2139,3 +2139,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))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-auth/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1969,3 +1969,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.

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-access-approval/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -467,3 +467,5 @@
### Features

* generate v1 ([88003fe](https://www.github.com/googleapis/python-access-approval/commit/88003fe05150ee653ba9a8ba072058b35d3f3c49))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-automl/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -720,3 +720,5 @@

### New Features
- Initial Release of AutoML v1beta1

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-bigquery-connection/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -506,3 +506,5 @@
### Features

* generate v1 ([73b89dc](https://www.github.com/googleapis/python-bigquery-connection/commit/73b89dcb423026c4b4e537ff728d22be2cb5ff3f))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-bigquery-datatransfer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -709,3 +709,5 @@ sources like Adwords, DoubleClick Campaign Manager, DoubleClick for Publishers
and YouTube.

PyPI: https://pypi.org/project/google-cloud-bigquery-datatransfer/0.1.0/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-bigquery-reservation/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -526,3 +526,5 @@
### Features

* generate v1 ([6293404](https://www.github.com/googleapis/python-bigquery-reservation/commit/6293404e47ca2efdcb5f702e248f43250060eb8c))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-bigquery-storage/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -908,3 +908,5 @@
11-29-2018 13:45 PST

- Initial release of BigQuery Storage API client.

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-bigquery/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2794,3 +2794,5 @@ PyPI: https://pypi.org/project/google-cloud-bigquery/0.27.0/
(#3598)

PyPI: https://pypi.org/project/google-cloud-bigquery/0.26.0/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-bigtable/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1238,3 +1238,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/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-compute/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -781,3 +781,5 @@
### Features

* generate v1 ([53f9a3d](https://www.github.com/googleapis/python-compute/commit/53f9a3d6f14ef45b5bc3e38a48e3fa17059591eb))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-container/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1396,3 +1396,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/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-dataproc/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -832,3 +832,5 @@

- Re-enable lint for tests, remove usage of pylint (#4921)
- Normalize all setup.py files (#4909)

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-datastore/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -828,3 +828,5 @@
on `google-api-core` (#4221, #4280)

PyPI: https://pypi.org/project/google-cloud-datastore/1.4.0/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-dlp/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -919,3 +919,5 @@
## 0.1.0

Initial release of the DLP (Data Loss Prevention) client library. (#4879)

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-dns/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,3 +248,5 @@
on `google-api-core` (#4221, #4280)

PyPI: https://pypi.org/project/google-cloud-dns/0.28.0/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-error-reporting/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -546,3 +546,5 @@
- Upgrading to `google-cloud-logging >= 1.4.0` (#4296)

PyPI: https://pypi.org/project/google-cloud-error-reporting/0.28.0/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-firestore/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1254,3 +1254,5 @@
on `google-api-core` (#4221, #4280)

PyPI: https://pypi.org/project/google-cloud-firestore/0.28.0/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-kms/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -831,3 +831,5 @@

### New Features
- KMS v1

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-logging/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -924,3 +924,5 @@
`googleapis-common-protos` dependencies (#4096, #4098)

PyPI: https://pypi.org/project/google-cloud-logging/1.4.0/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-monitoring/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -856,3 +856,5 @@
on `google-api-core` (#4221, #4280)

PyPI: https://pypi.org/project/google-cloud-monitoring/0.28.0/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-ndb/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -722,3 +722,5 @@
## 0.0.1dev1

Initial development release of NDB client library.

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-os-config/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -515,3 +515,5 @@
### Features

* generate v1 ([5d1f582](https://www.github.com/googleapis/python-os-config/commit/5d1f582b5b02d128ef44120d285941805d234ec7))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-pubsub/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1739,3 +1739,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/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-scheduler/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -559,3 +559,5 @@

### New Features
- Initial release of Cloud Scheduler library. ([#6482](https://github.com/googleapis/google-cloud-python/pull/6482))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-spanner/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1723,3 +1723,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/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-speech/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -935,3 +935,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/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-storage/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1517,3 +1517,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/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-tasks/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -734,3 +734,5 @@

### New Features
- Add v2beta2 endpoint for Tasks

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-testutils/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,3 +172,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))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-texttospeech/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -754,3 +754,5 @@
### Interface additions

- Added text-to-speech v1beta1. (#5049)

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-translate/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -760,3 +760,5 @@
on `google-api-core` (#4221, #4280)

PyPI: https://pypi.org/project/google-cloud-translate/1.3.0/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-videointelligence/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -717,3 +717,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/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-cloud-vision/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -831,3 +831,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/

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/google-resumable-media/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -575,3 +575,5 @@ might break the hypothetical usecase of downloading a blob marked with
2017-04-21

- Initial public release.

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/pandas-gbq/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/sqlalchemy-bigquery/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -459,3 +459,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))

<!-- trigger system tests -->
2 changes: 2 additions & 0 deletions packages/sqlalchemy-spanner/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -364,3 +364,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))

<!-- trigger system tests -->
Loading