From de548aa008d259444dfd3bb0d18acd8d637985be Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 16:00:50 +0000 Subject: [PATCH 01/17] chore: migrate samples to system infra --- .kokoro/{samples => system}/lint/common.cfg | 4 +- .../{samples => system}/lint/continuous.cfg | 0 .kokoro/{samples => system}/lint/periodic.cfg | 0 .../{samples => system}/lint/presubmit.cfg | 0 .../{samples => system}/python3.10/common.cfg | 4 +- .../python3.10/continuous.cfg | 0 .../python3.10/periodic-head.cfg | 0 .../python3.10/periodic.cfg | 0 .../python3.10/presubmit.cfg | 0 .../{samples => system}/python3.11/common.cfg | 4 +- .../python3.11/continuous.cfg | 0 .../python3.11/periodic-head.cfg | 0 .../python3.11/periodic.cfg | 0 .../python3.11/presubmit.cfg | 0 .../{samples => system}/python3.12/common.cfg | 4 +- .../python3.12/continuous.cfg | 0 .../python3.12/periodic-head.cfg | 0 .../python3.12/periodic.cfg | 0 .../python3.12/presubmit.cfg | 0 .../{samples => system}/python3.13/common.cfg | 4 +- .../python3.13/continuous.cfg | 0 .../python3.13/periodic-head.cfg | 0 .../python3.13/periodic.cfg | 0 .../python3.13/presubmit.cfg | 0 .../{samples => system}/python3.14/common.cfg | 4 +- .../python3.14/continuous.cfg | 0 .../python3.14/periodic-head.cfg | 0 .../python3.14/periodic.cfg | 0 .../python3.14/presubmit.cfg | 0 .../{samples => system}/python3.7/common.cfg | 4 +- .../python3.7/continuous.cfg | 0 .../python3.7/periodic-head.cfg | 0 .../python3.7/periodic.cfg | 0 .../python3.7/presubmit.cfg | 0 .../{samples => system}/python3.8/common.cfg | 4 +- .../python3.8/continuous.cfg | 0 .../python3.8/periodic-head.cfg | 0 .../python3.8/periodic.cfg | 0 .../python3.8/presubmit.cfg | 0 .../{samples => system}/python3.9/common.cfg | 4 +- .../python3.9/continuous.cfg | 0 .../python3.9/periodic-head.cfg | 0 .../python3.9/periodic.cfg | 0 .../python3.9/presubmit.cfg | 0 .kokoro/test-samples-impl.sh | 103 ------------------ ...st-head.sh => test-system-against-head.sh} | 2 +- .kokoro/test-system-impl.sh | 78 +++++++++++++ .kokoro/{test-samples.sh => test-system.sh} | 10 +- Makefile | 6 +- renovate.json | 2 +- samples-index.py | 2 +- {samples => tests/system}/README.md | 0 .../system}/adexchangebuyer/README.md | 0 .../system}/adexchangeseller/README | 0 .../adexchangeseller/client_secrets.json | 0 .../adexchangeseller/generate_report.py | 0 .../generate_report_with_paging.py | 0 .../adexchangeseller/get_all_ad_clients.py | 0 .../adexchangeseller/get_all_ad_units.py | 0 .../get_all_ad_units_for_custom_channel.py | 0 .../adexchangeseller/get_all_alerts.py | 0 .../get_all_custom_channels.py | 0 .../get_all_custom_channels_for_ad_unit.py | 0 .../adexchangeseller/get_all_dimensions.py | 0 .../adexchangeseller/get_all_metrics.py | 0 .../get_all_preferred_deals.py | 0 .../adexchangeseller/get_all_saved_reports.py | 0 .../adexchangeseller/get_all_url_channels.py | 0 {samples => tests/system}/adsense/README.md | 0 .../system}/adsensehost/README.md | 0 {samples => tests/system}/analytics/README | 0 .../system}/analytics/client_secrets.json | 0 .../analytics/core_reporting_v3_reference.py | 0 .../analytics/hello_analytics_api_v3.py | 0 .../analytics/management_v3_reference.py | 0 {samples => tests/system}/appengine/README | 0 {samples => tests/system}/appengine/app.yaml | 0 .../system}/appengine/client_secrets.json | 0 .../system}/appengine/grant.html | 0 .../system}/appengine/index.yaml | 0 {samples => tests/system}/appengine/main.py | 0 .../system}/appengine/welcome.html | 0 {samples => tests/system}/audit/README | 0 {samples => tests/system}/audit/audit.py | 0 .../system}/audit/client_secrets.json | 0 {samples => tests/system}/blogger/README | 0 {samples => tests/system}/blogger/blogger.py | 0 .../system}/blogger/client_secrets.json | 0 {samples => tests/system}/calendar_api/README | 0 .../system}/calendar_api/calendar_sample.py | 0 .../system}/calendar_api/client_secrets.json | 0 {samples => tests/system}/compute/README.md | 0 .../system}/compute/create_instance.py | 0 .../system}/compute/create_instance_test.py | 0 {samples => tests/system}/compute/noxfile.py | 0 .../system}/compute/requirements-test.txt | 0 .../system}/compute/requirements.txt | 0 .../system}/compute/startup-script.sh | 0 {samples => tests/system}/coordinate/README | 0 .../system}/coordinate/client_secrets.json | 0 .../system}/coordinate/coordinate.py | 0 {samples => tests/system}/customsearch/README | 0 .../system}/customsearch/main.py | 0 .../system}/dfareporting/README.md | 0 .../system}/groupssettings/README | 0 .../groupssettings/client_secrets.json | 0 .../system}/groupssettings/groupsettings.py | 0 {samples => tests/system}/maps_engine/README | 0 .../system}/maps_engine/maps_engine.py | 0 .../system}/maps_engine/polygons.dbf | Bin .../system}/maps_engine/polygons.prj | 0 .../system}/maps_engine/polygons.shp | Bin .../system}/maps_engine/polygons.shx | Bin {samples => tests/system}/plus/README | 0 .../system}/plus/client_secrets.json | 0 {samples => tests/system}/plus/plus.py | 0 {samples => tests/system}/prediction/README | 0 .../system}/prediction/client_secrets.json | 0 .../system}/prediction/language_id.txt | 0 .../system}/prediction/prediction.py | 0 {samples => tests/system}/prediction/setup.sh | 0 .../system}/searchconsole/README | 0 .../system}/searchconsole/client_secrets.json | 0 .../search_analytics_api_sample.py | 0 .../system}/searchforshopping/README | 0 .../system}/searchforshopping/basic.py | 0 .../system}/searchforshopping/crowding.py | 0 .../searchforshopping/fulltextsearch.py | 0 .../system}/searchforshopping/histograms.py | 0 .../system}/searchforshopping/main.py | 0 .../system}/searchforshopping/pagination.py | 0 .../system}/searchforshopping/ranking.py | 0 .../system}/searchforshopping/restricting.py | 0 .../system}/service_account/README | 0 .../system}/service_account/tasks.py | 0 {samples => tests/system}/storage/README.md | 0 .../storage_serviceaccount_appengine/app.yaml | 0 .../listing.xsl | 0 .../storage_serviceaccount_appengine/main.py | 0 .../system}/tasks_appengine/README | 0 .../system}/tasks_appengine/app.yaml | 0 .../system}/tasks_appengine/css/style.css | 0 .../system}/tasks_appengine/main.py | 0 .../tasks_appengine/settings.py.sample | 0 .../tasks_appengine/templates/index.html | 0 {samples => tests/system}/translate/README | 0 {samples => tests/system}/translate/main.py | 0 {samples => tests/system}/urlshortener/README | 0 .../system}/urlshortener/client_secrets.json | 0 .../system}/urlshortener/urlshortener.py | 0 {samples => tests/system}/youtube/README.md | 0 151 files changed, 107 insertions(+), 132 deletions(-) rename .kokoro/{samples => system}/lint/common.cfg (82%) rename .kokoro/{samples => system}/lint/continuous.cfg (100%) rename .kokoro/{samples => system}/lint/periodic.cfg (100%) rename .kokoro/{samples => system}/lint/presubmit.cfg (100%) rename .kokoro/{samples => system}/python3.10/common.cfg (85%) rename .kokoro/{samples => system}/python3.10/continuous.cfg (100%) rename .kokoro/{samples => system}/python3.10/periodic-head.cfg (100%) rename .kokoro/{samples => system}/python3.10/periodic.cfg (100%) rename .kokoro/{samples => system}/python3.10/presubmit.cfg (100%) rename .kokoro/{samples => system}/python3.11/common.cfg (85%) rename .kokoro/{samples => system}/python3.11/continuous.cfg (100%) rename .kokoro/{samples => system}/python3.11/periodic-head.cfg (100%) rename .kokoro/{samples => system}/python3.11/periodic.cfg (100%) rename .kokoro/{samples => system}/python3.11/presubmit.cfg (100%) rename .kokoro/{samples => system}/python3.12/common.cfg (85%) rename .kokoro/{samples => system}/python3.12/continuous.cfg (100%) rename .kokoro/{samples => system}/python3.12/periodic-head.cfg (100%) rename .kokoro/{samples => system}/python3.12/periodic.cfg (100%) rename .kokoro/{samples => system}/python3.12/presubmit.cfg (100%) rename .kokoro/{samples => system}/python3.13/common.cfg (85%) rename .kokoro/{samples => system}/python3.13/continuous.cfg (100%) rename .kokoro/{samples => system}/python3.13/periodic-head.cfg (100%) rename .kokoro/{samples => system}/python3.13/periodic.cfg (100%) rename .kokoro/{samples => system}/python3.13/presubmit.cfg (100%) rename .kokoro/{samples => system}/python3.14/common.cfg (85%) rename .kokoro/{samples => system}/python3.14/continuous.cfg (100%) rename .kokoro/{samples => system}/python3.14/periodic-head.cfg (100%) rename .kokoro/{samples => system}/python3.14/periodic.cfg (100%) rename .kokoro/{samples => system}/python3.14/presubmit.cfg (100%) rename .kokoro/{samples => system}/python3.7/common.cfg (85%) rename .kokoro/{samples => system}/python3.7/continuous.cfg (100%) rename .kokoro/{samples => system}/python3.7/periodic-head.cfg (100%) rename .kokoro/{samples => system}/python3.7/periodic.cfg (100%) rename .kokoro/{samples => system}/python3.7/presubmit.cfg (100%) rename .kokoro/{samples => system}/python3.8/common.cfg (85%) rename .kokoro/{samples => system}/python3.8/continuous.cfg (100%) rename .kokoro/{samples => system}/python3.8/periodic-head.cfg (100%) rename .kokoro/{samples => system}/python3.8/periodic.cfg (100%) rename .kokoro/{samples => system}/python3.8/presubmit.cfg (100%) rename .kokoro/{samples => system}/python3.9/common.cfg (85%) rename .kokoro/{samples => system}/python3.9/continuous.cfg (100%) rename .kokoro/{samples => system}/python3.9/periodic-head.cfg (100%) rename .kokoro/{samples => system}/python3.9/periodic.cfg (100%) rename .kokoro/{samples => system}/python3.9/presubmit.cfg (100%) delete mode 100755 .kokoro/test-samples-impl.sh rename .kokoro/{test-samples-against-head.sh => test-system-against-head.sh} (96%) create mode 100755 .kokoro/test-system-impl.sh rename .kokoro/{test-samples.sh => test-system.sh} (85%) rename {samples => tests/system}/README.md (100%) rename {samples => tests/system}/adexchangebuyer/README.md (100%) rename {samples => tests/system}/adexchangeseller/README (100%) rename {samples => tests/system}/adexchangeseller/client_secrets.json (100%) rename {samples => tests/system}/adexchangeseller/generate_report.py (100%) rename {samples => tests/system}/adexchangeseller/generate_report_with_paging.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_ad_clients.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_ad_units.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_ad_units_for_custom_channel.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_alerts.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_custom_channels.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_custom_channels_for_ad_unit.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_dimensions.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_metrics.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_preferred_deals.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_saved_reports.py (100%) rename {samples => tests/system}/adexchangeseller/get_all_url_channels.py (100%) rename {samples => tests/system}/adsense/README.md (100%) rename {samples => tests/system}/adsensehost/README.md (100%) rename {samples => tests/system}/analytics/README (100%) rename {samples => tests/system}/analytics/client_secrets.json (100%) rename {samples => tests/system}/analytics/core_reporting_v3_reference.py (100%) rename {samples => tests/system}/analytics/hello_analytics_api_v3.py (100%) rename {samples => tests/system}/analytics/management_v3_reference.py (100%) rename {samples => tests/system}/appengine/README (100%) rename {samples => tests/system}/appengine/app.yaml (100%) rename {samples => tests/system}/appengine/client_secrets.json (100%) rename {samples => tests/system}/appengine/grant.html (100%) rename {samples => tests/system}/appengine/index.yaml (100%) rename {samples => tests/system}/appengine/main.py (100%) rename {samples => tests/system}/appengine/welcome.html (100%) rename {samples => tests/system}/audit/README (100%) rename {samples => tests/system}/audit/audit.py (100%) rename {samples => tests/system}/audit/client_secrets.json (100%) rename {samples => tests/system}/blogger/README (100%) rename {samples => tests/system}/blogger/blogger.py (100%) rename {samples => tests/system}/blogger/client_secrets.json (100%) rename {samples => tests/system}/calendar_api/README (100%) rename {samples => tests/system}/calendar_api/calendar_sample.py (100%) rename {samples => tests/system}/calendar_api/client_secrets.json (100%) rename {samples => tests/system}/compute/README.md (100%) rename {samples => tests/system}/compute/create_instance.py (100%) rename {samples => tests/system}/compute/create_instance_test.py (100%) rename {samples => tests/system}/compute/noxfile.py (100%) rename {samples => tests/system}/compute/requirements-test.txt (100%) rename {samples => tests/system}/compute/requirements.txt (100%) rename {samples => tests/system}/compute/startup-script.sh (100%) rename {samples => tests/system}/coordinate/README (100%) rename {samples => tests/system}/coordinate/client_secrets.json (100%) rename {samples => tests/system}/coordinate/coordinate.py (100%) rename {samples => tests/system}/customsearch/README (100%) rename {samples => tests/system}/customsearch/main.py (100%) rename {samples => tests/system}/dfareporting/README.md (100%) rename {samples => tests/system}/groupssettings/README (100%) rename {samples => tests/system}/groupssettings/client_secrets.json (100%) rename {samples => tests/system}/groupssettings/groupsettings.py (100%) rename {samples => tests/system}/maps_engine/README (100%) rename {samples => tests/system}/maps_engine/maps_engine.py (100%) rename {samples => tests/system}/maps_engine/polygons.dbf (100%) rename {samples => tests/system}/maps_engine/polygons.prj (100%) rename {samples => tests/system}/maps_engine/polygons.shp (100%) rename {samples => tests/system}/maps_engine/polygons.shx (100%) rename {samples => tests/system}/plus/README (100%) rename {samples => tests/system}/plus/client_secrets.json (100%) rename {samples => tests/system}/plus/plus.py (100%) rename {samples => tests/system}/prediction/README (100%) rename {samples => tests/system}/prediction/client_secrets.json (100%) rename {samples => tests/system}/prediction/language_id.txt (100%) rename {samples => tests/system}/prediction/prediction.py (100%) rename {samples => tests/system}/prediction/setup.sh (100%) rename {samples => tests/system}/searchconsole/README (100%) rename {samples => tests/system}/searchconsole/client_secrets.json (100%) rename {samples => tests/system}/searchconsole/search_analytics_api_sample.py (100%) rename {samples => tests/system}/searchforshopping/README (100%) rename {samples => tests/system}/searchforshopping/basic.py (100%) rename {samples => tests/system}/searchforshopping/crowding.py (100%) rename {samples => tests/system}/searchforshopping/fulltextsearch.py (100%) rename {samples => tests/system}/searchforshopping/histograms.py (100%) rename {samples => tests/system}/searchforshopping/main.py (100%) rename {samples => tests/system}/searchforshopping/pagination.py (100%) rename {samples => tests/system}/searchforshopping/ranking.py (100%) rename {samples => tests/system}/searchforshopping/restricting.py (100%) rename {samples => tests/system}/service_account/README (100%) rename {samples => tests/system}/service_account/tasks.py (100%) rename {samples => tests/system}/storage/README.md (100%) rename {samples => tests/system}/storage_serviceaccount_appengine/app.yaml (100%) rename {samples => tests/system}/storage_serviceaccount_appengine/listing.xsl (100%) rename {samples => tests/system}/storage_serviceaccount_appengine/main.py (100%) rename {samples => tests/system}/tasks_appengine/README (100%) rename {samples => tests/system}/tasks_appengine/app.yaml (100%) rename {samples => tests/system}/tasks_appengine/css/style.css (100%) rename {samples => tests/system}/tasks_appengine/main.py (100%) rename {samples => tests/system}/tasks_appengine/settings.py.sample (100%) rename {samples => tests/system}/tasks_appengine/templates/index.html (100%) rename {samples => tests/system}/translate/README (100%) rename {samples => tests/system}/translate/main.py (100%) rename {samples => tests/system}/urlshortener/README (100%) rename {samples => tests/system}/urlshortener/client_secrets.json (100%) rename {samples => tests/system}/urlshortener/urlshortener.py (100%) rename {samples => tests/system}/youtube/README.md (100%) diff --git a/.kokoro/samples/lint/common.cfg b/.kokoro/system/lint/common.cfg similarity index 82% rename from .kokoro/samples/lint/common.cfg rename to .kokoro/system/lint/common.cfg index de81d49ddf3..9aa497ad760 100644 --- a/.kokoro/samples/lint/common.cfg +++ b/.kokoro/system/lint/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" + value: "github/google-api-python-client/.kokoro/test-system.sh" } # Configure the docker image for kokoro-trampoline. @@ -25,7 +25,7 @@ env_vars: { } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" diff --git a/.kokoro/samples/lint/continuous.cfg b/.kokoro/system/lint/continuous.cfg similarity index 100% rename from .kokoro/samples/lint/continuous.cfg rename to .kokoro/system/lint/continuous.cfg diff --git a/.kokoro/samples/lint/periodic.cfg b/.kokoro/system/lint/periodic.cfg similarity index 100% rename from .kokoro/samples/lint/periodic.cfg rename to .kokoro/system/lint/periodic.cfg diff --git a/.kokoro/samples/lint/presubmit.cfg b/.kokoro/system/lint/presubmit.cfg similarity index 100% rename from .kokoro/samples/lint/presubmit.cfg rename to .kokoro/system/lint/presubmit.cfg diff --git a/.kokoro/samples/python3.10/common.cfg b/.kokoro/system/python3.10/common.cfg similarity index 85% rename from .kokoro/samples/python3.10/common.cfg rename to .kokoro/system/python3.10/common.cfg index b1a684ce5f8..1bfa724b0fd 100644 --- a/.kokoro/samples/python3.10/common.cfg +++ b/.kokoro/system/python3.10/common.cfg @@ -21,7 +21,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" + value: "github/google-api-python-client/.kokoro/test-system.sh" } # Configure the docker image for kokoro-trampoline. @@ -31,7 +31,7 @@ env_vars: { } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" diff --git a/.kokoro/samples/python3.10/continuous.cfg b/.kokoro/system/python3.10/continuous.cfg similarity index 100% rename from .kokoro/samples/python3.10/continuous.cfg rename to .kokoro/system/python3.10/continuous.cfg diff --git a/.kokoro/samples/python3.10/periodic-head.cfg b/.kokoro/system/python3.10/periodic-head.cfg similarity index 100% rename from .kokoro/samples/python3.10/periodic-head.cfg rename to .kokoro/system/python3.10/periodic-head.cfg diff --git a/.kokoro/samples/python3.10/periodic.cfg b/.kokoro/system/python3.10/periodic.cfg similarity index 100% rename from .kokoro/samples/python3.10/periodic.cfg rename to .kokoro/system/python3.10/periodic.cfg diff --git a/.kokoro/samples/python3.10/presubmit.cfg b/.kokoro/system/python3.10/presubmit.cfg similarity index 100% rename from .kokoro/samples/python3.10/presubmit.cfg rename to .kokoro/system/python3.10/presubmit.cfg diff --git a/.kokoro/samples/python3.11/common.cfg b/.kokoro/system/python3.11/common.cfg similarity index 85% rename from .kokoro/samples/python3.11/common.cfg rename to .kokoro/system/python3.11/common.cfg index 0df5ac77f3a..a148cd72ec1 100644 --- a/.kokoro/samples/python3.11/common.cfg +++ b/.kokoro/system/python3.11/common.cfg @@ -21,7 +21,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" + value: "github/google-api-python-client/.kokoro/test-system.sh" } # Configure the docker image for kokoro-trampoline. @@ -31,7 +31,7 @@ env_vars: { } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" diff --git a/.kokoro/samples/python3.11/continuous.cfg b/.kokoro/system/python3.11/continuous.cfg similarity index 100% rename from .kokoro/samples/python3.11/continuous.cfg rename to .kokoro/system/python3.11/continuous.cfg diff --git a/.kokoro/samples/python3.11/periodic-head.cfg b/.kokoro/system/python3.11/periodic-head.cfg similarity index 100% rename from .kokoro/samples/python3.11/periodic-head.cfg rename to .kokoro/system/python3.11/periodic-head.cfg diff --git a/.kokoro/samples/python3.11/periodic.cfg b/.kokoro/system/python3.11/periodic.cfg similarity index 100% rename from .kokoro/samples/python3.11/periodic.cfg rename to .kokoro/system/python3.11/periodic.cfg diff --git a/.kokoro/samples/python3.11/presubmit.cfg b/.kokoro/system/python3.11/presubmit.cfg similarity index 100% rename from .kokoro/samples/python3.11/presubmit.cfg rename to .kokoro/system/python3.11/presubmit.cfg diff --git a/.kokoro/samples/python3.12/common.cfg b/.kokoro/system/python3.12/common.cfg similarity index 85% rename from .kokoro/samples/python3.12/common.cfg rename to .kokoro/system/python3.12/common.cfg index 3d6669cf426..65f0cb84cfc 100644 --- a/.kokoro/samples/python3.12/common.cfg +++ b/.kokoro/system/python3.12/common.cfg @@ -21,7 +21,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" + value: "github/google-api-python-client/.kokoro/test-system.sh" } # Configure the docker image for kokoro-trampoline. @@ -31,7 +31,7 @@ env_vars: { } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" diff --git a/.kokoro/samples/python3.12/continuous.cfg b/.kokoro/system/python3.12/continuous.cfg similarity index 100% rename from .kokoro/samples/python3.12/continuous.cfg rename to .kokoro/system/python3.12/continuous.cfg diff --git a/.kokoro/samples/python3.12/periodic-head.cfg b/.kokoro/system/python3.12/periodic-head.cfg similarity index 100% rename from .kokoro/samples/python3.12/periodic-head.cfg rename to .kokoro/system/python3.12/periodic-head.cfg diff --git a/.kokoro/samples/python3.12/periodic.cfg b/.kokoro/system/python3.12/periodic.cfg similarity index 100% rename from .kokoro/samples/python3.12/periodic.cfg rename to .kokoro/system/python3.12/periodic.cfg diff --git a/.kokoro/samples/python3.12/presubmit.cfg b/.kokoro/system/python3.12/presubmit.cfg similarity index 100% rename from .kokoro/samples/python3.12/presubmit.cfg rename to .kokoro/system/python3.12/presubmit.cfg diff --git a/.kokoro/samples/python3.13/common.cfg b/.kokoro/system/python3.13/common.cfg similarity index 85% rename from .kokoro/samples/python3.13/common.cfg rename to .kokoro/system/python3.13/common.cfg index 25f2a9ed5ec..70a65c25a6f 100644 --- a/.kokoro/samples/python3.13/common.cfg +++ b/.kokoro/system/python3.13/common.cfg @@ -21,7 +21,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" + value: "github/google-api-python-client/.kokoro/test-system.sh" } # Configure the docker image for kokoro-trampoline. @@ -31,7 +31,7 @@ env_vars: { } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" diff --git a/.kokoro/samples/python3.13/continuous.cfg b/.kokoro/system/python3.13/continuous.cfg similarity index 100% rename from .kokoro/samples/python3.13/continuous.cfg rename to .kokoro/system/python3.13/continuous.cfg diff --git a/.kokoro/samples/python3.13/periodic-head.cfg b/.kokoro/system/python3.13/periodic-head.cfg similarity index 100% rename from .kokoro/samples/python3.13/periodic-head.cfg rename to .kokoro/system/python3.13/periodic-head.cfg diff --git a/.kokoro/samples/python3.13/periodic.cfg b/.kokoro/system/python3.13/periodic.cfg similarity index 100% rename from .kokoro/samples/python3.13/periodic.cfg rename to .kokoro/system/python3.13/periodic.cfg diff --git a/.kokoro/samples/python3.13/presubmit.cfg b/.kokoro/system/python3.13/presubmit.cfg similarity index 100% rename from .kokoro/samples/python3.13/presubmit.cfg rename to .kokoro/system/python3.13/presubmit.cfg diff --git a/.kokoro/samples/python3.14/common.cfg b/.kokoro/system/python3.14/common.cfg similarity index 85% rename from .kokoro/samples/python3.14/common.cfg rename to .kokoro/system/python3.14/common.cfg index e9d0480a348..4f340cbc88e 100644 --- a/.kokoro/samples/python3.14/common.cfg +++ b/.kokoro/system/python3.14/common.cfg @@ -21,7 +21,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" + value: "github/google-api-python-client/.kokoro/test-system.sh" } # Configure the docker image for kokoro-trampoline. @@ -31,7 +31,7 @@ env_vars: { } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" diff --git a/.kokoro/samples/python3.14/continuous.cfg b/.kokoro/system/python3.14/continuous.cfg similarity index 100% rename from .kokoro/samples/python3.14/continuous.cfg rename to .kokoro/system/python3.14/continuous.cfg diff --git a/.kokoro/samples/python3.14/periodic-head.cfg b/.kokoro/system/python3.14/periodic-head.cfg similarity index 100% rename from .kokoro/samples/python3.14/periodic-head.cfg rename to .kokoro/system/python3.14/periodic-head.cfg diff --git a/.kokoro/samples/python3.14/periodic.cfg b/.kokoro/system/python3.14/periodic.cfg similarity index 100% rename from .kokoro/samples/python3.14/periodic.cfg rename to .kokoro/system/python3.14/periodic.cfg diff --git a/.kokoro/samples/python3.14/presubmit.cfg b/.kokoro/system/python3.14/presubmit.cfg similarity index 100% rename from .kokoro/samples/python3.14/presubmit.cfg rename to .kokoro/system/python3.14/presubmit.cfg diff --git a/.kokoro/samples/python3.7/common.cfg b/.kokoro/system/python3.7/common.cfg similarity index 85% rename from .kokoro/samples/python3.7/common.cfg rename to .kokoro/system/python3.7/common.cfg index 51153192905..c446644a7c6 100644 --- a/.kokoro/samples/python3.7/common.cfg +++ b/.kokoro/system/python3.7/common.cfg @@ -21,7 +21,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" + value: "github/google-api-python-client/.kokoro/test-system.sh" } # Configure the docker image for kokoro-trampoline. @@ -31,7 +31,7 @@ env_vars: { } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" diff --git a/.kokoro/samples/python3.7/continuous.cfg b/.kokoro/system/python3.7/continuous.cfg similarity index 100% rename from .kokoro/samples/python3.7/continuous.cfg rename to .kokoro/system/python3.7/continuous.cfg diff --git a/.kokoro/samples/python3.7/periodic-head.cfg b/.kokoro/system/python3.7/periodic-head.cfg similarity index 100% rename from .kokoro/samples/python3.7/periodic-head.cfg rename to .kokoro/system/python3.7/periodic-head.cfg diff --git a/.kokoro/samples/python3.7/periodic.cfg b/.kokoro/system/python3.7/periodic.cfg similarity index 100% rename from .kokoro/samples/python3.7/periodic.cfg rename to .kokoro/system/python3.7/periodic.cfg diff --git a/.kokoro/samples/python3.7/presubmit.cfg b/.kokoro/system/python3.7/presubmit.cfg similarity index 100% rename from .kokoro/samples/python3.7/presubmit.cfg rename to .kokoro/system/python3.7/presubmit.cfg diff --git a/.kokoro/samples/python3.8/common.cfg b/.kokoro/system/python3.8/common.cfg similarity index 85% rename from .kokoro/samples/python3.8/common.cfg rename to .kokoro/system/python3.8/common.cfg index 51397da6b2b..189506b4ed8 100644 --- a/.kokoro/samples/python3.8/common.cfg +++ b/.kokoro/system/python3.8/common.cfg @@ -21,7 +21,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" + value: "github/google-api-python-client/.kokoro/test-system.sh" } # Configure the docker image for kokoro-trampoline. @@ -31,7 +31,7 @@ env_vars: { } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" diff --git a/.kokoro/samples/python3.8/continuous.cfg b/.kokoro/system/python3.8/continuous.cfg similarity index 100% rename from .kokoro/samples/python3.8/continuous.cfg rename to .kokoro/system/python3.8/continuous.cfg diff --git a/.kokoro/samples/python3.8/periodic-head.cfg b/.kokoro/system/python3.8/periodic-head.cfg similarity index 100% rename from .kokoro/samples/python3.8/periodic-head.cfg rename to .kokoro/system/python3.8/periodic-head.cfg diff --git a/.kokoro/samples/python3.8/periodic.cfg b/.kokoro/system/python3.8/periodic.cfg similarity index 100% rename from .kokoro/samples/python3.8/periodic.cfg rename to .kokoro/system/python3.8/periodic.cfg diff --git a/.kokoro/samples/python3.8/presubmit.cfg b/.kokoro/system/python3.8/presubmit.cfg similarity index 100% rename from .kokoro/samples/python3.8/presubmit.cfg rename to .kokoro/system/python3.8/presubmit.cfg diff --git a/.kokoro/samples/python3.9/common.cfg b/.kokoro/system/python3.9/common.cfg similarity index 85% rename from .kokoro/samples/python3.9/common.cfg rename to .kokoro/system/python3.9/common.cfg index 7afd4f279ee..3d33079f494 100644 --- a/.kokoro/samples/python3.9/common.cfg +++ b/.kokoro/system/python3.9/common.cfg @@ -21,7 +21,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" + value: "github/google-api-python-client/.kokoro/test-system.sh" } # Configure the docker image for kokoro-trampoline. @@ -31,7 +31,7 @@ env_vars: { } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" diff --git a/.kokoro/samples/python3.9/continuous.cfg b/.kokoro/system/python3.9/continuous.cfg similarity index 100% rename from .kokoro/samples/python3.9/continuous.cfg rename to .kokoro/system/python3.9/continuous.cfg diff --git a/.kokoro/samples/python3.9/periodic-head.cfg b/.kokoro/system/python3.9/periodic-head.cfg similarity index 100% rename from .kokoro/samples/python3.9/periodic-head.cfg rename to .kokoro/system/python3.9/periodic-head.cfg diff --git a/.kokoro/samples/python3.9/periodic.cfg b/.kokoro/system/python3.9/periodic.cfg similarity index 100% rename from .kokoro/samples/python3.9/periodic.cfg rename to .kokoro/system/python3.9/periodic.cfg diff --git a/.kokoro/samples/python3.9/presubmit.cfg b/.kokoro/system/python3.9/presubmit.cfg similarity index 100% rename from .kokoro/samples/python3.9/presubmit.cfg rename to .kokoro/system/python3.9/presubmit.cfg diff --git a/.kokoro/test-samples-impl.sh b/.kokoro/test-samples-impl.sh deleted file mode 100755 index 53e365bc4e7..00000000000 --- a/.kokoro/test-samples-impl.sh +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/bash -# Copyright 2024 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -# `-e` enables the script to automatically fail when a command fails -# `-o pipefail` sets the exit code to the rightmost comment to exit with a non-zero -set -eo pipefail -# Enables `**` to include files nested inside sub-folders -shopt -s globstar - -# Exit early if samples don't exist -if ! find samples -name 'requirements.txt' | grep -q .; then - echo "No tests run. './samples/**/requirements.txt' not found" - exit 0 -fi - -# Disable buffering, so that the logs stream through. -export PYTHONUNBUFFERED=1 - -# Debug: show build environment -env | grep KOKORO - -# Install nox -# `virtualenv==20.26.6` is added for Python 3.7 compatibility -python3.9 -m pip install --upgrade --quiet nox virtualenv==20.26.6 - -# Use secrets acessor service account to get secrets -if [[ -f "${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" ]]; then - gcloud auth activate-service-account \ - --key-file="${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" \ - --project="cloud-devrel-kokoro-resources" -fi - -# This script will create 3 files: -# - testing/test-env.sh -# - testing/service-account.json -# - testing/client-secrets.json -./scripts/decrypt-secrets.sh - -source ./testing/test-env.sh -export GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/testing/service-account.json - -# For cloud-run session, we activate the service account for gcloud sdk. -gcloud auth activate-service-account \ - --key-file "${GOOGLE_APPLICATION_CREDENTIALS}" - -export GOOGLE_CLIENT_SECRETS=$(pwd)/testing/client-secrets.json - -echo -e "\n******************** TESTING PROJECTS ********************" - -# Switch to 'fail at end' to allow all tests to complete before exiting. -set +e -# Use RTN to return a non-zero value if the test fails. -RTN=0 -ROOT=$(pwd) -# Find all requirements.txt in the samples directory (may break on whitespace). -for file in samples/**/requirements.txt; do - cd "$ROOT" - # Navigate to the project folder. - file=$(dirname "$file") - cd "$file" - - echo "------------------------------------------------------------" - echo "- testing $file" - echo "------------------------------------------------------------" - - # Use nox to execute the tests for the project. - python3.9 -m nox -s "$RUN_TESTS_SESSION" - EXIT=$? - - # If this is a periodic build, send the test log to the FlakyBot. - # See https://github.com/googleapis/repo-automation-bots/tree/main/packages/flakybot. - if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then - chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot - $KOKORO_GFILE_DIR/linux_amd64/flakybot - fi - - if [[ $EXIT -ne 0 ]]; then - RTN=1 - echo -e "\n Testing failed: Nox returned a non-zero exit code. \n" - else - echo -e "\n Testing completed.\n" - fi - -done -cd "$ROOT" - -# Workaround for Kokoro permissions issue: delete secrets -rm testing/{test-env.sh,client-secrets.json,service-account.json} - -exit "$RTN" diff --git a/.kokoro/test-samples-against-head.sh b/.kokoro/test-system-against-head.sh similarity index 96% rename from .kokoro/test-samples-against-head.sh rename to .kokoro/test-system-against-head.sh index e9d8bd79a64..169f65b88d2 100755 --- a/.kokoro/test-samples-against-head.sh +++ b/.kokoro/test-system-against-head.sh @@ -23,4 +23,4 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar -exec .kokoro/test-samples-impl.sh +exec .kokoro/test-system-impl.sh diff --git a/.kokoro/test-system-impl.sh b/.kokoro/test-system-impl.sh new file mode 100755 index 00000000000..b56d23607cc --- /dev/null +++ b/.kokoro/test-system-impl.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail +shopt -s globstar + +# Exit early if samples don't exist +if ! find tests/system -name 'requirements.txt' | grep -q .; then + echo "No tests run. './tests/system/**/requirements.txt' not found" + exit 0 +fi + +# Disable buffering, so that the logs stream through. +export PYTHONUNBUFFERED=1 + +# Debug: show build environment +env | grep KOKORO + +# Install nox +python3.9 -m pip install --upgrade --quiet nox virtualenv==20.26.6 + +# Setup project id. +if [[ -f "${KOKORO_GFILE_DIR}/project-id.json" ]]; then + export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json") + export GOOGLE_CLOUD_PROJECT="${PROJECT_ID}" + gcloud config set project "$PROJECT_ID" +fi + +# Setup service account credentials. +if [[ -f "${KOKORO_GFILE_DIR}/service-account.json" ]]; then + export GOOGLE_APPLICATION_CREDENTIALS="${KOKORO_GFILE_DIR}/service-account.json" + gcloud auth activate-service-account --key-file="${GOOGLE_APPLICATION_CREDENTIALS}" +fi + +echo -e "\n******************** TESTING PROJECTS ********************" + +set +e +RTN=0 +ROOT=$(pwd) +for file in tests/system/**/requirements.txt; do + cd "$ROOT" + file=$(dirname "$file") + cd "$file" + + echo "------------------------------------------------------------" + echo "- testing $file" + echo "------------------------------------------------------------" + + python3.9 -m nox -s "$RUN_TESTS_SESSION" + EXIT=$? + + if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then + chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot + $KOKORO_GFILE_DIR/linux_amd64/flakybot + fi + + if [[ $EXIT -ne 0 ]]; then + RTN=1 + echo -e "\n Testing failed: Nox returned a non-zero exit code. \n" + else + echo -e "\n Testing completed.\n" + fi +done + +cd "$ROOT" +exit "$RTN" diff --git a/.kokoro/test-samples.sh b/.kokoro/test-system.sh similarity index 85% rename from .kokoro/test-samples.sh rename to .kokoro/test-system.sh index 7933d820149..bfed68c5ffe 100755 --- a/.kokoro/test-samples.sh +++ b/.kokoro/test-system.sh @@ -16,7 +16,7 @@ # The default test runner for samples. # # For periodic builds, we rewinds the repo to the latest release, and -# run test-samples-impl.sh. +# run test-system-impl.sh. # `-e` enables the script to automatically fail when a command fails # `-o pipefail` sets the exit code to the rightmost comment to exit with a non-zero @@ -27,7 +27,7 @@ shopt -s globstar # Run periodic samples tests at latest release if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then # preserving the test runner implementation. - cp .kokoro/test-samples-impl.sh "${TMPDIR}/test-samples-impl.sh" + cp .kokoro/test-system-impl.sh "${TMPDIR}/test-system-impl.sh" echo "--- IMPORTANT IMPORTANT IMPORTANT ---" echo "Now we rewind the repo back to the latest release..." LATEST_RELEASE=$(git describe --abbrev=0 --tags) @@ -36,9 +36,9 @@ if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then echo $(git rev-parse --verify HEAD) echo "--- IMPORTANT IMPORTANT IMPORTANT ---" # move back the test runner implementation if there's no file. - if [ ! -f .kokoro/test-samples-impl.sh ]; then - cp "${TMPDIR}/test-samples-impl.sh" .kokoro/test-samples-impl.sh + if [ ! -f .kokoro/test-system-impl.sh ]; then + cp "${TMPDIR}/test-system-impl.sh" .kokoro/test-system-impl.sh fi fi -exec .kokoro/test-samples-impl.sh +exec .kokoro/test-system-impl.sh diff --git a/Makefile b/Makefile index a4b03289a72..32a65ac76f4 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ pep8: - find googleapiclient samples -name "*.py" | xargs pep8 --ignore=E111,E202 + find googleapiclient tests/system -name "*.py" | xargs pep8 --ignore=E111,E202 APP_ENGINE_PATH=../google_appengine @@ -32,8 +32,8 @@ prerelease: python expandsymlinks.py cd snapshot; python setup.py clean cd snapshot; python setup.py sdist --formats=gztar,zip bdist_wheel --universal - cd snapshot; tar czf google-api-python-client-samples-$(shell python setup.py --version).tar.gz samples - cd snapshot; zip -r google-api-python-client-samples-$(shell python setup.py --version).zip samples + cd snapshot; tar czf google-api-python-client-samples-$(shell python setup.py --version).tar.gz tests/system + cd snapshot; zip -r google-api-python-client-samples-$(shell python setup.py --version).zip tests/system .PHONY: release diff --git a/renovate.json b/renovate.json index c7875c469bd..57b501a47d6 100644 --- a/renovate.json +++ b/renovate.json @@ -7,6 +7,6 @@ ], "ignorePaths": [".pre-commit-config.yaml", ".kokoro/requirements.txt", "setup.py", ".github/workflows/unittest.yml"], "pip_requirements": { - "fileMatch": ["requirements-test.txt", "samples/[\\S/]*constraints.txt", "samples/[\\S/]*constraints-test.txt"] + "fileMatch": ["requirements-test.txt", "tests/system/[\\S/]*constraints.txt", "tests/system/[\\S/]*constraints-test.txt"] } } diff --git a/samples-index.py b/samples-index.py index 9c28405ffb2..333bd6ea48e 100644 --- a/samples-index.py +++ b/samples-index.py @@ -198,7 +198,7 @@ def scan_readme_files(dirname): def main(): # Get all the information we need out of the README files in the samples. - samples, keyword_set = scan_readme_files("./samples") + samples, keyword_set = scan_readme_files("./tests/system") # Now build a wiki page with all that information. Accumulate all the # information as string to be concatenated when were done. diff --git a/samples/README.md b/tests/system/README.md similarity index 100% rename from samples/README.md rename to tests/system/README.md diff --git a/samples/adexchangebuyer/README.md b/tests/system/adexchangebuyer/README.md similarity index 100% rename from samples/adexchangebuyer/README.md rename to tests/system/adexchangebuyer/README.md diff --git a/samples/adexchangeseller/README b/tests/system/adexchangeseller/README similarity index 100% rename from samples/adexchangeseller/README rename to tests/system/adexchangeseller/README diff --git a/samples/adexchangeseller/client_secrets.json b/tests/system/adexchangeseller/client_secrets.json similarity index 100% rename from samples/adexchangeseller/client_secrets.json rename to tests/system/adexchangeseller/client_secrets.json diff --git a/samples/adexchangeseller/generate_report.py b/tests/system/adexchangeseller/generate_report.py similarity index 100% rename from samples/adexchangeseller/generate_report.py rename to tests/system/adexchangeseller/generate_report.py diff --git a/samples/adexchangeseller/generate_report_with_paging.py b/tests/system/adexchangeseller/generate_report_with_paging.py similarity index 100% rename from samples/adexchangeseller/generate_report_with_paging.py rename to tests/system/adexchangeseller/generate_report_with_paging.py diff --git a/samples/adexchangeseller/get_all_ad_clients.py b/tests/system/adexchangeseller/get_all_ad_clients.py similarity index 100% rename from samples/adexchangeseller/get_all_ad_clients.py rename to tests/system/adexchangeseller/get_all_ad_clients.py diff --git a/samples/adexchangeseller/get_all_ad_units.py b/tests/system/adexchangeseller/get_all_ad_units.py similarity index 100% rename from samples/adexchangeseller/get_all_ad_units.py rename to tests/system/adexchangeseller/get_all_ad_units.py diff --git a/samples/adexchangeseller/get_all_ad_units_for_custom_channel.py b/tests/system/adexchangeseller/get_all_ad_units_for_custom_channel.py similarity index 100% rename from samples/adexchangeseller/get_all_ad_units_for_custom_channel.py rename to tests/system/adexchangeseller/get_all_ad_units_for_custom_channel.py diff --git a/samples/adexchangeseller/get_all_alerts.py b/tests/system/adexchangeseller/get_all_alerts.py similarity index 100% rename from samples/adexchangeseller/get_all_alerts.py rename to tests/system/adexchangeseller/get_all_alerts.py diff --git a/samples/adexchangeseller/get_all_custom_channels.py b/tests/system/adexchangeseller/get_all_custom_channels.py similarity index 100% rename from samples/adexchangeseller/get_all_custom_channels.py rename to tests/system/adexchangeseller/get_all_custom_channels.py diff --git a/samples/adexchangeseller/get_all_custom_channels_for_ad_unit.py b/tests/system/adexchangeseller/get_all_custom_channels_for_ad_unit.py similarity index 100% rename from samples/adexchangeseller/get_all_custom_channels_for_ad_unit.py rename to tests/system/adexchangeseller/get_all_custom_channels_for_ad_unit.py diff --git a/samples/adexchangeseller/get_all_dimensions.py b/tests/system/adexchangeseller/get_all_dimensions.py similarity index 100% rename from samples/adexchangeseller/get_all_dimensions.py rename to tests/system/adexchangeseller/get_all_dimensions.py diff --git a/samples/adexchangeseller/get_all_metrics.py b/tests/system/adexchangeseller/get_all_metrics.py similarity index 100% rename from samples/adexchangeseller/get_all_metrics.py rename to tests/system/adexchangeseller/get_all_metrics.py diff --git a/samples/adexchangeseller/get_all_preferred_deals.py b/tests/system/adexchangeseller/get_all_preferred_deals.py similarity index 100% rename from samples/adexchangeseller/get_all_preferred_deals.py rename to tests/system/adexchangeseller/get_all_preferred_deals.py diff --git a/samples/adexchangeseller/get_all_saved_reports.py b/tests/system/adexchangeseller/get_all_saved_reports.py similarity index 100% rename from samples/adexchangeseller/get_all_saved_reports.py rename to tests/system/adexchangeseller/get_all_saved_reports.py diff --git a/samples/adexchangeseller/get_all_url_channels.py b/tests/system/adexchangeseller/get_all_url_channels.py similarity index 100% rename from samples/adexchangeseller/get_all_url_channels.py rename to tests/system/adexchangeseller/get_all_url_channels.py diff --git a/samples/adsense/README.md b/tests/system/adsense/README.md similarity index 100% rename from samples/adsense/README.md rename to tests/system/adsense/README.md diff --git a/samples/adsensehost/README.md b/tests/system/adsensehost/README.md similarity index 100% rename from samples/adsensehost/README.md rename to tests/system/adsensehost/README.md diff --git a/samples/analytics/README b/tests/system/analytics/README similarity index 100% rename from samples/analytics/README rename to tests/system/analytics/README diff --git a/samples/analytics/client_secrets.json b/tests/system/analytics/client_secrets.json similarity index 100% rename from samples/analytics/client_secrets.json rename to tests/system/analytics/client_secrets.json diff --git a/samples/analytics/core_reporting_v3_reference.py b/tests/system/analytics/core_reporting_v3_reference.py similarity index 100% rename from samples/analytics/core_reporting_v3_reference.py rename to tests/system/analytics/core_reporting_v3_reference.py diff --git a/samples/analytics/hello_analytics_api_v3.py b/tests/system/analytics/hello_analytics_api_v3.py similarity index 100% rename from samples/analytics/hello_analytics_api_v3.py rename to tests/system/analytics/hello_analytics_api_v3.py diff --git a/samples/analytics/management_v3_reference.py b/tests/system/analytics/management_v3_reference.py similarity index 100% rename from samples/analytics/management_v3_reference.py rename to tests/system/analytics/management_v3_reference.py diff --git a/samples/appengine/README b/tests/system/appengine/README similarity index 100% rename from samples/appengine/README rename to tests/system/appengine/README diff --git a/samples/appengine/app.yaml b/tests/system/appengine/app.yaml similarity index 100% rename from samples/appengine/app.yaml rename to tests/system/appengine/app.yaml diff --git a/samples/appengine/client_secrets.json b/tests/system/appengine/client_secrets.json similarity index 100% rename from samples/appengine/client_secrets.json rename to tests/system/appengine/client_secrets.json diff --git a/samples/appengine/grant.html b/tests/system/appengine/grant.html similarity index 100% rename from samples/appengine/grant.html rename to tests/system/appengine/grant.html diff --git a/samples/appengine/index.yaml b/tests/system/appengine/index.yaml similarity index 100% rename from samples/appengine/index.yaml rename to tests/system/appengine/index.yaml diff --git a/samples/appengine/main.py b/tests/system/appengine/main.py similarity index 100% rename from samples/appengine/main.py rename to tests/system/appengine/main.py diff --git a/samples/appengine/welcome.html b/tests/system/appengine/welcome.html similarity index 100% rename from samples/appengine/welcome.html rename to tests/system/appengine/welcome.html diff --git a/samples/audit/README b/tests/system/audit/README similarity index 100% rename from samples/audit/README rename to tests/system/audit/README diff --git a/samples/audit/audit.py b/tests/system/audit/audit.py similarity index 100% rename from samples/audit/audit.py rename to tests/system/audit/audit.py diff --git a/samples/audit/client_secrets.json b/tests/system/audit/client_secrets.json similarity index 100% rename from samples/audit/client_secrets.json rename to tests/system/audit/client_secrets.json diff --git a/samples/blogger/README b/tests/system/blogger/README similarity index 100% rename from samples/blogger/README rename to tests/system/blogger/README diff --git a/samples/blogger/blogger.py b/tests/system/blogger/blogger.py similarity index 100% rename from samples/blogger/blogger.py rename to tests/system/blogger/blogger.py diff --git a/samples/blogger/client_secrets.json b/tests/system/blogger/client_secrets.json similarity index 100% rename from samples/blogger/client_secrets.json rename to tests/system/blogger/client_secrets.json diff --git a/samples/calendar_api/README b/tests/system/calendar_api/README similarity index 100% rename from samples/calendar_api/README rename to tests/system/calendar_api/README diff --git a/samples/calendar_api/calendar_sample.py b/tests/system/calendar_api/calendar_sample.py similarity index 100% rename from samples/calendar_api/calendar_sample.py rename to tests/system/calendar_api/calendar_sample.py diff --git a/samples/calendar_api/client_secrets.json b/tests/system/calendar_api/client_secrets.json similarity index 100% rename from samples/calendar_api/client_secrets.json rename to tests/system/calendar_api/client_secrets.json diff --git a/samples/compute/README.md b/tests/system/compute/README.md similarity index 100% rename from samples/compute/README.md rename to tests/system/compute/README.md diff --git a/samples/compute/create_instance.py b/tests/system/compute/create_instance.py similarity index 100% rename from samples/compute/create_instance.py rename to tests/system/compute/create_instance.py diff --git a/samples/compute/create_instance_test.py b/tests/system/compute/create_instance_test.py similarity index 100% rename from samples/compute/create_instance_test.py rename to tests/system/compute/create_instance_test.py diff --git a/samples/compute/noxfile.py b/tests/system/compute/noxfile.py similarity index 100% rename from samples/compute/noxfile.py rename to tests/system/compute/noxfile.py diff --git a/samples/compute/requirements-test.txt b/tests/system/compute/requirements-test.txt similarity index 100% rename from samples/compute/requirements-test.txt rename to tests/system/compute/requirements-test.txt diff --git a/samples/compute/requirements.txt b/tests/system/compute/requirements.txt similarity index 100% rename from samples/compute/requirements.txt rename to tests/system/compute/requirements.txt diff --git a/samples/compute/startup-script.sh b/tests/system/compute/startup-script.sh similarity index 100% rename from samples/compute/startup-script.sh rename to tests/system/compute/startup-script.sh diff --git a/samples/coordinate/README b/tests/system/coordinate/README similarity index 100% rename from samples/coordinate/README rename to tests/system/coordinate/README diff --git a/samples/coordinate/client_secrets.json b/tests/system/coordinate/client_secrets.json similarity index 100% rename from samples/coordinate/client_secrets.json rename to tests/system/coordinate/client_secrets.json diff --git a/samples/coordinate/coordinate.py b/tests/system/coordinate/coordinate.py similarity index 100% rename from samples/coordinate/coordinate.py rename to tests/system/coordinate/coordinate.py diff --git a/samples/customsearch/README b/tests/system/customsearch/README similarity index 100% rename from samples/customsearch/README rename to tests/system/customsearch/README diff --git a/samples/customsearch/main.py b/tests/system/customsearch/main.py similarity index 100% rename from samples/customsearch/main.py rename to tests/system/customsearch/main.py diff --git a/samples/dfareporting/README.md b/tests/system/dfareporting/README.md similarity index 100% rename from samples/dfareporting/README.md rename to tests/system/dfareporting/README.md diff --git a/samples/groupssettings/README b/tests/system/groupssettings/README similarity index 100% rename from samples/groupssettings/README rename to tests/system/groupssettings/README diff --git a/samples/groupssettings/client_secrets.json b/tests/system/groupssettings/client_secrets.json similarity index 100% rename from samples/groupssettings/client_secrets.json rename to tests/system/groupssettings/client_secrets.json diff --git a/samples/groupssettings/groupsettings.py b/tests/system/groupssettings/groupsettings.py similarity index 100% rename from samples/groupssettings/groupsettings.py rename to tests/system/groupssettings/groupsettings.py diff --git a/samples/maps_engine/README b/tests/system/maps_engine/README similarity index 100% rename from samples/maps_engine/README rename to tests/system/maps_engine/README diff --git a/samples/maps_engine/maps_engine.py b/tests/system/maps_engine/maps_engine.py similarity index 100% rename from samples/maps_engine/maps_engine.py rename to tests/system/maps_engine/maps_engine.py diff --git a/samples/maps_engine/polygons.dbf b/tests/system/maps_engine/polygons.dbf similarity index 100% rename from samples/maps_engine/polygons.dbf rename to tests/system/maps_engine/polygons.dbf diff --git a/samples/maps_engine/polygons.prj b/tests/system/maps_engine/polygons.prj similarity index 100% rename from samples/maps_engine/polygons.prj rename to tests/system/maps_engine/polygons.prj diff --git a/samples/maps_engine/polygons.shp b/tests/system/maps_engine/polygons.shp similarity index 100% rename from samples/maps_engine/polygons.shp rename to tests/system/maps_engine/polygons.shp diff --git a/samples/maps_engine/polygons.shx b/tests/system/maps_engine/polygons.shx similarity index 100% rename from samples/maps_engine/polygons.shx rename to tests/system/maps_engine/polygons.shx diff --git a/samples/plus/README b/tests/system/plus/README similarity index 100% rename from samples/plus/README rename to tests/system/plus/README diff --git a/samples/plus/client_secrets.json b/tests/system/plus/client_secrets.json similarity index 100% rename from samples/plus/client_secrets.json rename to tests/system/plus/client_secrets.json diff --git a/samples/plus/plus.py b/tests/system/plus/plus.py similarity index 100% rename from samples/plus/plus.py rename to tests/system/plus/plus.py diff --git a/samples/prediction/README b/tests/system/prediction/README similarity index 100% rename from samples/prediction/README rename to tests/system/prediction/README diff --git a/samples/prediction/client_secrets.json b/tests/system/prediction/client_secrets.json similarity index 100% rename from samples/prediction/client_secrets.json rename to tests/system/prediction/client_secrets.json diff --git a/samples/prediction/language_id.txt b/tests/system/prediction/language_id.txt similarity index 100% rename from samples/prediction/language_id.txt rename to tests/system/prediction/language_id.txt diff --git a/samples/prediction/prediction.py b/tests/system/prediction/prediction.py similarity index 100% rename from samples/prediction/prediction.py rename to tests/system/prediction/prediction.py diff --git a/samples/prediction/setup.sh b/tests/system/prediction/setup.sh similarity index 100% rename from samples/prediction/setup.sh rename to tests/system/prediction/setup.sh diff --git a/samples/searchconsole/README b/tests/system/searchconsole/README similarity index 100% rename from samples/searchconsole/README rename to tests/system/searchconsole/README diff --git a/samples/searchconsole/client_secrets.json b/tests/system/searchconsole/client_secrets.json similarity index 100% rename from samples/searchconsole/client_secrets.json rename to tests/system/searchconsole/client_secrets.json diff --git a/samples/searchconsole/search_analytics_api_sample.py b/tests/system/searchconsole/search_analytics_api_sample.py similarity index 100% rename from samples/searchconsole/search_analytics_api_sample.py rename to tests/system/searchconsole/search_analytics_api_sample.py diff --git a/samples/searchforshopping/README b/tests/system/searchforshopping/README similarity index 100% rename from samples/searchforshopping/README rename to tests/system/searchforshopping/README diff --git a/samples/searchforshopping/basic.py b/tests/system/searchforshopping/basic.py similarity index 100% rename from samples/searchforshopping/basic.py rename to tests/system/searchforshopping/basic.py diff --git a/samples/searchforshopping/crowding.py b/tests/system/searchforshopping/crowding.py similarity index 100% rename from samples/searchforshopping/crowding.py rename to tests/system/searchforshopping/crowding.py diff --git a/samples/searchforshopping/fulltextsearch.py b/tests/system/searchforshopping/fulltextsearch.py similarity index 100% rename from samples/searchforshopping/fulltextsearch.py rename to tests/system/searchforshopping/fulltextsearch.py diff --git a/samples/searchforshopping/histograms.py b/tests/system/searchforshopping/histograms.py similarity index 100% rename from samples/searchforshopping/histograms.py rename to tests/system/searchforshopping/histograms.py diff --git a/samples/searchforshopping/main.py b/tests/system/searchforshopping/main.py similarity index 100% rename from samples/searchforshopping/main.py rename to tests/system/searchforshopping/main.py diff --git a/samples/searchforshopping/pagination.py b/tests/system/searchforshopping/pagination.py similarity index 100% rename from samples/searchforshopping/pagination.py rename to tests/system/searchforshopping/pagination.py diff --git a/samples/searchforshopping/ranking.py b/tests/system/searchforshopping/ranking.py similarity index 100% rename from samples/searchforshopping/ranking.py rename to tests/system/searchforshopping/ranking.py diff --git a/samples/searchforshopping/restricting.py b/tests/system/searchforshopping/restricting.py similarity index 100% rename from samples/searchforshopping/restricting.py rename to tests/system/searchforshopping/restricting.py diff --git a/samples/service_account/README b/tests/system/service_account/README similarity index 100% rename from samples/service_account/README rename to tests/system/service_account/README diff --git a/samples/service_account/tasks.py b/tests/system/service_account/tasks.py similarity index 100% rename from samples/service_account/tasks.py rename to tests/system/service_account/tasks.py diff --git a/samples/storage/README.md b/tests/system/storage/README.md similarity index 100% rename from samples/storage/README.md rename to tests/system/storage/README.md diff --git a/samples/storage_serviceaccount_appengine/app.yaml b/tests/system/storage_serviceaccount_appengine/app.yaml similarity index 100% rename from samples/storage_serviceaccount_appengine/app.yaml rename to tests/system/storage_serviceaccount_appengine/app.yaml diff --git a/samples/storage_serviceaccount_appengine/listing.xsl b/tests/system/storage_serviceaccount_appengine/listing.xsl similarity index 100% rename from samples/storage_serviceaccount_appengine/listing.xsl rename to tests/system/storage_serviceaccount_appengine/listing.xsl diff --git a/samples/storage_serviceaccount_appengine/main.py b/tests/system/storage_serviceaccount_appengine/main.py similarity index 100% rename from samples/storage_serviceaccount_appengine/main.py rename to tests/system/storage_serviceaccount_appengine/main.py diff --git a/samples/tasks_appengine/README b/tests/system/tasks_appengine/README similarity index 100% rename from samples/tasks_appengine/README rename to tests/system/tasks_appengine/README diff --git a/samples/tasks_appengine/app.yaml b/tests/system/tasks_appengine/app.yaml similarity index 100% rename from samples/tasks_appengine/app.yaml rename to tests/system/tasks_appengine/app.yaml diff --git a/samples/tasks_appengine/css/style.css b/tests/system/tasks_appengine/css/style.css similarity index 100% rename from samples/tasks_appengine/css/style.css rename to tests/system/tasks_appengine/css/style.css diff --git a/samples/tasks_appengine/main.py b/tests/system/tasks_appengine/main.py similarity index 100% rename from samples/tasks_appengine/main.py rename to tests/system/tasks_appengine/main.py diff --git a/samples/tasks_appengine/settings.py.sample b/tests/system/tasks_appengine/settings.py.sample similarity index 100% rename from samples/tasks_appengine/settings.py.sample rename to tests/system/tasks_appengine/settings.py.sample diff --git a/samples/tasks_appengine/templates/index.html b/tests/system/tasks_appengine/templates/index.html similarity index 100% rename from samples/tasks_appengine/templates/index.html rename to tests/system/tasks_appengine/templates/index.html diff --git a/samples/translate/README b/tests/system/translate/README similarity index 100% rename from samples/translate/README rename to tests/system/translate/README diff --git a/samples/translate/main.py b/tests/system/translate/main.py similarity index 100% rename from samples/translate/main.py rename to tests/system/translate/main.py diff --git a/samples/urlshortener/README b/tests/system/urlshortener/README similarity index 100% rename from samples/urlshortener/README rename to tests/system/urlshortener/README diff --git a/samples/urlshortener/client_secrets.json b/tests/system/urlshortener/client_secrets.json similarity index 100% rename from samples/urlshortener/client_secrets.json rename to tests/system/urlshortener/client_secrets.json diff --git a/samples/urlshortener/urlshortener.py b/tests/system/urlshortener/urlshortener.py similarity index 100% rename from samples/urlshortener/urlshortener.py rename to tests/system/urlshortener/urlshortener.py diff --git a/samples/youtube/README.md b/tests/system/youtube/README.md similarity index 100% rename from samples/youtube/README.md rename to tests/system/youtube/README.md From fc7bc1d07eb5e92b1a9cd4cd3385e2d6e022d822 Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 16:14:23 +0000 Subject: [PATCH 02/17] fix: remove BUILD_SPECIFIC_GCLOUD_PROJECT and fix trampoline image --- .kokoro/system/lint/common.cfg | 2 +- .kokoro/system/python3.10/common.cfg | 8 +------- .kokoro/system/python3.11/common.cfg | 8 +------- .kokoro/system/python3.12/common.cfg | 8 +------- .kokoro/system/python3.13/common.cfg | 8 +------- .kokoro/system/python3.14/common.cfg | 8 +------- .kokoro/system/python3.7/common.cfg | 8 +------- .kokoro/system/python3.8/common.cfg | 8 +------- .kokoro/system/python3.9/common.cfg | 8 +------- 9 files changed, 9 insertions(+), 57 deletions(-) diff --git a/.kokoro/system/lint/common.cfg b/.kokoro/system/lint/common.cfg index 9aa497ad760..06d9478bea9 100644 --- a/.kokoro/system/lint/common.cfg +++ b/.kokoro/system/lint/common.cfg @@ -21,7 +21,7 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples diff --git a/.kokoro/system/python3.10/common.cfg b/.kokoro/system/python3.10/common.cfg index 1bfa724b0fd..cca4be56edb 100644 --- a/.kokoro/system/python3.10/common.cfg +++ b/.kokoro/system/python3.10/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.10" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-310" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-system.sh" @@ -27,7 +21,7 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples diff --git a/.kokoro/system/python3.11/common.cfg b/.kokoro/system/python3.11/common.cfg index a148cd72ec1..4617ccf9c3a 100644 --- a/.kokoro/system/python3.11/common.cfg +++ b/.kokoro/system/python3.11/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.11" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-311" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-system.sh" @@ -27,7 +21,7 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples diff --git a/.kokoro/system/python3.12/common.cfg b/.kokoro/system/python3.12/common.cfg index 65f0cb84cfc..78bbd8cda3b 100644 --- a/.kokoro/system/python3.12/common.cfg +++ b/.kokoro/system/python3.12/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.12" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-312" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-system.sh" @@ -27,7 +21,7 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples diff --git a/.kokoro/system/python3.13/common.cfg b/.kokoro/system/python3.13/common.cfg index 70a65c25a6f..ba706fb5744 100644 --- a/.kokoro/system/python3.13/common.cfg +++ b/.kokoro/system/python3.13/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.13" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-313" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-system.sh" @@ -27,7 +21,7 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples diff --git a/.kokoro/system/python3.14/common.cfg b/.kokoro/system/python3.14/common.cfg index 4f340cbc88e..dfb5887cd08 100644 --- a/.kokoro/system/python3.14/common.cfg +++ b/.kokoro/system/python3.14/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.14" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-314" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-system.sh" @@ -27,7 +21,7 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples diff --git a/.kokoro/system/python3.7/common.cfg b/.kokoro/system/python3.7/common.cfg index c446644a7c6..dc64bc4965f 100644 --- a/.kokoro/system/python3.7/common.cfg +++ b/.kokoro/system/python3.7/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.7" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-py37" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-system.sh" @@ -27,7 +21,7 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples diff --git a/.kokoro/system/python3.8/common.cfg b/.kokoro/system/python3.8/common.cfg index 189506b4ed8..9adbcd1281b 100644 --- a/.kokoro/system/python3.8/common.cfg +++ b/.kokoro/system/python3.8/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.8" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-py38" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-system.sh" @@ -27,7 +21,7 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples diff --git a/.kokoro/system/python3.9/common.cfg b/.kokoro/system/python3.9/common.cfg index 3d33079f494..8dfdc788bed 100644 --- a/.kokoro/system/python3.9/common.cfg +++ b/.kokoro/system/python3.9/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.9" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-py39" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-system.sh" @@ -27,7 +21,7 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples From f6826a0166dadf50e67742312452de3a85780040 Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 16:19:18 +0000 Subject: [PATCH 03/17] fix: restore .kokoro/samples path for Kokoro configs --- .kokoro/{system => samples}/lint/common.cfg | 0 .kokoro/{system => samples}/lint/continuous.cfg | 0 .kokoro/{system => samples}/lint/periodic.cfg | 0 .kokoro/{system => samples}/lint/presubmit.cfg | 0 .kokoro/{system => samples}/python3.10/common.cfg | 0 .kokoro/{system => samples}/python3.10/continuous.cfg | 0 .kokoro/{system => samples}/python3.10/periodic-head.cfg | 0 .kokoro/{system => samples}/python3.10/periodic.cfg | 0 .kokoro/{system => samples}/python3.10/presubmit.cfg | 0 .kokoro/{system => samples}/python3.11/common.cfg | 0 .kokoro/{system => samples}/python3.11/continuous.cfg | 0 .kokoro/{system => samples}/python3.11/periodic-head.cfg | 0 .kokoro/{system => samples}/python3.11/periodic.cfg | 0 .kokoro/{system => samples}/python3.11/presubmit.cfg | 0 .kokoro/{system => samples}/python3.12/common.cfg | 0 .kokoro/{system => samples}/python3.12/continuous.cfg | 0 .kokoro/{system => samples}/python3.12/periodic-head.cfg | 0 .kokoro/{system => samples}/python3.12/periodic.cfg | 0 .kokoro/{system => samples}/python3.12/presubmit.cfg | 0 .kokoro/{system => samples}/python3.13/common.cfg | 0 .kokoro/{system => samples}/python3.13/continuous.cfg | 0 .kokoro/{system => samples}/python3.13/periodic-head.cfg | 0 .kokoro/{system => samples}/python3.13/periodic.cfg | 0 .kokoro/{system => samples}/python3.13/presubmit.cfg | 0 .kokoro/{system => samples}/python3.14/common.cfg | 0 .kokoro/{system => samples}/python3.14/continuous.cfg | 0 .kokoro/{system => samples}/python3.14/periodic-head.cfg | 0 .kokoro/{system => samples}/python3.14/periodic.cfg | 0 .kokoro/{system => samples}/python3.14/presubmit.cfg | 0 .kokoro/{system => samples}/python3.7/common.cfg | 0 .kokoro/{system => samples}/python3.7/continuous.cfg | 0 .kokoro/{system => samples}/python3.7/periodic-head.cfg | 0 .kokoro/{system => samples}/python3.7/periodic.cfg | 0 .kokoro/{system => samples}/python3.7/presubmit.cfg | 0 .kokoro/{system => samples}/python3.8/common.cfg | 0 .kokoro/{system => samples}/python3.8/continuous.cfg | 0 .kokoro/{system => samples}/python3.8/periodic-head.cfg | 0 .kokoro/{system => samples}/python3.8/periodic.cfg | 0 .kokoro/{system => samples}/python3.8/presubmit.cfg | 0 .kokoro/{system => samples}/python3.9/common.cfg | 0 .kokoro/{system => samples}/python3.9/continuous.cfg | 0 .kokoro/{system => samples}/python3.9/periodic-head.cfg | 0 .kokoro/{system => samples}/python3.9/periodic.cfg | 0 .kokoro/{system => samples}/python3.9/presubmit.cfg | 0 44 files changed, 0 insertions(+), 0 deletions(-) rename .kokoro/{system => samples}/lint/common.cfg (100%) rename .kokoro/{system => samples}/lint/continuous.cfg (100%) rename .kokoro/{system => samples}/lint/periodic.cfg (100%) rename .kokoro/{system => samples}/lint/presubmit.cfg (100%) rename .kokoro/{system => samples}/python3.10/common.cfg (100%) rename .kokoro/{system => samples}/python3.10/continuous.cfg (100%) rename .kokoro/{system => samples}/python3.10/periodic-head.cfg (100%) rename .kokoro/{system => samples}/python3.10/periodic.cfg (100%) rename .kokoro/{system => samples}/python3.10/presubmit.cfg (100%) rename .kokoro/{system => samples}/python3.11/common.cfg (100%) rename .kokoro/{system => samples}/python3.11/continuous.cfg (100%) rename .kokoro/{system => samples}/python3.11/periodic-head.cfg (100%) rename .kokoro/{system => samples}/python3.11/periodic.cfg (100%) rename .kokoro/{system => samples}/python3.11/presubmit.cfg (100%) rename .kokoro/{system => samples}/python3.12/common.cfg (100%) rename .kokoro/{system => samples}/python3.12/continuous.cfg (100%) rename .kokoro/{system => samples}/python3.12/periodic-head.cfg (100%) rename .kokoro/{system => samples}/python3.12/periodic.cfg (100%) rename .kokoro/{system => samples}/python3.12/presubmit.cfg (100%) rename .kokoro/{system => samples}/python3.13/common.cfg (100%) rename .kokoro/{system => samples}/python3.13/continuous.cfg (100%) rename .kokoro/{system => samples}/python3.13/periodic-head.cfg (100%) rename .kokoro/{system => samples}/python3.13/periodic.cfg (100%) rename .kokoro/{system => samples}/python3.13/presubmit.cfg (100%) rename .kokoro/{system => samples}/python3.14/common.cfg (100%) rename .kokoro/{system => samples}/python3.14/continuous.cfg (100%) rename .kokoro/{system => samples}/python3.14/periodic-head.cfg (100%) rename .kokoro/{system => samples}/python3.14/periodic.cfg (100%) rename .kokoro/{system => samples}/python3.14/presubmit.cfg (100%) rename .kokoro/{system => samples}/python3.7/common.cfg (100%) rename .kokoro/{system => samples}/python3.7/continuous.cfg (100%) rename .kokoro/{system => samples}/python3.7/periodic-head.cfg (100%) rename .kokoro/{system => samples}/python3.7/periodic.cfg (100%) rename .kokoro/{system => samples}/python3.7/presubmit.cfg (100%) rename .kokoro/{system => samples}/python3.8/common.cfg (100%) rename .kokoro/{system => samples}/python3.8/continuous.cfg (100%) rename .kokoro/{system => samples}/python3.8/periodic-head.cfg (100%) rename .kokoro/{system => samples}/python3.8/periodic.cfg (100%) rename .kokoro/{system => samples}/python3.8/presubmit.cfg (100%) rename .kokoro/{system => samples}/python3.9/common.cfg (100%) rename .kokoro/{system => samples}/python3.9/continuous.cfg (100%) rename .kokoro/{system => samples}/python3.9/periodic-head.cfg (100%) rename .kokoro/{system => samples}/python3.9/periodic.cfg (100%) rename .kokoro/{system => samples}/python3.9/presubmit.cfg (100%) diff --git a/.kokoro/system/lint/common.cfg b/.kokoro/samples/lint/common.cfg similarity index 100% rename from .kokoro/system/lint/common.cfg rename to .kokoro/samples/lint/common.cfg diff --git a/.kokoro/system/lint/continuous.cfg b/.kokoro/samples/lint/continuous.cfg similarity index 100% rename from .kokoro/system/lint/continuous.cfg rename to .kokoro/samples/lint/continuous.cfg diff --git a/.kokoro/system/lint/periodic.cfg b/.kokoro/samples/lint/periodic.cfg similarity index 100% rename from .kokoro/system/lint/periodic.cfg rename to .kokoro/samples/lint/periodic.cfg diff --git a/.kokoro/system/lint/presubmit.cfg b/.kokoro/samples/lint/presubmit.cfg similarity index 100% rename from .kokoro/system/lint/presubmit.cfg rename to .kokoro/samples/lint/presubmit.cfg diff --git a/.kokoro/system/python3.10/common.cfg b/.kokoro/samples/python3.10/common.cfg similarity index 100% rename from .kokoro/system/python3.10/common.cfg rename to .kokoro/samples/python3.10/common.cfg diff --git a/.kokoro/system/python3.10/continuous.cfg b/.kokoro/samples/python3.10/continuous.cfg similarity index 100% rename from .kokoro/system/python3.10/continuous.cfg rename to .kokoro/samples/python3.10/continuous.cfg diff --git a/.kokoro/system/python3.10/periodic-head.cfg b/.kokoro/samples/python3.10/periodic-head.cfg similarity index 100% rename from .kokoro/system/python3.10/periodic-head.cfg rename to .kokoro/samples/python3.10/periodic-head.cfg diff --git a/.kokoro/system/python3.10/periodic.cfg b/.kokoro/samples/python3.10/periodic.cfg similarity index 100% rename from .kokoro/system/python3.10/periodic.cfg rename to .kokoro/samples/python3.10/periodic.cfg diff --git a/.kokoro/system/python3.10/presubmit.cfg b/.kokoro/samples/python3.10/presubmit.cfg similarity index 100% rename from .kokoro/system/python3.10/presubmit.cfg rename to .kokoro/samples/python3.10/presubmit.cfg diff --git a/.kokoro/system/python3.11/common.cfg b/.kokoro/samples/python3.11/common.cfg similarity index 100% rename from .kokoro/system/python3.11/common.cfg rename to .kokoro/samples/python3.11/common.cfg diff --git a/.kokoro/system/python3.11/continuous.cfg b/.kokoro/samples/python3.11/continuous.cfg similarity index 100% rename from .kokoro/system/python3.11/continuous.cfg rename to .kokoro/samples/python3.11/continuous.cfg diff --git a/.kokoro/system/python3.11/periodic-head.cfg b/.kokoro/samples/python3.11/periodic-head.cfg similarity index 100% rename from .kokoro/system/python3.11/periodic-head.cfg rename to .kokoro/samples/python3.11/periodic-head.cfg diff --git a/.kokoro/system/python3.11/periodic.cfg b/.kokoro/samples/python3.11/periodic.cfg similarity index 100% rename from .kokoro/system/python3.11/periodic.cfg rename to .kokoro/samples/python3.11/periodic.cfg diff --git a/.kokoro/system/python3.11/presubmit.cfg b/.kokoro/samples/python3.11/presubmit.cfg similarity index 100% rename from .kokoro/system/python3.11/presubmit.cfg rename to .kokoro/samples/python3.11/presubmit.cfg diff --git a/.kokoro/system/python3.12/common.cfg b/.kokoro/samples/python3.12/common.cfg similarity index 100% rename from .kokoro/system/python3.12/common.cfg rename to .kokoro/samples/python3.12/common.cfg diff --git a/.kokoro/system/python3.12/continuous.cfg b/.kokoro/samples/python3.12/continuous.cfg similarity index 100% rename from .kokoro/system/python3.12/continuous.cfg rename to .kokoro/samples/python3.12/continuous.cfg diff --git a/.kokoro/system/python3.12/periodic-head.cfg b/.kokoro/samples/python3.12/periodic-head.cfg similarity index 100% rename from .kokoro/system/python3.12/periodic-head.cfg rename to .kokoro/samples/python3.12/periodic-head.cfg diff --git a/.kokoro/system/python3.12/periodic.cfg b/.kokoro/samples/python3.12/periodic.cfg similarity index 100% rename from .kokoro/system/python3.12/periodic.cfg rename to .kokoro/samples/python3.12/periodic.cfg diff --git a/.kokoro/system/python3.12/presubmit.cfg b/.kokoro/samples/python3.12/presubmit.cfg similarity index 100% rename from .kokoro/system/python3.12/presubmit.cfg rename to .kokoro/samples/python3.12/presubmit.cfg diff --git a/.kokoro/system/python3.13/common.cfg b/.kokoro/samples/python3.13/common.cfg similarity index 100% rename from .kokoro/system/python3.13/common.cfg rename to .kokoro/samples/python3.13/common.cfg diff --git a/.kokoro/system/python3.13/continuous.cfg b/.kokoro/samples/python3.13/continuous.cfg similarity index 100% rename from .kokoro/system/python3.13/continuous.cfg rename to .kokoro/samples/python3.13/continuous.cfg diff --git a/.kokoro/system/python3.13/periodic-head.cfg b/.kokoro/samples/python3.13/periodic-head.cfg similarity index 100% rename from .kokoro/system/python3.13/periodic-head.cfg rename to .kokoro/samples/python3.13/periodic-head.cfg diff --git a/.kokoro/system/python3.13/periodic.cfg b/.kokoro/samples/python3.13/periodic.cfg similarity index 100% rename from .kokoro/system/python3.13/periodic.cfg rename to .kokoro/samples/python3.13/periodic.cfg diff --git a/.kokoro/system/python3.13/presubmit.cfg b/.kokoro/samples/python3.13/presubmit.cfg similarity index 100% rename from .kokoro/system/python3.13/presubmit.cfg rename to .kokoro/samples/python3.13/presubmit.cfg diff --git a/.kokoro/system/python3.14/common.cfg b/.kokoro/samples/python3.14/common.cfg similarity index 100% rename from .kokoro/system/python3.14/common.cfg rename to .kokoro/samples/python3.14/common.cfg diff --git a/.kokoro/system/python3.14/continuous.cfg b/.kokoro/samples/python3.14/continuous.cfg similarity index 100% rename from .kokoro/system/python3.14/continuous.cfg rename to .kokoro/samples/python3.14/continuous.cfg diff --git a/.kokoro/system/python3.14/periodic-head.cfg b/.kokoro/samples/python3.14/periodic-head.cfg similarity index 100% rename from .kokoro/system/python3.14/periodic-head.cfg rename to .kokoro/samples/python3.14/periodic-head.cfg diff --git a/.kokoro/system/python3.14/periodic.cfg b/.kokoro/samples/python3.14/periodic.cfg similarity index 100% rename from .kokoro/system/python3.14/periodic.cfg rename to .kokoro/samples/python3.14/periodic.cfg diff --git a/.kokoro/system/python3.14/presubmit.cfg b/.kokoro/samples/python3.14/presubmit.cfg similarity index 100% rename from .kokoro/system/python3.14/presubmit.cfg rename to .kokoro/samples/python3.14/presubmit.cfg diff --git a/.kokoro/system/python3.7/common.cfg b/.kokoro/samples/python3.7/common.cfg similarity index 100% rename from .kokoro/system/python3.7/common.cfg rename to .kokoro/samples/python3.7/common.cfg diff --git a/.kokoro/system/python3.7/continuous.cfg b/.kokoro/samples/python3.7/continuous.cfg similarity index 100% rename from .kokoro/system/python3.7/continuous.cfg rename to .kokoro/samples/python3.7/continuous.cfg diff --git a/.kokoro/system/python3.7/periodic-head.cfg b/.kokoro/samples/python3.7/periodic-head.cfg similarity index 100% rename from .kokoro/system/python3.7/periodic-head.cfg rename to .kokoro/samples/python3.7/periodic-head.cfg diff --git a/.kokoro/system/python3.7/periodic.cfg b/.kokoro/samples/python3.7/periodic.cfg similarity index 100% rename from .kokoro/system/python3.7/periodic.cfg rename to .kokoro/samples/python3.7/periodic.cfg diff --git a/.kokoro/system/python3.7/presubmit.cfg b/.kokoro/samples/python3.7/presubmit.cfg similarity index 100% rename from .kokoro/system/python3.7/presubmit.cfg rename to .kokoro/samples/python3.7/presubmit.cfg diff --git a/.kokoro/system/python3.8/common.cfg b/.kokoro/samples/python3.8/common.cfg similarity index 100% rename from .kokoro/system/python3.8/common.cfg rename to .kokoro/samples/python3.8/common.cfg diff --git a/.kokoro/system/python3.8/continuous.cfg b/.kokoro/samples/python3.8/continuous.cfg similarity index 100% rename from .kokoro/system/python3.8/continuous.cfg rename to .kokoro/samples/python3.8/continuous.cfg diff --git a/.kokoro/system/python3.8/periodic-head.cfg b/.kokoro/samples/python3.8/periodic-head.cfg similarity index 100% rename from .kokoro/system/python3.8/periodic-head.cfg rename to .kokoro/samples/python3.8/periodic-head.cfg diff --git a/.kokoro/system/python3.8/periodic.cfg b/.kokoro/samples/python3.8/periodic.cfg similarity index 100% rename from .kokoro/system/python3.8/periodic.cfg rename to .kokoro/samples/python3.8/periodic.cfg diff --git a/.kokoro/system/python3.8/presubmit.cfg b/.kokoro/samples/python3.8/presubmit.cfg similarity index 100% rename from .kokoro/system/python3.8/presubmit.cfg rename to .kokoro/samples/python3.8/presubmit.cfg diff --git a/.kokoro/system/python3.9/common.cfg b/.kokoro/samples/python3.9/common.cfg similarity index 100% rename from .kokoro/system/python3.9/common.cfg rename to .kokoro/samples/python3.9/common.cfg diff --git a/.kokoro/system/python3.9/continuous.cfg b/.kokoro/samples/python3.9/continuous.cfg similarity index 100% rename from .kokoro/system/python3.9/continuous.cfg rename to .kokoro/samples/python3.9/continuous.cfg diff --git a/.kokoro/system/python3.9/periodic-head.cfg b/.kokoro/samples/python3.9/periodic-head.cfg similarity index 100% rename from .kokoro/system/python3.9/periodic-head.cfg rename to .kokoro/samples/python3.9/periodic-head.cfg diff --git a/.kokoro/system/python3.9/periodic.cfg b/.kokoro/samples/python3.9/periodic.cfg similarity index 100% rename from .kokoro/system/python3.9/periodic.cfg rename to .kokoro/samples/python3.9/periodic.cfg diff --git a/.kokoro/system/python3.9/presubmit.cfg b/.kokoro/samples/python3.9/presubmit.cfg similarity index 100% rename from .kokoro/system/python3.9/presubmit.cfg rename to .kokoro/samples/python3.9/presubmit.cfg From d8fc4fe53810308f9bf117400859a011a99f6c76 Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 17:27:20 +0000 Subject: [PATCH 04/17] fix: use python3 instead of python3.9 in test runner --- .kokoro/test-system-impl.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.kokoro/test-system-impl.sh b/.kokoro/test-system-impl.sh index b56d23607cc..a4fbcf3dcfb 100755 --- a/.kokoro/test-system-impl.sh +++ b/.kokoro/test-system-impl.sh @@ -29,7 +29,7 @@ export PYTHONUNBUFFERED=1 env | grep KOKORO # Install nox -python3.9 -m pip install --upgrade --quiet nox virtualenv==20.26.6 +python3 -m pip install --upgrade --quiet nox virtualenv==20.26.6 # Setup project id. if [[ -f "${KOKORO_GFILE_DIR}/project-id.json" ]]; then @@ -58,7 +58,7 @@ for file in tests/system/**/requirements.txt; do echo "- testing $file" echo "------------------------------------------------------------" - python3.9 -m nox -s "$RUN_TESTS_SESSION" + python3 -m nox -s "$RUN_TESTS_SESSION" EXIT=$? if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then From 2fb2dfdee1a94a810e51be2c9836b4b3f957fbcb Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 17:37:55 +0000 Subject: [PATCH 05/17] fix: use --user for pip install to avoid permission denied --- .kokoro/test-system-impl.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.kokoro/test-system-impl.sh b/.kokoro/test-system-impl.sh index a4fbcf3dcfb..0d3d6822ede 100755 --- a/.kokoro/test-system-impl.sh +++ b/.kokoro/test-system-impl.sh @@ -29,7 +29,7 @@ export PYTHONUNBUFFERED=1 env | grep KOKORO # Install nox -python3 -m pip install --upgrade --quiet nox virtualenv==20.26.6 +python3 -m pip install --user --upgrade --quiet nox virtualenv==20.26.6 # Setup project id. if [[ -f "${KOKORO_GFILE_DIR}/project-id.json" ]]; then From afeda175943d5066bcb26ab1401ca0ee360ff75d Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 17:53:30 +0000 Subject: [PATCH 06/17] fix: remove pip install nox as it fails in virtualenv and nox is already installed --- .kokoro/test-system-impl.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/.kokoro/test-system-impl.sh b/.kokoro/test-system-impl.sh index 0d3d6822ede..d5877612348 100755 --- a/.kokoro/test-system-impl.sh +++ b/.kokoro/test-system-impl.sh @@ -29,7 +29,6 @@ export PYTHONUNBUFFERED=1 env | grep KOKORO # Install nox -python3 -m pip install --user --upgrade --quiet nox virtualenv==20.26.6 # Setup project id. if [[ -f "${KOKORO_GFILE_DIR}/project-id.json" ]]; then From 5eae65114e569406aded2d24c2c3dcde80e0f3f7 Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 18:55:46 +0000 Subject: [PATCH 07/17] fix: use trampoline.sh to properly initialize python-multi environment --- .kokoro/samples/lint/common.cfg | 2 +- .kokoro/samples/python3.10/common.cfg | 2 +- .kokoro/samples/python3.11/common.cfg | 2 +- .kokoro/samples/python3.12/common.cfg | 2 +- .kokoro/samples/python3.13/common.cfg | 2 +- .kokoro/samples/python3.14/common.cfg | 2 +- .kokoro/samples/python3.7/common.cfg | 2 +- .kokoro/samples/python3.8/common.cfg | 2 +- .kokoro/samples/python3.9/common.cfg | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.kokoro/samples/lint/common.cfg b/.kokoro/samples/lint/common.cfg index 06d9478bea9..27ad69d7960 100644 --- a/.kokoro/samples/lint/common.cfg +++ b/.kokoro/samples/lint/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.10/common.cfg b/.kokoro/samples/python3.10/common.cfg index cca4be56edb..8a1c31c8a6f 100644 --- a/.kokoro/samples/python3.10/common.cfg +++ b/.kokoro/samples/python3.10/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.11/common.cfg b/.kokoro/samples/python3.11/common.cfg index 4617ccf9c3a..21c0607ffc2 100644 --- a/.kokoro/samples/python3.11/common.cfg +++ b/.kokoro/samples/python3.11/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.12/common.cfg b/.kokoro/samples/python3.12/common.cfg index 78bbd8cda3b..faf2c5a6e1b 100644 --- a/.kokoro/samples/python3.12/common.cfg +++ b/.kokoro/samples/python3.12/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.13/common.cfg b/.kokoro/samples/python3.13/common.cfg index ba706fb5744..def422c90ef 100644 --- a/.kokoro/samples/python3.13/common.cfg +++ b/.kokoro/samples/python3.13/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" +build_file: "google-api-python-client/.kokoro/trampoline.sh" diff --git a/.kokoro/samples/python3.14/common.cfg b/.kokoro/samples/python3.14/common.cfg index dfb5887cd08..af838faf89b 100644 --- a/.kokoro/samples/python3.14/common.cfg +++ b/.kokoro/samples/python3.14/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" +build_file: "google-api-python-client/.kokoro/trampoline.sh" diff --git a/.kokoro/samples/python3.7/common.cfg b/.kokoro/samples/python3.7/common.cfg index dc64bc4965f..0c5bbcf424b 100644 --- a/.kokoro/samples/python3.7/common.cfg +++ b/.kokoro/samples/python3.7/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.8/common.cfg b/.kokoro/samples/python3.8/common.cfg index 9adbcd1281b..e49443d0c02 100644 --- a/.kokoro/samples/python3.8/common.cfg +++ b/.kokoro/samples/python3.8/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.9/common.cfg b/.kokoro/samples/python3.9/common.cfg index 8dfdc788bed..5a23ad69004 100644 --- a/.kokoro/samples/python3.9/common.cfg +++ b/.kokoro/samples/python3.9/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file From dec658ce687f60691512917f743412bca6d9e381 Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 19:02:40 +0000 Subject: [PATCH 08/17] fix: change directory to project root before executing test-system-impl --- .kokoro/test-system-against-head.sh | 3 +++ .kokoro/test-system.sh | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.kokoro/test-system-against-head.sh b/.kokoro/test-system-against-head.sh index 169f65b88d2..cf18d2af101 100755 --- a/.kokoro/test-system-against-head.sh +++ b/.kokoro/test-system-against-head.sh @@ -23,4 +23,7 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar +export PROJECT_ROOT=$(realpath $(dirname "${BASH_SOURCE[0]}")/..) +cd "${PROJECT_ROOT}" + exec .kokoro/test-system-impl.sh diff --git a/.kokoro/test-system.sh b/.kokoro/test-system.sh index bfed68c5ffe..a6cbe86c5b3 100755 --- a/.kokoro/test-system.sh +++ b/.kokoro/test-system.sh @@ -24,6 +24,9 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar +export PROJECT_ROOT=$(realpath $(dirname "${BASH_SOURCE[0]}")/..) +cd "${PROJECT_ROOT}" + # Run periodic samples tests at latest release if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then # preserving the test runner implementation. From 28c58a6a15555bc0bd1e449f3435e0b613c42768 Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 19:15:16 +0000 Subject: [PATCH 09/17] fix: set CLOUD_STORAGE_BUCKET env var for compute tests --- .kokoro/test-system-impl.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.kokoro/test-system-impl.sh b/.kokoro/test-system-impl.sh index d5877612348..a19f1164fbe 100755 --- a/.kokoro/test-system-impl.sh +++ b/.kokoro/test-system-impl.sh @@ -35,6 +35,10 @@ if [[ -f "${KOKORO_GFILE_DIR}/project-id.json" ]]; then export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json") export GOOGLE_CLOUD_PROJECT="${PROJECT_ID}" gcloud config set project "$PROJECT_ID" + + # Compute tests require CLOUD_STORAGE_BUCKET. We reuse a fixed bucket name + # within the project so it doesn't leak thousands of buckets over time. + export CLOUD_STORAGE_BUCKET="${PROJECT_ID}-api-client-compute" fi # Setup service account credentials. From 756928bb5b8c61f4ba5364842c6b1b5c7486c1da Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 20:43:44 +0000 Subject: [PATCH 10/17] revert: move tests/system back to samples --- .kokoro/test-system-impl.sh | 7 ++++--- Makefile | 6 +++--- renovate.json | 2 +- samples-index.py | 2 +- {tests/system => samples}/README.md | 0 {tests/system => samples}/adexchangebuyer/README.md | 0 {tests/system => samples}/adexchangeseller/README | 0 .../adexchangeseller/client_secrets.json | 0 .../adexchangeseller/generate_report.py | 0 .../adexchangeseller/generate_report_with_paging.py | 0 .../adexchangeseller/get_all_ad_clients.py | 0 .../adexchangeseller/get_all_ad_units.py | 0 .../get_all_ad_units_for_custom_channel.py | 0 .../adexchangeseller/get_all_alerts.py | 0 .../adexchangeseller/get_all_custom_channels.py | 0 .../get_all_custom_channels_for_ad_unit.py | 0 .../adexchangeseller/get_all_dimensions.py | 0 .../adexchangeseller/get_all_metrics.py | 0 .../adexchangeseller/get_all_preferred_deals.py | 0 .../adexchangeseller/get_all_saved_reports.py | 0 .../adexchangeseller/get_all_url_channels.py | 0 {tests/system => samples}/adsense/README.md | 0 {tests/system => samples}/adsensehost/README.md | 0 {tests/system => samples}/analytics/README | 0 .../analytics/client_secrets.json | 0 .../analytics/core_reporting_v3_reference.py | 0 .../analytics/hello_analytics_api_v3.py | 0 .../analytics/management_v3_reference.py | 0 {tests/system => samples}/appengine/README | 0 {tests/system => samples}/appengine/app.yaml | 0 .../appengine/client_secrets.json | 0 {tests/system => samples}/appengine/grant.html | 0 {tests/system => samples}/appengine/index.yaml | 0 {tests/system => samples}/appengine/main.py | 0 {tests/system => samples}/appengine/welcome.html | 0 {tests/system => samples}/audit/README | 0 {tests/system => samples}/audit/audit.py | 0 {tests/system => samples}/audit/client_secrets.json | 0 {tests/system => samples}/blogger/README | 0 {tests/system => samples}/blogger/blogger.py | 0 .../system => samples}/blogger/client_secrets.json | 0 {tests/system => samples}/calendar_api/README | 0 .../calendar_api/calendar_sample.py | 0 .../calendar_api/client_secrets.json | 0 {tests/system => samples}/compute/README.md | 0 .../system => samples}/compute/create_instance.py | 0 .../compute/create_instance_test.py | 0 {tests/system => samples}/compute/noxfile.py | 0 .../compute/requirements-test.txt | 0 {tests/system => samples}/compute/requirements.txt | 0 {tests/system => samples}/compute/startup-script.sh | 0 {tests/system => samples}/coordinate/README | 0 .../coordinate/client_secrets.json | 0 {tests/system => samples}/coordinate/coordinate.py | 0 {tests/system => samples}/customsearch/README | 0 {tests/system => samples}/customsearch/main.py | 0 {tests/system => samples}/dfareporting/README.md | 0 {tests/system => samples}/groupssettings/README | 0 .../groupssettings/client_secrets.json | 0 .../groupssettings/groupsettings.py | 0 {tests/system => samples}/maps_engine/README | 0 .../system => samples}/maps_engine/maps_engine.py | 0 {tests/system => samples}/maps_engine/polygons.dbf | Bin {tests/system => samples}/maps_engine/polygons.prj | 0 {tests/system => samples}/maps_engine/polygons.shp | Bin {tests/system => samples}/maps_engine/polygons.shx | Bin {tests/system => samples}/plus/README | 0 {tests/system => samples}/plus/client_secrets.json | 0 {tests/system => samples}/plus/plus.py | 0 {tests/system => samples}/prediction/README | 0 .../prediction/client_secrets.json | 0 .../system => samples}/prediction/language_id.txt | 0 {tests/system => samples}/prediction/prediction.py | 0 {tests/system => samples}/prediction/setup.sh | 0 {tests/system => samples}/searchconsole/README | 0 .../searchconsole/client_secrets.json | 0 .../searchconsole/search_analytics_api_sample.py | 0 {tests/system => samples}/searchforshopping/README | 0 .../system => samples}/searchforshopping/basic.py | 0 .../searchforshopping/crowding.py | 0 .../searchforshopping/fulltextsearch.py | 0 .../searchforshopping/histograms.py | 0 {tests/system => samples}/searchforshopping/main.py | 0 .../searchforshopping/pagination.py | 0 .../system => samples}/searchforshopping/ranking.py | 0 .../searchforshopping/restricting.py | 0 {tests/system => samples}/service_account/README | 0 {tests/system => samples}/service_account/tasks.py | 0 {tests/system => samples}/storage/README.md | 0 .../storage_serviceaccount_appengine/app.yaml | 0 .../storage_serviceaccount_appengine/listing.xsl | 0 .../storage_serviceaccount_appengine/main.py | 0 {tests/system => samples}/tasks_appengine/README | 0 {tests/system => samples}/tasks_appengine/app.yaml | 0 .../tasks_appengine/css/style.css | 0 {tests/system => samples}/tasks_appengine/main.py | 0 .../tasks_appengine/settings.py.sample | 0 .../tasks_appengine/templates/index.html | 0 {tests/system => samples}/translate/README | 0 {tests/system => samples}/translate/main.py | 0 {tests/system => samples}/urlshortener/README | 0 .../urlshortener/client_secrets.json | 0 .../system => samples}/urlshortener/urlshortener.py | 0 {tests/system => samples}/youtube/README.md | 0 104 files changed, 9 insertions(+), 8 deletions(-) rename {tests/system => samples}/README.md (100%) rename {tests/system => samples}/adexchangebuyer/README.md (100%) rename {tests/system => samples}/adexchangeseller/README (100%) rename {tests/system => samples}/adexchangeseller/client_secrets.json (100%) rename {tests/system => samples}/adexchangeseller/generate_report.py (100%) rename {tests/system => samples}/adexchangeseller/generate_report_with_paging.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_ad_clients.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_ad_units.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_ad_units_for_custom_channel.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_alerts.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_custom_channels.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_custom_channels_for_ad_unit.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_dimensions.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_metrics.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_preferred_deals.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_saved_reports.py (100%) rename {tests/system => samples}/adexchangeseller/get_all_url_channels.py (100%) rename {tests/system => samples}/adsense/README.md (100%) rename {tests/system => samples}/adsensehost/README.md (100%) rename {tests/system => samples}/analytics/README (100%) rename {tests/system => samples}/analytics/client_secrets.json (100%) rename {tests/system => samples}/analytics/core_reporting_v3_reference.py (100%) rename {tests/system => samples}/analytics/hello_analytics_api_v3.py (100%) rename {tests/system => samples}/analytics/management_v3_reference.py (100%) rename {tests/system => samples}/appengine/README (100%) rename {tests/system => samples}/appengine/app.yaml (100%) rename {tests/system => samples}/appengine/client_secrets.json (100%) rename {tests/system => samples}/appengine/grant.html (100%) rename {tests/system => samples}/appengine/index.yaml (100%) rename {tests/system => samples}/appengine/main.py (100%) rename {tests/system => samples}/appengine/welcome.html (100%) rename {tests/system => samples}/audit/README (100%) rename {tests/system => samples}/audit/audit.py (100%) rename {tests/system => samples}/audit/client_secrets.json (100%) rename {tests/system => samples}/blogger/README (100%) rename {tests/system => samples}/blogger/blogger.py (100%) rename {tests/system => samples}/blogger/client_secrets.json (100%) rename {tests/system => samples}/calendar_api/README (100%) rename {tests/system => samples}/calendar_api/calendar_sample.py (100%) rename {tests/system => samples}/calendar_api/client_secrets.json (100%) rename {tests/system => samples}/compute/README.md (100%) rename {tests/system => samples}/compute/create_instance.py (100%) rename {tests/system => samples}/compute/create_instance_test.py (100%) rename {tests/system => samples}/compute/noxfile.py (100%) rename {tests/system => samples}/compute/requirements-test.txt (100%) rename {tests/system => samples}/compute/requirements.txt (100%) rename {tests/system => samples}/compute/startup-script.sh (100%) rename {tests/system => samples}/coordinate/README (100%) rename {tests/system => samples}/coordinate/client_secrets.json (100%) rename {tests/system => samples}/coordinate/coordinate.py (100%) rename {tests/system => samples}/customsearch/README (100%) rename {tests/system => samples}/customsearch/main.py (100%) rename {tests/system => samples}/dfareporting/README.md (100%) rename {tests/system => samples}/groupssettings/README (100%) rename {tests/system => samples}/groupssettings/client_secrets.json (100%) rename {tests/system => samples}/groupssettings/groupsettings.py (100%) rename {tests/system => samples}/maps_engine/README (100%) rename {tests/system => samples}/maps_engine/maps_engine.py (100%) rename {tests/system => samples}/maps_engine/polygons.dbf (100%) rename {tests/system => samples}/maps_engine/polygons.prj (100%) rename {tests/system => samples}/maps_engine/polygons.shp (100%) rename {tests/system => samples}/maps_engine/polygons.shx (100%) rename {tests/system => samples}/plus/README (100%) rename {tests/system => samples}/plus/client_secrets.json (100%) rename {tests/system => samples}/plus/plus.py (100%) rename {tests/system => samples}/prediction/README (100%) rename {tests/system => samples}/prediction/client_secrets.json (100%) rename {tests/system => samples}/prediction/language_id.txt (100%) rename {tests/system => samples}/prediction/prediction.py (100%) rename {tests/system => samples}/prediction/setup.sh (100%) rename {tests/system => samples}/searchconsole/README (100%) rename {tests/system => samples}/searchconsole/client_secrets.json (100%) rename {tests/system => samples}/searchconsole/search_analytics_api_sample.py (100%) rename {tests/system => samples}/searchforshopping/README (100%) rename {tests/system => samples}/searchforshopping/basic.py (100%) rename {tests/system => samples}/searchforshopping/crowding.py (100%) rename {tests/system => samples}/searchforshopping/fulltextsearch.py (100%) rename {tests/system => samples}/searchforshopping/histograms.py (100%) rename {tests/system => samples}/searchforshopping/main.py (100%) rename {tests/system => samples}/searchforshopping/pagination.py (100%) rename {tests/system => samples}/searchforshopping/ranking.py (100%) rename {tests/system => samples}/searchforshopping/restricting.py (100%) rename {tests/system => samples}/service_account/README (100%) rename {tests/system => samples}/service_account/tasks.py (100%) rename {tests/system => samples}/storage/README.md (100%) rename {tests/system => samples}/storage_serviceaccount_appengine/app.yaml (100%) rename {tests/system => samples}/storage_serviceaccount_appengine/listing.xsl (100%) rename {tests/system => samples}/storage_serviceaccount_appengine/main.py (100%) rename {tests/system => samples}/tasks_appengine/README (100%) rename {tests/system => samples}/tasks_appengine/app.yaml (100%) rename {tests/system => samples}/tasks_appengine/css/style.css (100%) rename {tests/system => samples}/tasks_appengine/main.py (100%) rename {tests/system => samples}/tasks_appengine/settings.py.sample (100%) rename {tests/system => samples}/tasks_appengine/templates/index.html (100%) rename {tests/system => samples}/translate/README (100%) rename {tests/system => samples}/translate/main.py (100%) rename {tests/system => samples}/urlshortener/README (100%) rename {tests/system => samples}/urlshortener/client_secrets.json (100%) rename {tests/system => samples}/urlshortener/urlshortener.py (100%) rename {tests/system => samples}/youtube/README.md (100%) diff --git a/.kokoro/test-system-impl.sh b/.kokoro/test-system-impl.sh index a19f1164fbe..d61e7b6ebe2 100755 --- a/.kokoro/test-system-impl.sh +++ b/.kokoro/test-system-impl.sh @@ -17,8 +17,8 @@ set -eo pipefail shopt -s globstar # Exit early if samples don't exist -if ! find tests/system -name 'requirements.txt' | grep -q .; then - echo "No tests run. './tests/system/**/requirements.txt' not found" +if ! find samples -name 'requirements.txt' | grep -q .; then + echo "No tests run. './samples/**/requirements.txt' not found" exit 0 fi @@ -52,7 +52,8 @@ echo -e "\n******************** TESTING PROJECTS ********************" set +e RTN=0 ROOT=$(pwd) -for file in tests/system/**/requirements.txt; do +# Find all requirements.txt in the samples directory (may break on whitespace). +for file in samples/**/requirements.txt; do cd "$ROOT" file=$(dirname "$file") cd "$file" diff --git a/Makefile b/Makefile index 32a65ac76f4..a4b03289a72 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ pep8: - find googleapiclient tests/system -name "*.py" | xargs pep8 --ignore=E111,E202 + find googleapiclient samples -name "*.py" | xargs pep8 --ignore=E111,E202 APP_ENGINE_PATH=../google_appengine @@ -32,8 +32,8 @@ prerelease: python expandsymlinks.py cd snapshot; python setup.py clean cd snapshot; python setup.py sdist --formats=gztar,zip bdist_wheel --universal - cd snapshot; tar czf google-api-python-client-samples-$(shell python setup.py --version).tar.gz tests/system - cd snapshot; zip -r google-api-python-client-samples-$(shell python setup.py --version).zip tests/system + cd snapshot; tar czf google-api-python-client-samples-$(shell python setup.py --version).tar.gz samples + cd snapshot; zip -r google-api-python-client-samples-$(shell python setup.py --version).zip samples .PHONY: release diff --git a/renovate.json b/renovate.json index 57b501a47d6..c7875c469bd 100644 --- a/renovate.json +++ b/renovate.json @@ -7,6 +7,6 @@ ], "ignorePaths": [".pre-commit-config.yaml", ".kokoro/requirements.txt", "setup.py", ".github/workflows/unittest.yml"], "pip_requirements": { - "fileMatch": ["requirements-test.txt", "tests/system/[\\S/]*constraints.txt", "tests/system/[\\S/]*constraints-test.txt"] + "fileMatch": ["requirements-test.txt", "samples/[\\S/]*constraints.txt", "samples/[\\S/]*constraints-test.txt"] } } diff --git a/samples-index.py b/samples-index.py index 333bd6ea48e..9c28405ffb2 100644 --- a/samples-index.py +++ b/samples-index.py @@ -198,7 +198,7 @@ def scan_readme_files(dirname): def main(): # Get all the information we need out of the README files in the samples. - samples, keyword_set = scan_readme_files("./tests/system") + samples, keyword_set = scan_readme_files("./samples") # Now build a wiki page with all that information. Accumulate all the # information as string to be concatenated when were done. diff --git a/tests/system/README.md b/samples/README.md similarity index 100% rename from tests/system/README.md rename to samples/README.md diff --git a/tests/system/adexchangebuyer/README.md b/samples/adexchangebuyer/README.md similarity index 100% rename from tests/system/adexchangebuyer/README.md rename to samples/adexchangebuyer/README.md diff --git a/tests/system/adexchangeseller/README b/samples/adexchangeseller/README similarity index 100% rename from tests/system/adexchangeseller/README rename to samples/adexchangeseller/README diff --git a/tests/system/adexchangeseller/client_secrets.json b/samples/adexchangeseller/client_secrets.json similarity index 100% rename from tests/system/adexchangeseller/client_secrets.json rename to samples/adexchangeseller/client_secrets.json diff --git a/tests/system/adexchangeseller/generate_report.py b/samples/adexchangeseller/generate_report.py similarity index 100% rename from tests/system/adexchangeseller/generate_report.py rename to samples/adexchangeseller/generate_report.py diff --git a/tests/system/adexchangeseller/generate_report_with_paging.py b/samples/adexchangeseller/generate_report_with_paging.py similarity index 100% rename from tests/system/adexchangeseller/generate_report_with_paging.py rename to samples/adexchangeseller/generate_report_with_paging.py diff --git a/tests/system/adexchangeseller/get_all_ad_clients.py b/samples/adexchangeseller/get_all_ad_clients.py similarity index 100% rename from tests/system/adexchangeseller/get_all_ad_clients.py rename to samples/adexchangeseller/get_all_ad_clients.py diff --git a/tests/system/adexchangeseller/get_all_ad_units.py b/samples/adexchangeseller/get_all_ad_units.py similarity index 100% rename from tests/system/adexchangeseller/get_all_ad_units.py rename to samples/adexchangeseller/get_all_ad_units.py diff --git a/tests/system/adexchangeseller/get_all_ad_units_for_custom_channel.py b/samples/adexchangeseller/get_all_ad_units_for_custom_channel.py similarity index 100% rename from tests/system/adexchangeseller/get_all_ad_units_for_custom_channel.py rename to samples/adexchangeseller/get_all_ad_units_for_custom_channel.py diff --git a/tests/system/adexchangeseller/get_all_alerts.py b/samples/adexchangeseller/get_all_alerts.py similarity index 100% rename from tests/system/adexchangeseller/get_all_alerts.py rename to samples/adexchangeseller/get_all_alerts.py diff --git a/tests/system/adexchangeseller/get_all_custom_channels.py b/samples/adexchangeseller/get_all_custom_channels.py similarity index 100% rename from tests/system/adexchangeseller/get_all_custom_channels.py rename to samples/adexchangeseller/get_all_custom_channels.py diff --git a/tests/system/adexchangeseller/get_all_custom_channels_for_ad_unit.py b/samples/adexchangeseller/get_all_custom_channels_for_ad_unit.py similarity index 100% rename from tests/system/adexchangeseller/get_all_custom_channels_for_ad_unit.py rename to samples/adexchangeseller/get_all_custom_channels_for_ad_unit.py diff --git a/tests/system/adexchangeseller/get_all_dimensions.py b/samples/adexchangeseller/get_all_dimensions.py similarity index 100% rename from tests/system/adexchangeseller/get_all_dimensions.py rename to samples/adexchangeseller/get_all_dimensions.py diff --git a/tests/system/adexchangeseller/get_all_metrics.py b/samples/adexchangeseller/get_all_metrics.py similarity index 100% rename from tests/system/adexchangeseller/get_all_metrics.py rename to samples/adexchangeseller/get_all_metrics.py diff --git a/tests/system/adexchangeseller/get_all_preferred_deals.py b/samples/adexchangeseller/get_all_preferred_deals.py similarity index 100% rename from tests/system/adexchangeseller/get_all_preferred_deals.py rename to samples/adexchangeseller/get_all_preferred_deals.py diff --git a/tests/system/adexchangeseller/get_all_saved_reports.py b/samples/adexchangeseller/get_all_saved_reports.py similarity index 100% rename from tests/system/adexchangeseller/get_all_saved_reports.py rename to samples/adexchangeseller/get_all_saved_reports.py diff --git a/tests/system/adexchangeseller/get_all_url_channels.py b/samples/adexchangeseller/get_all_url_channels.py similarity index 100% rename from tests/system/adexchangeseller/get_all_url_channels.py rename to samples/adexchangeseller/get_all_url_channels.py diff --git a/tests/system/adsense/README.md b/samples/adsense/README.md similarity index 100% rename from tests/system/adsense/README.md rename to samples/adsense/README.md diff --git a/tests/system/adsensehost/README.md b/samples/adsensehost/README.md similarity index 100% rename from tests/system/adsensehost/README.md rename to samples/adsensehost/README.md diff --git a/tests/system/analytics/README b/samples/analytics/README similarity index 100% rename from tests/system/analytics/README rename to samples/analytics/README diff --git a/tests/system/analytics/client_secrets.json b/samples/analytics/client_secrets.json similarity index 100% rename from tests/system/analytics/client_secrets.json rename to samples/analytics/client_secrets.json diff --git a/tests/system/analytics/core_reporting_v3_reference.py b/samples/analytics/core_reporting_v3_reference.py similarity index 100% rename from tests/system/analytics/core_reporting_v3_reference.py rename to samples/analytics/core_reporting_v3_reference.py diff --git a/tests/system/analytics/hello_analytics_api_v3.py b/samples/analytics/hello_analytics_api_v3.py similarity index 100% rename from tests/system/analytics/hello_analytics_api_v3.py rename to samples/analytics/hello_analytics_api_v3.py diff --git a/tests/system/analytics/management_v3_reference.py b/samples/analytics/management_v3_reference.py similarity index 100% rename from tests/system/analytics/management_v3_reference.py rename to samples/analytics/management_v3_reference.py diff --git a/tests/system/appengine/README b/samples/appengine/README similarity index 100% rename from tests/system/appengine/README rename to samples/appengine/README diff --git a/tests/system/appengine/app.yaml b/samples/appengine/app.yaml similarity index 100% rename from tests/system/appengine/app.yaml rename to samples/appengine/app.yaml diff --git a/tests/system/appengine/client_secrets.json b/samples/appengine/client_secrets.json similarity index 100% rename from tests/system/appengine/client_secrets.json rename to samples/appengine/client_secrets.json diff --git a/tests/system/appengine/grant.html b/samples/appengine/grant.html similarity index 100% rename from tests/system/appengine/grant.html rename to samples/appengine/grant.html diff --git a/tests/system/appengine/index.yaml b/samples/appengine/index.yaml similarity index 100% rename from tests/system/appengine/index.yaml rename to samples/appengine/index.yaml diff --git a/tests/system/appengine/main.py b/samples/appengine/main.py similarity index 100% rename from tests/system/appengine/main.py rename to samples/appengine/main.py diff --git a/tests/system/appengine/welcome.html b/samples/appengine/welcome.html similarity index 100% rename from tests/system/appengine/welcome.html rename to samples/appengine/welcome.html diff --git a/tests/system/audit/README b/samples/audit/README similarity index 100% rename from tests/system/audit/README rename to samples/audit/README diff --git a/tests/system/audit/audit.py b/samples/audit/audit.py similarity index 100% rename from tests/system/audit/audit.py rename to samples/audit/audit.py diff --git a/tests/system/audit/client_secrets.json b/samples/audit/client_secrets.json similarity index 100% rename from tests/system/audit/client_secrets.json rename to samples/audit/client_secrets.json diff --git a/tests/system/blogger/README b/samples/blogger/README similarity index 100% rename from tests/system/blogger/README rename to samples/blogger/README diff --git a/tests/system/blogger/blogger.py b/samples/blogger/blogger.py similarity index 100% rename from tests/system/blogger/blogger.py rename to samples/blogger/blogger.py diff --git a/tests/system/blogger/client_secrets.json b/samples/blogger/client_secrets.json similarity index 100% rename from tests/system/blogger/client_secrets.json rename to samples/blogger/client_secrets.json diff --git a/tests/system/calendar_api/README b/samples/calendar_api/README similarity index 100% rename from tests/system/calendar_api/README rename to samples/calendar_api/README diff --git a/tests/system/calendar_api/calendar_sample.py b/samples/calendar_api/calendar_sample.py similarity index 100% rename from tests/system/calendar_api/calendar_sample.py rename to samples/calendar_api/calendar_sample.py diff --git a/tests/system/calendar_api/client_secrets.json b/samples/calendar_api/client_secrets.json similarity index 100% rename from tests/system/calendar_api/client_secrets.json rename to samples/calendar_api/client_secrets.json diff --git a/tests/system/compute/README.md b/samples/compute/README.md similarity index 100% rename from tests/system/compute/README.md rename to samples/compute/README.md diff --git a/tests/system/compute/create_instance.py b/samples/compute/create_instance.py similarity index 100% rename from tests/system/compute/create_instance.py rename to samples/compute/create_instance.py diff --git a/tests/system/compute/create_instance_test.py b/samples/compute/create_instance_test.py similarity index 100% rename from tests/system/compute/create_instance_test.py rename to samples/compute/create_instance_test.py diff --git a/tests/system/compute/noxfile.py b/samples/compute/noxfile.py similarity index 100% rename from tests/system/compute/noxfile.py rename to samples/compute/noxfile.py diff --git a/tests/system/compute/requirements-test.txt b/samples/compute/requirements-test.txt similarity index 100% rename from tests/system/compute/requirements-test.txt rename to samples/compute/requirements-test.txt diff --git a/tests/system/compute/requirements.txt b/samples/compute/requirements.txt similarity index 100% rename from tests/system/compute/requirements.txt rename to samples/compute/requirements.txt diff --git a/tests/system/compute/startup-script.sh b/samples/compute/startup-script.sh similarity index 100% rename from tests/system/compute/startup-script.sh rename to samples/compute/startup-script.sh diff --git a/tests/system/coordinate/README b/samples/coordinate/README similarity index 100% rename from tests/system/coordinate/README rename to samples/coordinate/README diff --git a/tests/system/coordinate/client_secrets.json b/samples/coordinate/client_secrets.json similarity index 100% rename from tests/system/coordinate/client_secrets.json rename to samples/coordinate/client_secrets.json diff --git a/tests/system/coordinate/coordinate.py b/samples/coordinate/coordinate.py similarity index 100% rename from tests/system/coordinate/coordinate.py rename to samples/coordinate/coordinate.py diff --git a/tests/system/customsearch/README b/samples/customsearch/README similarity index 100% rename from tests/system/customsearch/README rename to samples/customsearch/README diff --git a/tests/system/customsearch/main.py b/samples/customsearch/main.py similarity index 100% rename from tests/system/customsearch/main.py rename to samples/customsearch/main.py diff --git a/tests/system/dfareporting/README.md b/samples/dfareporting/README.md similarity index 100% rename from tests/system/dfareporting/README.md rename to samples/dfareporting/README.md diff --git a/tests/system/groupssettings/README b/samples/groupssettings/README similarity index 100% rename from tests/system/groupssettings/README rename to samples/groupssettings/README diff --git a/tests/system/groupssettings/client_secrets.json b/samples/groupssettings/client_secrets.json similarity index 100% rename from tests/system/groupssettings/client_secrets.json rename to samples/groupssettings/client_secrets.json diff --git a/tests/system/groupssettings/groupsettings.py b/samples/groupssettings/groupsettings.py similarity index 100% rename from tests/system/groupssettings/groupsettings.py rename to samples/groupssettings/groupsettings.py diff --git a/tests/system/maps_engine/README b/samples/maps_engine/README similarity index 100% rename from tests/system/maps_engine/README rename to samples/maps_engine/README diff --git a/tests/system/maps_engine/maps_engine.py b/samples/maps_engine/maps_engine.py similarity index 100% rename from tests/system/maps_engine/maps_engine.py rename to samples/maps_engine/maps_engine.py diff --git a/tests/system/maps_engine/polygons.dbf b/samples/maps_engine/polygons.dbf similarity index 100% rename from tests/system/maps_engine/polygons.dbf rename to samples/maps_engine/polygons.dbf diff --git a/tests/system/maps_engine/polygons.prj b/samples/maps_engine/polygons.prj similarity index 100% rename from tests/system/maps_engine/polygons.prj rename to samples/maps_engine/polygons.prj diff --git a/tests/system/maps_engine/polygons.shp b/samples/maps_engine/polygons.shp similarity index 100% rename from tests/system/maps_engine/polygons.shp rename to samples/maps_engine/polygons.shp diff --git a/tests/system/maps_engine/polygons.shx b/samples/maps_engine/polygons.shx similarity index 100% rename from tests/system/maps_engine/polygons.shx rename to samples/maps_engine/polygons.shx diff --git a/tests/system/plus/README b/samples/plus/README similarity index 100% rename from tests/system/plus/README rename to samples/plus/README diff --git a/tests/system/plus/client_secrets.json b/samples/plus/client_secrets.json similarity index 100% rename from tests/system/plus/client_secrets.json rename to samples/plus/client_secrets.json diff --git a/tests/system/plus/plus.py b/samples/plus/plus.py similarity index 100% rename from tests/system/plus/plus.py rename to samples/plus/plus.py diff --git a/tests/system/prediction/README b/samples/prediction/README similarity index 100% rename from tests/system/prediction/README rename to samples/prediction/README diff --git a/tests/system/prediction/client_secrets.json b/samples/prediction/client_secrets.json similarity index 100% rename from tests/system/prediction/client_secrets.json rename to samples/prediction/client_secrets.json diff --git a/tests/system/prediction/language_id.txt b/samples/prediction/language_id.txt similarity index 100% rename from tests/system/prediction/language_id.txt rename to samples/prediction/language_id.txt diff --git a/tests/system/prediction/prediction.py b/samples/prediction/prediction.py similarity index 100% rename from tests/system/prediction/prediction.py rename to samples/prediction/prediction.py diff --git a/tests/system/prediction/setup.sh b/samples/prediction/setup.sh similarity index 100% rename from tests/system/prediction/setup.sh rename to samples/prediction/setup.sh diff --git a/tests/system/searchconsole/README b/samples/searchconsole/README similarity index 100% rename from tests/system/searchconsole/README rename to samples/searchconsole/README diff --git a/tests/system/searchconsole/client_secrets.json b/samples/searchconsole/client_secrets.json similarity index 100% rename from tests/system/searchconsole/client_secrets.json rename to samples/searchconsole/client_secrets.json diff --git a/tests/system/searchconsole/search_analytics_api_sample.py b/samples/searchconsole/search_analytics_api_sample.py similarity index 100% rename from tests/system/searchconsole/search_analytics_api_sample.py rename to samples/searchconsole/search_analytics_api_sample.py diff --git a/tests/system/searchforshopping/README b/samples/searchforshopping/README similarity index 100% rename from tests/system/searchforshopping/README rename to samples/searchforshopping/README diff --git a/tests/system/searchforshopping/basic.py b/samples/searchforshopping/basic.py similarity index 100% rename from tests/system/searchforshopping/basic.py rename to samples/searchforshopping/basic.py diff --git a/tests/system/searchforshopping/crowding.py b/samples/searchforshopping/crowding.py similarity index 100% rename from tests/system/searchforshopping/crowding.py rename to samples/searchforshopping/crowding.py diff --git a/tests/system/searchforshopping/fulltextsearch.py b/samples/searchforshopping/fulltextsearch.py similarity index 100% rename from tests/system/searchforshopping/fulltextsearch.py rename to samples/searchforshopping/fulltextsearch.py diff --git a/tests/system/searchforshopping/histograms.py b/samples/searchforshopping/histograms.py similarity index 100% rename from tests/system/searchforshopping/histograms.py rename to samples/searchforshopping/histograms.py diff --git a/tests/system/searchforshopping/main.py b/samples/searchforshopping/main.py similarity index 100% rename from tests/system/searchforshopping/main.py rename to samples/searchforshopping/main.py diff --git a/tests/system/searchforshopping/pagination.py b/samples/searchforshopping/pagination.py similarity index 100% rename from tests/system/searchforshopping/pagination.py rename to samples/searchforshopping/pagination.py diff --git a/tests/system/searchforshopping/ranking.py b/samples/searchforshopping/ranking.py similarity index 100% rename from tests/system/searchforshopping/ranking.py rename to samples/searchforshopping/ranking.py diff --git a/tests/system/searchforshopping/restricting.py b/samples/searchforshopping/restricting.py similarity index 100% rename from tests/system/searchforshopping/restricting.py rename to samples/searchforshopping/restricting.py diff --git a/tests/system/service_account/README b/samples/service_account/README similarity index 100% rename from tests/system/service_account/README rename to samples/service_account/README diff --git a/tests/system/service_account/tasks.py b/samples/service_account/tasks.py similarity index 100% rename from tests/system/service_account/tasks.py rename to samples/service_account/tasks.py diff --git a/tests/system/storage/README.md b/samples/storage/README.md similarity index 100% rename from tests/system/storage/README.md rename to samples/storage/README.md diff --git a/tests/system/storage_serviceaccount_appengine/app.yaml b/samples/storage_serviceaccount_appengine/app.yaml similarity index 100% rename from tests/system/storage_serviceaccount_appengine/app.yaml rename to samples/storage_serviceaccount_appengine/app.yaml diff --git a/tests/system/storage_serviceaccount_appengine/listing.xsl b/samples/storage_serviceaccount_appengine/listing.xsl similarity index 100% rename from tests/system/storage_serviceaccount_appengine/listing.xsl rename to samples/storage_serviceaccount_appengine/listing.xsl diff --git a/tests/system/storage_serviceaccount_appengine/main.py b/samples/storage_serviceaccount_appengine/main.py similarity index 100% rename from tests/system/storage_serviceaccount_appengine/main.py rename to samples/storage_serviceaccount_appengine/main.py diff --git a/tests/system/tasks_appengine/README b/samples/tasks_appengine/README similarity index 100% rename from tests/system/tasks_appengine/README rename to samples/tasks_appengine/README diff --git a/tests/system/tasks_appengine/app.yaml b/samples/tasks_appengine/app.yaml similarity index 100% rename from tests/system/tasks_appengine/app.yaml rename to samples/tasks_appengine/app.yaml diff --git a/tests/system/tasks_appengine/css/style.css b/samples/tasks_appengine/css/style.css similarity index 100% rename from tests/system/tasks_appengine/css/style.css rename to samples/tasks_appengine/css/style.css diff --git a/tests/system/tasks_appengine/main.py b/samples/tasks_appengine/main.py similarity index 100% rename from tests/system/tasks_appengine/main.py rename to samples/tasks_appengine/main.py diff --git a/tests/system/tasks_appengine/settings.py.sample b/samples/tasks_appengine/settings.py.sample similarity index 100% rename from tests/system/tasks_appengine/settings.py.sample rename to samples/tasks_appengine/settings.py.sample diff --git a/tests/system/tasks_appengine/templates/index.html b/samples/tasks_appengine/templates/index.html similarity index 100% rename from tests/system/tasks_appengine/templates/index.html rename to samples/tasks_appengine/templates/index.html diff --git a/tests/system/translate/README b/samples/translate/README similarity index 100% rename from tests/system/translate/README rename to samples/translate/README diff --git a/tests/system/translate/main.py b/samples/translate/main.py similarity index 100% rename from tests/system/translate/main.py rename to samples/translate/main.py diff --git a/tests/system/urlshortener/README b/samples/urlshortener/README similarity index 100% rename from tests/system/urlshortener/README rename to samples/urlshortener/README diff --git a/tests/system/urlshortener/client_secrets.json b/samples/urlshortener/client_secrets.json similarity index 100% rename from tests/system/urlshortener/client_secrets.json rename to samples/urlshortener/client_secrets.json diff --git a/tests/system/urlshortener/urlshortener.py b/samples/urlshortener/urlshortener.py similarity index 100% rename from tests/system/urlshortener/urlshortener.py rename to samples/urlshortener/urlshortener.py diff --git a/tests/system/youtube/README.md b/samples/youtube/README.md similarity index 100% rename from tests/system/youtube/README.md rename to samples/youtube/README.md From 7923aab162ed19de33c6380b1f9fcdcc9292ab2a Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 20:47:11 +0000 Subject: [PATCH 11/17] revert: rename test scripts back to their original names --- .kokoro/samples/lint/common.cfg | 2 +- .kokoro/samples/python3.10/common.cfg | 2 +- .kokoro/samples/python3.11/common.cfg | 2 +- .kokoro/samples/python3.12/common.cfg | 2 +- .kokoro/samples/python3.13/common.cfg | 2 +- .kokoro/samples/python3.14/common.cfg | 2 +- .kokoro/samples/python3.7/common.cfg | 2 +- .kokoro/samples/python3.8/common.cfg | 2 +- .kokoro/samples/python3.9/common.cfg | 2 +- ...em-against-head.sh => test-samples-against-head.sh} | 2 +- .kokoro/{test-system-impl.sh => test-samples-impl.sh} | 0 .kokoro/{test-system.sh => test-samples.sh} | 10 +++++----- 12 files changed, 15 insertions(+), 15 deletions(-) rename .kokoro/{test-system-against-head.sh => test-samples-against-head.sh} (96%) rename .kokoro/{test-system-impl.sh => test-samples-impl.sh} (100%) rename .kokoro/{test-system.sh => test-samples.sh} (86%) diff --git a/.kokoro/samples/lint/common.cfg b/.kokoro/samples/lint/common.cfg index 27ad69d7960..26fd907aea7 100644 --- a/.kokoro/samples/lint/common.cfg +++ b/.kokoro/samples/lint/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-system.sh" + value: "github/google-api-python-client/.kokoro/test-samples.sh" } # Configure the docker image for kokoro-trampoline. diff --git a/.kokoro/samples/python3.10/common.cfg b/.kokoro/samples/python3.10/common.cfg index 8a1c31c8a6f..dc97e01456f 100644 --- a/.kokoro/samples/python3.10/common.cfg +++ b/.kokoro/samples/python3.10/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-system.sh" + value: "github/google-api-python-client/.kokoro/test-samples.sh" } # Configure the docker image for kokoro-trampoline. diff --git a/.kokoro/samples/python3.11/common.cfg b/.kokoro/samples/python3.11/common.cfg index 21c0607ffc2..bdc3170c104 100644 --- a/.kokoro/samples/python3.11/common.cfg +++ b/.kokoro/samples/python3.11/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-system.sh" + value: "github/google-api-python-client/.kokoro/test-samples.sh" } # Configure the docker image for kokoro-trampoline. diff --git a/.kokoro/samples/python3.12/common.cfg b/.kokoro/samples/python3.12/common.cfg index faf2c5a6e1b..29cf43c31c7 100644 --- a/.kokoro/samples/python3.12/common.cfg +++ b/.kokoro/samples/python3.12/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-system.sh" + value: "github/google-api-python-client/.kokoro/test-samples.sh" } # Configure the docker image for kokoro-trampoline. diff --git a/.kokoro/samples/python3.13/common.cfg b/.kokoro/samples/python3.13/common.cfg index def422c90ef..ac97d8948d8 100644 --- a/.kokoro/samples/python3.13/common.cfg +++ b/.kokoro/samples/python3.13/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-system.sh" + value: "github/google-api-python-client/.kokoro/test-samples.sh" } # Configure the docker image for kokoro-trampoline. diff --git a/.kokoro/samples/python3.14/common.cfg b/.kokoro/samples/python3.14/common.cfg index af838faf89b..bd5ecb260aa 100644 --- a/.kokoro/samples/python3.14/common.cfg +++ b/.kokoro/samples/python3.14/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-system.sh" + value: "github/google-api-python-client/.kokoro/test-samples.sh" } # Configure the docker image for kokoro-trampoline. diff --git a/.kokoro/samples/python3.7/common.cfg b/.kokoro/samples/python3.7/common.cfg index 0c5bbcf424b..55c96430537 100644 --- a/.kokoro/samples/python3.7/common.cfg +++ b/.kokoro/samples/python3.7/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-system.sh" + value: "github/google-api-python-client/.kokoro/test-samples.sh" } # Configure the docker image for kokoro-trampoline. diff --git a/.kokoro/samples/python3.8/common.cfg b/.kokoro/samples/python3.8/common.cfg index e49443d0c02..aae281cd66a 100644 --- a/.kokoro/samples/python3.8/common.cfg +++ b/.kokoro/samples/python3.8/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-system.sh" + value: "github/google-api-python-client/.kokoro/test-samples.sh" } # Configure the docker image for kokoro-trampoline. diff --git a/.kokoro/samples/python3.9/common.cfg b/.kokoro/samples/python3.9/common.cfg index 5a23ad69004..636d4fb88ed 100644 --- a/.kokoro/samples/python3.9/common.cfg +++ b/.kokoro/samples/python3.9/common.cfg @@ -15,7 +15,7 @@ env_vars: { env_vars: { key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-system.sh" + value: "github/google-api-python-client/.kokoro/test-samples.sh" } # Configure the docker image for kokoro-trampoline. diff --git a/.kokoro/test-system-against-head.sh b/.kokoro/test-samples-against-head.sh similarity index 96% rename from .kokoro/test-system-against-head.sh rename to .kokoro/test-samples-against-head.sh index cf18d2af101..5bbb6a71f2a 100755 --- a/.kokoro/test-system-against-head.sh +++ b/.kokoro/test-samples-against-head.sh @@ -26,4 +26,4 @@ shopt -s globstar export PROJECT_ROOT=$(realpath $(dirname "${BASH_SOURCE[0]}")/..) cd "${PROJECT_ROOT}" -exec .kokoro/test-system-impl.sh +exec .kokoro/test-samples-impl.sh diff --git a/.kokoro/test-system-impl.sh b/.kokoro/test-samples-impl.sh similarity index 100% rename from .kokoro/test-system-impl.sh rename to .kokoro/test-samples-impl.sh diff --git a/.kokoro/test-system.sh b/.kokoro/test-samples.sh similarity index 86% rename from .kokoro/test-system.sh rename to .kokoro/test-samples.sh index a6cbe86c5b3..e537eace360 100755 --- a/.kokoro/test-system.sh +++ b/.kokoro/test-samples.sh @@ -16,7 +16,7 @@ # The default test runner for samples. # # For periodic builds, we rewinds the repo to the latest release, and -# run test-system-impl.sh. +# run test-samples-impl.sh. # `-e` enables the script to automatically fail when a command fails # `-o pipefail` sets the exit code to the rightmost comment to exit with a non-zero @@ -30,7 +30,7 @@ cd "${PROJECT_ROOT}" # Run periodic samples tests at latest release if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then # preserving the test runner implementation. - cp .kokoro/test-system-impl.sh "${TMPDIR}/test-system-impl.sh" + cp .kokoro/test-samples-impl.sh "${TMPDIR}/test-samples-impl.sh" echo "--- IMPORTANT IMPORTANT IMPORTANT ---" echo "Now we rewind the repo back to the latest release..." LATEST_RELEASE=$(git describe --abbrev=0 --tags) @@ -39,9 +39,9 @@ if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then echo $(git rev-parse --verify HEAD) echo "--- IMPORTANT IMPORTANT IMPORTANT ---" # move back the test runner implementation if there's no file. - if [ ! -f .kokoro/test-system-impl.sh ]; then - cp "${TMPDIR}/test-system-impl.sh" .kokoro/test-system-impl.sh + if [ ! -f .kokoro/test-samples-impl.sh ]; then + cp "${TMPDIR}/test-samples-impl.sh" .kokoro/test-samples-impl.sh fi fi -exec .kokoro/test-system-impl.sh +exec .kokoro/test-samples-impl.sh From 3da048d3fb9cdbc6b19be214b96cb94f4fd741ad Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 20:52:26 +0000 Subject: [PATCH 12/17] chore: remove tests for unsupported python 3.7-3.9 --- .kokoro/samples/python3.7/common.cfg | 34 --------------------- .kokoro/samples/python3.7/continuous.cfg | 6 ---- .kokoro/samples/python3.7/periodic-head.cfg | 11 ------- .kokoro/samples/python3.7/periodic.cfg | 6 ---- .kokoro/samples/python3.7/presubmit.cfg | 6 ---- .kokoro/samples/python3.8/common.cfg | 34 --------------------- .kokoro/samples/python3.8/continuous.cfg | 6 ---- .kokoro/samples/python3.8/periodic-head.cfg | 11 ------- .kokoro/samples/python3.8/periodic.cfg | 6 ---- .kokoro/samples/python3.8/presubmit.cfg | 6 ---- .kokoro/samples/python3.9/common.cfg | 34 --------------------- .kokoro/samples/python3.9/continuous.cfg | 6 ---- .kokoro/samples/python3.9/periodic-head.cfg | 11 ------- .kokoro/samples/python3.9/periodic.cfg | 6 ---- .kokoro/samples/python3.9/presubmit.cfg | 6 ---- 15 files changed, 189 deletions(-) delete mode 100644 .kokoro/samples/python3.7/common.cfg delete mode 100644 .kokoro/samples/python3.7/continuous.cfg delete mode 100644 .kokoro/samples/python3.7/periodic-head.cfg delete mode 100644 .kokoro/samples/python3.7/periodic.cfg delete mode 100644 .kokoro/samples/python3.7/presubmit.cfg delete mode 100644 .kokoro/samples/python3.8/common.cfg delete mode 100644 .kokoro/samples/python3.8/continuous.cfg delete mode 100644 .kokoro/samples/python3.8/periodic-head.cfg delete mode 100644 .kokoro/samples/python3.8/periodic.cfg delete mode 100644 .kokoro/samples/python3.8/presubmit.cfg delete mode 100644 .kokoro/samples/python3.9/common.cfg delete mode 100644 .kokoro/samples/python3.9/continuous.cfg delete mode 100644 .kokoro/samples/python3.9/periodic-head.cfg delete mode 100644 .kokoro/samples/python3.9/periodic.cfg delete mode 100644 .kokoro/samples/python3.9/presubmit.cfg diff --git a/.kokoro/samples/python3.7/common.cfg b/.kokoro/samples/python3.7/common.cfg deleted file mode 100644 index 55c96430537..00000000000 --- a/.kokoro/samples/python3.7/common.cfg +++ /dev/null @@ -1,34 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -# Build logs will be here -action { - define_artifacts { - regex: "**/*sponge_log.xml" - } -} - -# Specify which tests to run -env_vars: { - key: "RUN_TESTS_SESSION" - value: "py-3.7" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" -} - -# Configure the docker image for kokoro-trampoline. -env_vars: { - key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" -} - -# Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" - -# Download trampoline resources. -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" - -# Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.7/continuous.cfg b/.kokoro/samples/python3.7/continuous.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.7/continuous.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.7/periodic-head.cfg b/.kokoro/samples/python3.7/periodic-head.cfg deleted file mode 100644 index fff273b4711..00000000000 --- a/.kokoro/samples/python3.7/periodic-head.cfg +++ /dev/null @@ -1,11 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples-against-head.sh" -} diff --git a/.kokoro/samples/python3.7/periodic.cfg b/.kokoro/samples/python3.7/periodic.cfg deleted file mode 100644 index 71cd1e597e3..00000000000 --- a/.kokoro/samples/python3.7/periodic.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "False" -} diff --git a/.kokoro/samples/python3.7/presubmit.cfg b/.kokoro/samples/python3.7/presubmit.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.7/presubmit.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.8/common.cfg b/.kokoro/samples/python3.8/common.cfg deleted file mode 100644 index aae281cd66a..00000000000 --- a/.kokoro/samples/python3.8/common.cfg +++ /dev/null @@ -1,34 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -# Build logs will be here -action { - define_artifacts { - regex: "**/*sponge_log.xml" - } -} - -# Specify which tests to run -env_vars: { - key: "RUN_TESTS_SESSION" - value: "py-3.8" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" -} - -# Configure the docker image for kokoro-trampoline. -env_vars: { - key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" -} - -# Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" - -# Download trampoline resources. -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" - -# Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.8/continuous.cfg b/.kokoro/samples/python3.8/continuous.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.8/continuous.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.8/periodic-head.cfg b/.kokoro/samples/python3.8/periodic-head.cfg deleted file mode 100644 index fff273b4711..00000000000 --- a/.kokoro/samples/python3.8/periodic-head.cfg +++ /dev/null @@ -1,11 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples-against-head.sh" -} diff --git a/.kokoro/samples/python3.8/periodic.cfg b/.kokoro/samples/python3.8/periodic.cfg deleted file mode 100644 index 71cd1e597e3..00000000000 --- a/.kokoro/samples/python3.8/periodic.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "False" -} diff --git a/.kokoro/samples/python3.8/presubmit.cfg b/.kokoro/samples/python3.8/presubmit.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.8/presubmit.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.9/common.cfg b/.kokoro/samples/python3.9/common.cfg deleted file mode 100644 index 636d4fb88ed..00000000000 --- a/.kokoro/samples/python3.9/common.cfg +++ /dev/null @@ -1,34 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -# Build logs will be here -action { - define_artifacts { - regex: "**/*sponge_log.xml" - } -} - -# Specify which tests to run -env_vars: { - key: "RUN_TESTS_SESSION" - value: "py-3.9" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" -} - -# Configure the docker image for kokoro-trampoline. -env_vars: { - key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" -} - -# Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" - -# Download trampoline resources. -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" - -# Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.9/continuous.cfg b/.kokoro/samples/python3.9/continuous.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.9/continuous.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.9/periodic-head.cfg b/.kokoro/samples/python3.9/periodic-head.cfg deleted file mode 100644 index fff273b4711..00000000000 --- a/.kokoro/samples/python3.9/periodic-head.cfg +++ /dev/null @@ -1,11 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples-against-head.sh" -} diff --git a/.kokoro/samples/python3.9/periodic.cfg b/.kokoro/samples/python3.9/periodic.cfg deleted file mode 100644 index 71cd1e597e3..00000000000 --- a/.kokoro/samples/python3.9/periodic.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "False" -} diff --git a/.kokoro/samples/python3.9/presubmit.cfg b/.kokoro/samples/python3.9/presubmit.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.9/presubmit.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file From 3aa338b0f003d18a9b5a98b77d8d65f61eddf908 Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 20:58:16 +0000 Subject: [PATCH 13/17] chore: remove Python 3.7-3.9 from required github presubmit checks --- .github/sync-repo-settings.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml index ae4b07d122f..087d4a55617 100644 --- a/.github/sync-repo-settings.yaml +++ b/.github/sync-repo-settings.yaml @@ -11,9 +11,6 @@ branchProtectionRules: - 'Kokoro' - 'OwlBot Post Processor' - 'Samples - Lint' - - 'Samples - Python 3.7' - - 'Samples - Python 3.8' - - 'Samples - Python 3.9' - 'Samples - Python 3.10' - 'Samples - Python 3.11' - 'Samples - Python 3.12' From 8f942dd920a681e4d27b9f74d52dc70bb9d10e57 Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 22:11:09 +0000 Subject: [PATCH 14/17] chore: retrigger CI From 5466a513a092c9f2221387862c77007f6c82d3dd Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Thu, 18 Jun 2026 22:16:00 +0000 Subject: [PATCH 15/17] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20?= =?UTF-8?q?post-processor?= 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 --- .kokoro/samples/lint/common.cfg | 6 +-- .kokoro/samples/python3.10/common.cfg | 12 +++-- .kokoro/samples/python3.11/common.cfg | 12 +++-- .kokoro/samples/python3.12/common.cfg | 12 +++-- .kokoro/samples/python3.13/common.cfg | 12 +++-- .kokoro/samples/python3.14/common.cfg | 12 +++-- .kokoro/samples/python3.7/common.cfg | 40 ++++++++++++++++ .kokoro/samples/python3.7/continuous.cfg | 6 +++ .kokoro/samples/python3.7/periodic-head.cfg | 11 +++++ .kokoro/samples/python3.7/periodic.cfg | 6 +++ .kokoro/samples/python3.7/presubmit.cfg | 6 +++ .kokoro/samples/python3.8/common.cfg | 40 ++++++++++++++++ .kokoro/samples/python3.8/continuous.cfg | 6 +++ .kokoro/samples/python3.8/periodic-head.cfg | 11 +++++ .kokoro/samples/python3.8/periodic.cfg | 6 +++ .kokoro/samples/python3.8/presubmit.cfg | 6 +++ .kokoro/samples/python3.9/common.cfg | 40 ++++++++++++++++ .kokoro/samples/python3.9/continuous.cfg | 6 +++ .kokoro/samples/python3.9/periodic-head.cfg | 11 +++++ .kokoro/samples/python3.9/periodic.cfg | 6 +++ .kokoro/samples/python3.9/presubmit.cfg | 6 +++ .kokoro/test-samples-against-head.sh | 3 -- .kokoro/test-samples-impl.sh | 53 ++++++++++++++------- .kokoro/test-samples.sh | 3 -- 24 files changed, 292 insertions(+), 40 deletions(-) create mode 100644 .kokoro/samples/python3.7/common.cfg create mode 100644 .kokoro/samples/python3.7/continuous.cfg create mode 100644 .kokoro/samples/python3.7/periodic-head.cfg create mode 100644 .kokoro/samples/python3.7/periodic.cfg create mode 100644 .kokoro/samples/python3.7/presubmit.cfg create mode 100644 .kokoro/samples/python3.8/common.cfg create mode 100644 .kokoro/samples/python3.8/continuous.cfg create mode 100644 .kokoro/samples/python3.8/periodic-head.cfg create mode 100644 .kokoro/samples/python3.8/periodic.cfg create mode 100644 .kokoro/samples/python3.8/presubmit.cfg create mode 100644 .kokoro/samples/python3.9/common.cfg create mode 100644 .kokoro/samples/python3.9/continuous.cfg create mode 100644 .kokoro/samples/python3.9/periodic-head.cfg create mode 100644 .kokoro/samples/python3.9/periodic.cfg create mode 100644 .kokoro/samples/python3.9/presubmit.cfg diff --git a/.kokoro/samples/lint/common.cfg b/.kokoro/samples/lint/common.cfg index 26fd907aea7..de81d49ddf3 100644 --- a/.kokoro/samples/lint/common.cfg +++ b/.kokoro/samples/lint/common.cfg @@ -21,14 +21,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.10/common.cfg b/.kokoro/samples/python3.10/common.cfg index dc97e01456f..b1a684ce5f8 100644 --- a/.kokoro/samples/python3.10/common.cfg +++ b/.kokoro/samples/python3.10/common.cfg @@ -13,6 +13,12 @@ env_vars: { value: "py-3.10" } +# Declare build specific Cloud project. +env_vars: { + key: "BUILD_SPECIFIC_GCLOUD_PROJECT" + value: "python-docs-samples-tests-310" +} + env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -21,14 +27,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.11/common.cfg b/.kokoro/samples/python3.11/common.cfg index bdc3170c104..0df5ac77f3a 100644 --- a/.kokoro/samples/python3.11/common.cfg +++ b/.kokoro/samples/python3.11/common.cfg @@ -13,6 +13,12 @@ env_vars: { value: "py-3.11" } +# Declare build specific Cloud project. +env_vars: { + key: "BUILD_SPECIFIC_GCLOUD_PROJECT" + value: "python-docs-samples-tests-311" +} + env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -21,14 +27,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.12/common.cfg b/.kokoro/samples/python3.12/common.cfg index 29cf43c31c7..3d6669cf426 100644 --- a/.kokoro/samples/python3.12/common.cfg +++ b/.kokoro/samples/python3.12/common.cfg @@ -13,6 +13,12 @@ env_vars: { value: "py-3.12" } +# Declare build specific Cloud project. +env_vars: { + key: "BUILD_SPECIFIC_GCLOUD_PROJECT" + value: "python-docs-samples-tests-312" +} + env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -21,14 +27,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.13/common.cfg b/.kokoro/samples/python3.13/common.cfg index ac97d8948d8..25f2a9ed5ec 100644 --- a/.kokoro/samples/python3.13/common.cfg +++ b/.kokoro/samples/python3.13/common.cfg @@ -13,6 +13,12 @@ env_vars: { value: "py-3.13" } +# Declare build specific Cloud project. +env_vars: { + key: "BUILD_SPECIFIC_GCLOUD_PROJECT" + value: "python-docs-samples-tests-313" +} + env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -21,14 +27,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline.sh" +build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" diff --git a/.kokoro/samples/python3.14/common.cfg b/.kokoro/samples/python3.14/common.cfg index bd5ecb260aa..e9d0480a348 100644 --- a/.kokoro/samples/python3.14/common.cfg +++ b/.kokoro/samples/python3.14/common.cfg @@ -13,6 +13,12 @@ env_vars: { value: "py-3.14" } +# Declare build specific Cloud project. +env_vars: { + key: "BUILD_SPECIFIC_GCLOUD_PROJECT" + value: "python-docs-samples-tests-314" +} + env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -21,14 +27,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline.sh" +build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" diff --git a/.kokoro/samples/python3.7/common.cfg b/.kokoro/samples/python3.7/common.cfg new file mode 100644 index 00000000000..51153192905 --- /dev/null +++ b/.kokoro/samples/python3.7/common.cfg @@ -0,0 +1,40 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Build logs will be here +action { + define_artifacts { + regex: "**/*sponge_log.xml" + } +} + +# Specify which tests to run +env_vars: { + key: "RUN_TESTS_SESSION" + value: "py-3.7" +} + +# Declare build specific Cloud project. +env_vars: { + key: "BUILD_SPECIFIC_GCLOUD_PROJECT" + value: "python-docs-samples-tests-py37" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/google-api-python-client/.kokoro/test-samples.sh" +} + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" +} + +# Download secrets for samples +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.7/continuous.cfg b/.kokoro/samples/python3.7/continuous.cfg new file mode 100644 index 00000000000..a1c8d9759c8 --- /dev/null +++ b/.kokoro/samples/python3.7/continuous.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} \ No newline at end of file diff --git a/.kokoro/samples/python3.7/periodic-head.cfg b/.kokoro/samples/python3.7/periodic-head.cfg new file mode 100644 index 00000000000..fff273b4711 --- /dev/null +++ b/.kokoro/samples/python3.7/periodic-head.cfg @@ -0,0 +1,11 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/google-api-python-client/.kokoro/test-samples-against-head.sh" +} diff --git a/.kokoro/samples/python3.7/periodic.cfg b/.kokoro/samples/python3.7/periodic.cfg new file mode 100644 index 00000000000..71cd1e597e3 --- /dev/null +++ b/.kokoro/samples/python3.7/periodic.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "False" +} diff --git a/.kokoro/samples/python3.7/presubmit.cfg b/.kokoro/samples/python3.7/presubmit.cfg new file mode 100644 index 00000000000..a1c8d9759c8 --- /dev/null +++ b/.kokoro/samples/python3.7/presubmit.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} \ No newline at end of file diff --git a/.kokoro/samples/python3.8/common.cfg b/.kokoro/samples/python3.8/common.cfg new file mode 100644 index 00000000000..51397da6b2b --- /dev/null +++ b/.kokoro/samples/python3.8/common.cfg @@ -0,0 +1,40 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Build logs will be here +action { + define_artifacts { + regex: "**/*sponge_log.xml" + } +} + +# Specify which tests to run +env_vars: { + key: "RUN_TESTS_SESSION" + value: "py-3.8" +} + +# Declare build specific Cloud project. +env_vars: { + key: "BUILD_SPECIFIC_GCLOUD_PROJECT" + value: "python-docs-samples-tests-py38" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/google-api-python-client/.kokoro/test-samples.sh" +} + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" +} + +# Download secrets for samples +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.8/continuous.cfg b/.kokoro/samples/python3.8/continuous.cfg new file mode 100644 index 00000000000..a1c8d9759c8 --- /dev/null +++ b/.kokoro/samples/python3.8/continuous.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} \ No newline at end of file diff --git a/.kokoro/samples/python3.8/periodic-head.cfg b/.kokoro/samples/python3.8/periodic-head.cfg new file mode 100644 index 00000000000..fff273b4711 --- /dev/null +++ b/.kokoro/samples/python3.8/periodic-head.cfg @@ -0,0 +1,11 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/google-api-python-client/.kokoro/test-samples-against-head.sh" +} diff --git a/.kokoro/samples/python3.8/periodic.cfg b/.kokoro/samples/python3.8/periodic.cfg new file mode 100644 index 00000000000..71cd1e597e3 --- /dev/null +++ b/.kokoro/samples/python3.8/periodic.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "False" +} diff --git a/.kokoro/samples/python3.8/presubmit.cfg b/.kokoro/samples/python3.8/presubmit.cfg new file mode 100644 index 00000000000..a1c8d9759c8 --- /dev/null +++ b/.kokoro/samples/python3.8/presubmit.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} \ No newline at end of file diff --git a/.kokoro/samples/python3.9/common.cfg b/.kokoro/samples/python3.9/common.cfg new file mode 100644 index 00000000000..7afd4f279ee --- /dev/null +++ b/.kokoro/samples/python3.9/common.cfg @@ -0,0 +1,40 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Build logs will be here +action { + define_artifacts { + regex: "**/*sponge_log.xml" + } +} + +# Specify which tests to run +env_vars: { + key: "RUN_TESTS_SESSION" + value: "py-3.9" +} + +# Declare build specific Cloud project. +env_vars: { + key: "BUILD_SPECIFIC_GCLOUD_PROJECT" + value: "python-docs-samples-tests-py39" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/google-api-python-client/.kokoro/test-samples.sh" +} + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" +} + +# Download secrets for samples +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.9/continuous.cfg b/.kokoro/samples/python3.9/continuous.cfg new file mode 100644 index 00000000000..a1c8d9759c8 --- /dev/null +++ b/.kokoro/samples/python3.9/continuous.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} \ No newline at end of file diff --git a/.kokoro/samples/python3.9/periodic-head.cfg b/.kokoro/samples/python3.9/periodic-head.cfg new file mode 100644 index 00000000000..fff273b4711 --- /dev/null +++ b/.kokoro/samples/python3.9/periodic-head.cfg @@ -0,0 +1,11 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/google-api-python-client/.kokoro/test-samples-against-head.sh" +} diff --git a/.kokoro/samples/python3.9/periodic.cfg b/.kokoro/samples/python3.9/periodic.cfg new file mode 100644 index 00000000000..71cd1e597e3 --- /dev/null +++ b/.kokoro/samples/python3.9/periodic.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "False" +} diff --git a/.kokoro/samples/python3.9/presubmit.cfg b/.kokoro/samples/python3.9/presubmit.cfg new file mode 100644 index 00000000000..a1c8d9759c8 --- /dev/null +++ b/.kokoro/samples/python3.9/presubmit.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} \ No newline at end of file diff --git a/.kokoro/test-samples-against-head.sh b/.kokoro/test-samples-against-head.sh index 5bbb6a71f2a..e9d8bd79a64 100755 --- a/.kokoro/test-samples-against-head.sh +++ b/.kokoro/test-samples-against-head.sh @@ -23,7 +23,4 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar -export PROJECT_ROOT=$(realpath $(dirname "${BASH_SOURCE[0]}")/..) -cd "${PROJECT_ROOT}" - exec .kokoro/test-samples-impl.sh diff --git a/.kokoro/test-samples-impl.sh b/.kokoro/test-samples-impl.sh index d61e7b6ebe2..53e365bc4e7 100755 --- a/.kokoro/test-samples-impl.sh +++ b/.kokoro/test-samples-impl.sh @@ -13,7 +13,11 @@ # See the License for the specific language governing permissions and # limitations under the License. + +# `-e` enables the script to automatically fail when a command fails +# `-o pipefail` sets the exit code to the rightmost comment to exit with a non-zero set -eo pipefail +# Enables `**` to include files nested inside sub-folders shopt -s globstar # Exit early if samples don't exist @@ -29,32 +33,42 @@ export PYTHONUNBUFFERED=1 env | grep KOKORO # Install nox +# `virtualenv==20.26.6` is added for Python 3.7 compatibility +python3.9 -m pip install --upgrade --quiet nox virtualenv==20.26.6 -# Setup project id. -if [[ -f "${KOKORO_GFILE_DIR}/project-id.json" ]]; then - export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json") - export GOOGLE_CLOUD_PROJECT="${PROJECT_ID}" - gcloud config set project "$PROJECT_ID" - - # Compute tests require CLOUD_STORAGE_BUCKET. We reuse a fixed bucket name - # within the project so it doesn't leak thousands of buckets over time. - export CLOUD_STORAGE_BUCKET="${PROJECT_ID}-api-client-compute" +# Use secrets acessor service account to get secrets +if [[ -f "${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" ]]; then + gcloud auth activate-service-account \ + --key-file="${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" \ + --project="cloud-devrel-kokoro-resources" fi -# Setup service account credentials. -if [[ -f "${KOKORO_GFILE_DIR}/service-account.json" ]]; then - export GOOGLE_APPLICATION_CREDENTIALS="${KOKORO_GFILE_DIR}/service-account.json" - gcloud auth activate-service-account --key-file="${GOOGLE_APPLICATION_CREDENTIALS}" -fi +# This script will create 3 files: +# - testing/test-env.sh +# - testing/service-account.json +# - testing/client-secrets.json +./scripts/decrypt-secrets.sh + +source ./testing/test-env.sh +export GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/testing/service-account.json + +# For cloud-run session, we activate the service account for gcloud sdk. +gcloud auth activate-service-account \ + --key-file "${GOOGLE_APPLICATION_CREDENTIALS}" + +export GOOGLE_CLIENT_SECRETS=$(pwd)/testing/client-secrets.json echo -e "\n******************** TESTING PROJECTS ********************" +# Switch to 'fail at end' to allow all tests to complete before exiting. set +e +# Use RTN to return a non-zero value if the test fails. RTN=0 ROOT=$(pwd) # Find all requirements.txt in the samples directory (may break on whitespace). for file in samples/**/requirements.txt; do cd "$ROOT" + # Navigate to the project folder. file=$(dirname "$file") cd "$file" @@ -62,9 +76,12 @@ for file in samples/**/requirements.txt; do echo "- testing $file" echo "------------------------------------------------------------" - python3 -m nox -s "$RUN_TESTS_SESSION" + # Use nox to execute the tests for the project. + python3.9 -m nox -s "$RUN_TESTS_SESSION" EXIT=$? + # If this is a periodic build, send the test log to the FlakyBot. + # See https://github.com/googleapis/repo-automation-bots/tree/main/packages/flakybot. if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot $KOKORO_GFILE_DIR/linux_amd64/flakybot @@ -76,7 +93,11 @@ for file in samples/**/requirements.txt; do else echo -e "\n Testing completed.\n" fi -done +done cd "$ROOT" + +# Workaround for Kokoro permissions issue: delete secrets +rm testing/{test-env.sh,client-secrets.json,service-account.json} + exit "$RTN" diff --git a/.kokoro/test-samples.sh b/.kokoro/test-samples.sh index e537eace360..7933d820149 100755 --- a/.kokoro/test-samples.sh +++ b/.kokoro/test-samples.sh @@ -24,9 +24,6 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar -export PROJECT_ROOT=$(realpath $(dirname "${BASH_SOURCE[0]}")/..) -cd "${PROJECT_ROOT}" - # Run periodic samples tests at latest release if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then # preserving the test runner implementation. From b645e5927f2055744936d3e156e852c1a87860d7 Mon Sep 17 00:00:00 2001 From: ohmayr Date: Thu, 18 Jun 2026 22:39:13 +0000 Subject: [PATCH 16/17] chore: revert owlbot overwrite and explicitly exclude samples from owlbot sync --- .kokoro/samples/lint/common.cfg | 6 +-- .kokoro/samples/python3.10/common.cfg | 12 ++--- .kokoro/samples/python3.11/common.cfg | 12 ++--- .kokoro/samples/python3.12/common.cfg | 12 ++--- .kokoro/samples/python3.13/common.cfg | 12 ++--- .kokoro/samples/python3.14/common.cfg | 12 ++--- .kokoro/samples/python3.7/common.cfg | 40 ---------------- .kokoro/samples/python3.7/continuous.cfg | 6 --- .kokoro/samples/python3.7/periodic-head.cfg | 11 ----- .kokoro/samples/python3.7/periodic.cfg | 6 --- .kokoro/samples/python3.7/presubmit.cfg | 6 --- .kokoro/samples/python3.8/common.cfg | 40 ---------------- .kokoro/samples/python3.8/continuous.cfg | 6 --- .kokoro/samples/python3.8/periodic-head.cfg | 11 ----- .kokoro/samples/python3.8/periodic.cfg | 6 --- .kokoro/samples/python3.8/presubmit.cfg | 6 --- .kokoro/samples/python3.9/common.cfg | 40 ---------------- .kokoro/samples/python3.9/continuous.cfg | 6 --- .kokoro/samples/python3.9/periodic-head.cfg | 11 ----- .kokoro/samples/python3.9/periodic.cfg | 6 --- .kokoro/samples/python3.9/presubmit.cfg | 6 --- .kokoro/test-samples-against-head.sh | 3 ++ .kokoro/test-samples-impl.sh | 53 +++++++-------------- .kokoro/test-samples.sh | 3 ++ owlbot.py | 8 +++- 25 files changed, 47 insertions(+), 293 deletions(-) delete mode 100644 .kokoro/samples/python3.7/common.cfg delete mode 100644 .kokoro/samples/python3.7/continuous.cfg delete mode 100644 .kokoro/samples/python3.7/periodic-head.cfg delete mode 100644 .kokoro/samples/python3.7/periodic.cfg delete mode 100644 .kokoro/samples/python3.7/presubmit.cfg delete mode 100644 .kokoro/samples/python3.8/common.cfg delete mode 100644 .kokoro/samples/python3.8/continuous.cfg delete mode 100644 .kokoro/samples/python3.8/periodic-head.cfg delete mode 100644 .kokoro/samples/python3.8/periodic.cfg delete mode 100644 .kokoro/samples/python3.8/presubmit.cfg delete mode 100644 .kokoro/samples/python3.9/common.cfg delete mode 100644 .kokoro/samples/python3.9/continuous.cfg delete mode 100644 .kokoro/samples/python3.9/periodic-head.cfg delete mode 100644 .kokoro/samples/python3.9/periodic.cfg delete mode 100644 .kokoro/samples/python3.9/presubmit.cfg diff --git a/.kokoro/samples/lint/common.cfg b/.kokoro/samples/lint/common.cfg index de81d49ddf3..26fd907aea7 100644 --- a/.kokoro/samples/lint/common.cfg +++ b/.kokoro/samples/lint/common.cfg @@ -21,14 +21,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.10/common.cfg b/.kokoro/samples/python3.10/common.cfg index b1a684ce5f8..dc97e01456f 100644 --- a/.kokoro/samples/python3.10/common.cfg +++ b/.kokoro/samples/python3.10/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.10" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-310" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -27,14 +21,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.11/common.cfg b/.kokoro/samples/python3.11/common.cfg index 0df5ac77f3a..bdc3170c104 100644 --- a/.kokoro/samples/python3.11/common.cfg +++ b/.kokoro/samples/python3.11/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.11" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-311" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -27,14 +21,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.12/common.cfg b/.kokoro/samples/python3.12/common.cfg index 3d6669cf426..29cf43c31c7 100644 --- a/.kokoro/samples/python3.12/common.cfg +++ b/.kokoro/samples/python3.12/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.12" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-312" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -27,14 +21,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file +build_file: "google-api-python-client/.kokoro/trampoline.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.13/common.cfg b/.kokoro/samples/python3.13/common.cfg index 25f2a9ed5ec..ac97d8948d8 100644 --- a/.kokoro/samples/python3.13/common.cfg +++ b/.kokoro/samples/python3.13/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.13" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-313" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -27,14 +21,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" +build_file: "google-api-python-client/.kokoro/trampoline.sh" diff --git a/.kokoro/samples/python3.14/common.cfg b/.kokoro/samples/python3.14/common.cfg index e9d0480a348..bd5ecb260aa 100644 --- a/.kokoro/samples/python3.14/common.cfg +++ b/.kokoro/samples/python3.14/common.cfg @@ -13,12 +13,6 @@ env_vars: { value: "py-3.14" } -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-314" -} - env_vars: { key: "TRAMPOLINE_BUILD_FILE" value: "github/google-api-python-client/.kokoro/test-samples.sh" @@ -27,14 +21,14 @@ env_vars: { # Configure the docker image for kokoro-trampoline. env_vars: { key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" + value: "gcr.io/cloud-devrel-kokoro-resources/python-multi" } # Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" # Download trampoline resources. gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" +build_file: "google-api-python-client/.kokoro/trampoline.sh" diff --git a/.kokoro/samples/python3.7/common.cfg b/.kokoro/samples/python3.7/common.cfg deleted file mode 100644 index 51153192905..00000000000 --- a/.kokoro/samples/python3.7/common.cfg +++ /dev/null @@ -1,40 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -# Build logs will be here -action { - define_artifacts { - regex: "**/*sponge_log.xml" - } -} - -# Specify which tests to run -env_vars: { - key: "RUN_TESTS_SESSION" - value: "py-3.7" -} - -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-py37" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" -} - -# Configure the docker image for kokoro-trampoline. -env_vars: { - key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" -} - -# Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" - -# Download trampoline resources. -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" - -# Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.7/continuous.cfg b/.kokoro/samples/python3.7/continuous.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.7/continuous.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.7/periodic-head.cfg b/.kokoro/samples/python3.7/periodic-head.cfg deleted file mode 100644 index fff273b4711..00000000000 --- a/.kokoro/samples/python3.7/periodic-head.cfg +++ /dev/null @@ -1,11 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples-against-head.sh" -} diff --git a/.kokoro/samples/python3.7/periodic.cfg b/.kokoro/samples/python3.7/periodic.cfg deleted file mode 100644 index 71cd1e597e3..00000000000 --- a/.kokoro/samples/python3.7/periodic.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "False" -} diff --git a/.kokoro/samples/python3.7/presubmit.cfg b/.kokoro/samples/python3.7/presubmit.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.7/presubmit.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.8/common.cfg b/.kokoro/samples/python3.8/common.cfg deleted file mode 100644 index 51397da6b2b..00000000000 --- a/.kokoro/samples/python3.8/common.cfg +++ /dev/null @@ -1,40 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -# Build logs will be here -action { - define_artifacts { - regex: "**/*sponge_log.xml" - } -} - -# Specify which tests to run -env_vars: { - key: "RUN_TESTS_SESSION" - value: "py-3.8" -} - -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-py38" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" -} - -# Configure the docker image for kokoro-trampoline. -env_vars: { - key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" -} - -# Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" - -# Download trampoline resources. -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" - -# Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.8/continuous.cfg b/.kokoro/samples/python3.8/continuous.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.8/continuous.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.8/periodic-head.cfg b/.kokoro/samples/python3.8/periodic-head.cfg deleted file mode 100644 index fff273b4711..00000000000 --- a/.kokoro/samples/python3.8/periodic-head.cfg +++ /dev/null @@ -1,11 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples-against-head.sh" -} diff --git a/.kokoro/samples/python3.8/periodic.cfg b/.kokoro/samples/python3.8/periodic.cfg deleted file mode 100644 index 71cd1e597e3..00000000000 --- a/.kokoro/samples/python3.8/periodic.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "False" -} diff --git a/.kokoro/samples/python3.8/presubmit.cfg b/.kokoro/samples/python3.8/presubmit.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.8/presubmit.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.9/common.cfg b/.kokoro/samples/python3.9/common.cfg deleted file mode 100644 index 7afd4f279ee..00000000000 --- a/.kokoro/samples/python3.9/common.cfg +++ /dev/null @@ -1,40 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -# Build logs will be here -action { - define_artifacts { - regex: "**/*sponge_log.xml" - } -} - -# Specify which tests to run -env_vars: { - key: "RUN_TESTS_SESSION" - value: "py-3.9" -} - -# Declare build specific Cloud project. -env_vars: { - key: "BUILD_SPECIFIC_GCLOUD_PROJECT" - value: "python-docs-samples-tests-py39" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples.sh" -} - -# Configure the docker image for kokoro-trampoline. -env_vars: { - key: "TRAMPOLINE_IMAGE" - value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" -} - -# Download secrets for samples -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" - -# Download trampoline resources. -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" - -# Use the trampoline script to run in docker. -build_file: "google-api-python-client/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.9/continuous.cfg b/.kokoro/samples/python3.9/continuous.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.9/continuous.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/samples/python3.9/periodic-head.cfg b/.kokoro/samples/python3.9/periodic-head.cfg deleted file mode 100644 index fff273b4711..00000000000 --- a/.kokoro/samples/python3.9/periodic-head.cfg +++ /dev/null @@ -1,11 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} - -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-api-python-client/.kokoro/test-samples-against-head.sh" -} diff --git a/.kokoro/samples/python3.9/periodic.cfg b/.kokoro/samples/python3.9/periodic.cfg deleted file mode 100644 index 71cd1e597e3..00000000000 --- a/.kokoro/samples/python3.9/periodic.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "False" -} diff --git a/.kokoro/samples/python3.9/presubmit.cfg b/.kokoro/samples/python3.9/presubmit.cfg deleted file mode 100644 index a1c8d9759c8..00000000000 --- a/.kokoro/samples/python3.9/presubmit.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# Format: //devtools/kokoro/config/proto/build.proto - -env_vars: { - key: "INSTALL_LIBRARY_FROM_SOURCE" - value: "True" -} \ No newline at end of file diff --git a/.kokoro/test-samples-against-head.sh b/.kokoro/test-samples-against-head.sh index e9d8bd79a64..5bbb6a71f2a 100755 --- a/.kokoro/test-samples-against-head.sh +++ b/.kokoro/test-samples-against-head.sh @@ -23,4 +23,7 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar +export PROJECT_ROOT=$(realpath $(dirname "${BASH_SOURCE[0]}")/..) +cd "${PROJECT_ROOT}" + exec .kokoro/test-samples-impl.sh diff --git a/.kokoro/test-samples-impl.sh b/.kokoro/test-samples-impl.sh index 53e365bc4e7..d61e7b6ebe2 100755 --- a/.kokoro/test-samples-impl.sh +++ b/.kokoro/test-samples-impl.sh @@ -13,11 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. - -# `-e` enables the script to automatically fail when a command fails -# `-o pipefail` sets the exit code to the rightmost comment to exit with a non-zero set -eo pipefail -# Enables `**` to include files nested inside sub-folders shopt -s globstar # Exit early if samples don't exist @@ -33,42 +29,32 @@ export PYTHONUNBUFFERED=1 env | grep KOKORO # Install nox -# `virtualenv==20.26.6` is added for Python 3.7 compatibility -python3.9 -m pip install --upgrade --quiet nox virtualenv==20.26.6 -# Use secrets acessor service account to get secrets -if [[ -f "${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" ]]; then - gcloud auth activate-service-account \ - --key-file="${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" \ - --project="cloud-devrel-kokoro-resources" +# Setup project id. +if [[ -f "${KOKORO_GFILE_DIR}/project-id.json" ]]; then + export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json") + export GOOGLE_CLOUD_PROJECT="${PROJECT_ID}" + gcloud config set project "$PROJECT_ID" + + # Compute tests require CLOUD_STORAGE_BUCKET. We reuse a fixed bucket name + # within the project so it doesn't leak thousands of buckets over time. + export CLOUD_STORAGE_BUCKET="${PROJECT_ID}-api-client-compute" fi -# This script will create 3 files: -# - testing/test-env.sh -# - testing/service-account.json -# - testing/client-secrets.json -./scripts/decrypt-secrets.sh - -source ./testing/test-env.sh -export GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/testing/service-account.json - -# For cloud-run session, we activate the service account for gcloud sdk. -gcloud auth activate-service-account \ - --key-file "${GOOGLE_APPLICATION_CREDENTIALS}" - -export GOOGLE_CLIENT_SECRETS=$(pwd)/testing/client-secrets.json +# Setup service account credentials. +if [[ -f "${KOKORO_GFILE_DIR}/service-account.json" ]]; then + export GOOGLE_APPLICATION_CREDENTIALS="${KOKORO_GFILE_DIR}/service-account.json" + gcloud auth activate-service-account --key-file="${GOOGLE_APPLICATION_CREDENTIALS}" +fi echo -e "\n******************** TESTING PROJECTS ********************" -# Switch to 'fail at end' to allow all tests to complete before exiting. set +e -# Use RTN to return a non-zero value if the test fails. RTN=0 ROOT=$(pwd) # Find all requirements.txt in the samples directory (may break on whitespace). for file in samples/**/requirements.txt; do cd "$ROOT" - # Navigate to the project folder. file=$(dirname "$file") cd "$file" @@ -76,12 +62,9 @@ for file in samples/**/requirements.txt; do echo "- testing $file" echo "------------------------------------------------------------" - # Use nox to execute the tests for the project. - python3.9 -m nox -s "$RUN_TESTS_SESSION" + python3 -m nox -s "$RUN_TESTS_SESSION" EXIT=$? - # If this is a periodic build, send the test log to the FlakyBot. - # See https://github.com/googleapis/repo-automation-bots/tree/main/packages/flakybot. if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot $KOKORO_GFILE_DIR/linux_amd64/flakybot @@ -93,11 +76,7 @@ for file in samples/**/requirements.txt; do else echo -e "\n Testing completed.\n" fi - done -cd "$ROOT" - -# Workaround for Kokoro permissions issue: delete secrets -rm testing/{test-env.sh,client-secrets.json,service-account.json} +cd "$ROOT" exit "$RTN" diff --git a/.kokoro/test-samples.sh b/.kokoro/test-samples.sh index 7933d820149..e537eace360 100755 --- a/.kokoro/test-samples.sh +++ b/.kokoro/test-samples.sh @@ -24,6 +24,9 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar +export PROJECT_ROOT=$(realpath $(dirname "${BASH_SOURCE[0]}")/..) +cd "${PROJECT_ROOT}" + # Run periodic samples tests at latest release if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then # preserving the test runner implementation. diff --git a/owlbot.py b/owlbot.py index e0b39f67489..be52e78d537 100644 --- a/owlbot.py +++ b/owlbot.py @@ -37,7 +37,13 @@ ) # Copy kokoro configs. -s.move(templated_files / ".kokoro") +s.move( + templated_files / ".kokoro", + excludes=[ + "samples/**", + "test-samples*.sh" + ] +) s.move(templated_files / ".trampolinerc") # config file for trampoline_v2 # Also move issue templates From f3a86f36f020b95a64b8abe75eb8ac1d29ad62e9 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Thu, 18 Jun 2026 22:43:29 +0000 Subject: [PATCH 17/17] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20?= =?UTF-8?q?post-processor?= 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 --- owlbot.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/owlbot.py b/owlbot.py index be52e78d537..7ee3d49cf8e 100644 --- a/owlbot.py +++ b/owlbot.py @@ -37,13 +37,7 @@ ) # Copy kokoro configs. -s.move( - templated_files / ".kokoro", - excludes=[ - "samples/**", - "test-samples*.sh" - ] -) +s.move(templated_files / ".kokoro", excludes=["samples/**", "test-samples*.sh"]) s.move(templated_files / ".trampolinerc") # config file for trampoline_v2 # Also move issue templates