Skip to content
This repository has been archived by the owner on Nov 29, 2023. It is now read-only.

Commit

Permalink
feat: add support for streaming automl action recognition in v1p3beta…
Browse files Browse the repository at this point in the history
…1; make 'features' a positional param for annotate_video in betas (#31)

* Integrate Python GAPIC Microgenerator in googleapis.
This PR uses using documentai as an example.
Depends on googleapis/gapic-generator-python#402

PiperOrigin-RevId: 309824146

Source-Author: Google APIs <noreply@google.com>
Source-Date: Mon May 4 15:06:44 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: e0f9d9e1f9de890db765be46f45ca8490723e3eb
Source-Link: googleapis/googleapis@e0f9d9e

* chore(python): create thread_safety doc (#517)

This will be included in index.rst files. See https://github.com/googleapis/python-bigtable/pull/26/files

Source-Author: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Source-Date: Tue May 5 10:06:52 2020 -0700
Source-Repo: googleapis/synthtool
Source-Sha: 09c48461232ce929c34386259eb59018ad2d8eef
Source-Link: googleapis/synthtool@09c4846

* chore(python): remove extra #!/bin/bash (#538)

Co-authored-by: Jeffrey Rennie <rennie@google.com>

Source-Author: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Source-Date: Tue May 12 09:51:12 2020 -0700
Source-Repo: googleapis/synthtool
Source-Sha: 7482e79a82e353248769d819788adc1213e8c207
Source-Link: googleapis/synthtool@7482e79

* chore!: enable gapicv2 for monitoring/v3 API

This introduces the following breakages upon code regeneration, which are due to the `TimeSeriesQueryLanguageCondition` type being removed from `alert.proto` in a preceding change.

```
[ERROR] 6011: com.google.monitoring.v3.AlertPolicy$Condition: Field CONDITION_TIME_SERIES_QUERY_LANGUAGE_FIELD_NUMBER has been removed, but it was previously a constant
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition getConditionTimeSeriesQueryLanguage()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageConditionOrBuilder getConditionTimeSeriesQueryLanguageOrBuilder()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition: Method 'public boolean hasConditionTimeSeriesQueryLanguage()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition$Builder: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$Builder clearConditionTimeSeriesQueryLanguage()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition$Builder: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition getConditionTimeSeriesQueryLanguage()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition$Builder: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition$Builder getConditionTimeSeriesQueryLanguageBuilder()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition$Builder: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageConditionOrBuilder getConditionTimeSeriesQueryLanguageOrBuilder()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition$Builder: Method 'public boolean hasConditionTimeSeriesQueryLanguage()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition$Builder: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$Builder mergeConditionTimeSeriesQueryLanguage(com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition)' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition$Builder: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$Builder setConditionTimeSeriesQueryLanguage(com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition)' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$Condition$Builder: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$Builder setConditionTimeSeriesQueryLanguage(com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition$Builder)' has been removed
[ERROR] 6001: com.google.monitoring.v3.AlertPolicy$Condition$ConditionCase: Removed field CONDITION_TIME_SERIES_QUERY_LANGUAGE
[ERROR] 8001: com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition: Class com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition removed
[ERROR] 8001: com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition$Builder: Class com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition$Builder removed
[ERROR] 8001: com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageConditionOrBuilder: Class com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageConditionOrBuilder removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$ConditionOrBuilder: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageCondition getConditionTimeSeriesQueryLanguage()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$ConditionOrBuilder: Method 'public com.google.monitoring.v3.AlertPolicy$Condition$TimeSeriesQueryLanguageConditionOrBuilder getConditionTimeSeriesQueryLanguageOrBuilder()' has been removed
[ERROR] 7002: com.google.monitoring.v3.AlertPolicy$ConditionOrBuilder: Method 'public boolean hasConditionTimeSeriesQueryLanguage()' has been removed
```

Committer: @miraleung
PiperOrigin-RevId: 311581003

Source-Author: Google APIs <noreply@google.com>
Source-Date: Thu May 14 12:13:51 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: 123873dc7e2be35252d172205f67a375e70e9747
Source-Link: googleapis/googleapis@123873d

* fix: restore GAPIC v2 retry configs

Restores GAPIC v2 retry config overrides that were
mistakenly removed during migration.

PiperOrigin-RevId: 312088359

Source-Author: Google APIs <noreply@google.com>
Source-Date: Mon May 18 08:57:12 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: 5a90d467aa65e7f038f87585e8fbb45d74475e7c
Source-Link: googleapis/googleapis@5a90d46

* feat(v1p3beta1): added support for streaming automl action recognition.

PiperOrigin-RevId: 312101156

Source-Author: Google APIs <noreply@google.com>
Source-Date: Mon May 18 10:04:40 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: d1a9f02fd4fb263bae0383b4a5af0bbef33753d6
Source-Link: googleapis/googleapis@d1a9f02

* fix: point artman at gapic v1 for monitoring/v3 API

Committer: @miraleung
PiperOrigin-RevId: 312104480

Source-Author: Google APIs <noreply@google.com>
Source-Date: Mon May 18 10:19:39 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: e94ad376529fabdfd2fce00407926a0cefd38b9e
Source-Link: googleapis/googleapis@e94ad37

* Dialogflow weekly v2 library update:
- Minor comment updates.

PiperOrigin-RevId: 312123588

Source-Author: Google APIs <noreply@google.com>
Source-Date: Mon May 18 11:49:18 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: cd3ce2651c3921670217e664303976cdf76e9fe2
Source-Link: googleapis/googleapis@cd3ce26

* chore(python): remove one remaining extra bash line (#565)

To avoid generating bogus PRs

Co-authored-by: Jeffrey Rennie <rennie@google.com>

Source-Author: Carlos de la Guardia <cguardia@yahoo.com>
Source-Date: Tue May 19 11:57:19 2020 -0500
Source-Repo: googleapis/synthtool
Source-Sha: d2364eb80b840a36136c8ce12f1c6efabcc9600e
Source-Link: googleapis/synthtool@d2364eb

* Upgrade protoc-docs-plugin version to 0.7.0 to fix unstable docstrings.

PiperOrigin-RevId: 312689208

Source-Author: Google APIs <noreply@google.com>
Source-Date: Thu May 21 10:00:47 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: dec3204175104cef49bf21d685d5517caaf0058f
Source-Link: googleapis/googleapis@dec3204

* bazel: update protobuf, rules_go, gazelle, and gapic-generator-go versions
- protobuf v3.12.1
- rules_go v0.23.0
- gazelle v0.21.0
- gapic-generator-go v0.14.1

PiperOrigin-RevId: 313460921

Source-Author: Google APIs <noreply@google.com>
Source-Date: Wed May 27 14:10:16 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: c4e37010d74071851ff24121f522e802231ac86e
Source-Link: googleapis/googleapis@c4e3701

* Use correct resource type for DetachSubscriptionRequest

PiperOrigin-RevId: 313488995

Source-Author: Google APIs <noreply@google.com>
Source-Date: Wed May 27 16:45:32 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: eafa840ceec23b44a5c21670288107c661252711
Source-Link: googleapis/googleapis@eafa840

* docs: update python docs template (#576)

* docs: update python docs template

* sphinx change

Source-Author: kolea2 <45548808+kolea2@users.noreply.github.com>
Source-Date: Wed May 27 20:44:34 2020 -0400
Source-Repo: googleapis/synthtool
Source-Sha: 71b8a272549c06b5768d00fa48d3ae990e871bec
Source-Link: googleapis/synthtool@71b8a27

* feat: add templates for python samples projects (#506)

These templates will be used for templates in python-docs-samples
and in Python client libraries. The README generation code is a modified
version of
https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/scripts/readme-gen.

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>

Source-Author: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Source-Date: Thu May 28 14:39:58 2020 -0700
Source-Repo: googleapis/synthtool
Source-Sha: ffe10407ee2f261c799fb0d01bf32a8abc67ed1e
Source-Link: googleapis/synthtool@ffe1040

* chore: update default ignores for Python libraries (#586)

Source-Author: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Source-Date: Thu May 28 14:43:37 2020 -0700
Source-Repo: googleapis/synthtool
Source-Sha: e99975b6b49827b8720f0a885e218dbdb67849ca
Source-Link: googleapis/synthtool@e99975b

* feat: allow custom python versions in noxfile (#585)

Libraries on the microgenerator support a smaller range of Python versions (3.6+).

Source-Author: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Source-Date: Thu May 28 18:22:04 2020 -0700
Source-Repo: googleapis/synthtool
Source-Sha: 4e1d2cb79b02d7496b1452f91c518630c207145e
Source-Link: googleapis/synthtool@4e1d2cb

* docs: fix docs

Co-authored-by: Bu Sun Kim <busunkim@google.com>
  • Loading branch information
yoshi-automation and busunkim96 authored Jun 9, 2020
1 parent ce1e7de commit 586f920
Show file tree
Hide file tree
Showing 66 changed files with 4,016 additions and 2,600 deletions.
2 changes: 2 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ exclude =
# Exclude generated code.
**/proto/**
**/gapic/**
**/services/**
**/types/**
*_pb2.py

# Standard linting exemptions.
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
dist
build
eggs
.eggs
parts
bin
var
Expand Down Expand Up @@ -49,6 +50,7 @@ bigquery/docs/generated
# Virtual environment
env/
coverage.xml
sponge_log.xml

# System test environment variables.
system_tests/local_test_setup
Expand Down
2 changes: 0 additions & 2 deletions .kokoro/publish-docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

#!/bin/bash

set -eo pipefail

# Disable buffering, so that the logs stream through.
Expand Down
2 changes: 0 additions & 2 deletions .kokoro/release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

#!/bin/bash

set -eo pipefail

# Start the releasetool reporter
Expand Down
34 changes: 34 additions & 0 deletions .kokoro/samples/lint/common.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 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: "lint"
}

env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/python-videointelligence/.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: "python-videointelligence/.kokoro/trampoline.sh"
6 changes: 6 additions & 0 deletions .kokoro/samples/lint/continuous.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "True"
}
6 changes: 6 additions & 0 deletions .kokoro/samples/lint/periodic.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "False"
}
6 changes: 6 additions & 0 deletions .kokoro/samples/lint/presubmit.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "True"
}
34 changes: 34 additions & 0 deletions .kokoro/samples/python3.6/common.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 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.6"
}

env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/python-videointelligence/.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: "python-videointelligence/.kokoro/trampoline.sh"
7 changes: 7 additions & 0 deletions .kokoro/samples/python3.6/continuous.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "True"
}

6 changes: 6 additions & 0 deletions .kokoro/samples/python3.6/periodic.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "False"
}
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.6/presubmit.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "True"
}
34 changes: 34 additions & 0 deletions .kokoro/samples/python3.7/common.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 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/python-videointelligence/.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: "python-videointelligence/.kokoro/trampoline.sh"
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.7/continuous.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "True"
}
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.7/periodic.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "False"
}
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.7/presubmit.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "True"
}
34 changes: 34 additions & 0 deletions .kokoro/samples/python3.8/common.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 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/python-videointelligence/.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: "python-videointelligence/.kokoro/trampoline.sh"
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.8/continuous.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "True"
}
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.8/periodic.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "False"
}
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.8/presubmit.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Format: //devtools/kokoro/config/proto/build.proto

env_vars: {
key: "INSTALL_LIBRARY_FROM_SOURCE"
value: "True"
}
104 changes: 104 additions & 0 deletions .kokoro/test-samples.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#!/bin/bash
# Copyright 2020 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

cd github/python-videointelligence

# Run periodic samples tests at latest release
if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then
LATEST_RELEASE=$(git describe --abbrev=0 --tags)
git checkout $LATEST_RELEASE
fi

# Disable buffering, so that the logs stream through.
export PYTHONUNBUFFERED=1

# Debug: show build environment
env | grep KOKORO

# Install nox
python3.6 -m pip install --upgrade --quiet nox

# 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.6 -m nox -s "$RUN_TESTS_SESSION"
EXIT=$?

# If this is a periodic build, send the test log to the Build Cop Bot.
# See https://github.com/googleapis/repo-automation-bots/tree/master/packages/buildcop.
if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then
chmod +x $KOKORO_GFILE_DIR/linux_amd64/buildcop
$KOKORO_GFILE_DIR/linux_amd64/buildcop
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"
3 changes: 3 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,6 @@ recursive-include google *.json *.proto
recursive-include tests *
global-exclude *.py[co]
global-exclude __pycache__

# Exclude scripts for samples readmegen
prune scripts/readme-gen
Loading

0 comments on commit 586f920

Please sign in to comment.