From a4fc28036ca3c96e036e0665e9090fd87b9021dd Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 14 Jul 2021 16:17:53 +0000 Subject: [PATCH 1/4] build(python): remove python 3.7 from kokoro Dockerfile Source-Link: https://github.com/googleapis/synthtool/commit/e44dc0c742b1230887a73552357e0c18dcc30b92 Post-Processor: gcr.io/repo-automation-bots/owlbot-python:latest@sha256:5ff7446edeaede81c3ed58b23a4e76a5403fba1350ce28478045657303b6479d --- .github/.OwlBot.lock.yaml | 2 +- .kokoro/docker/docs/Dockerfile | 35 ++-------------------------------- .kokoro/test-samples-impl.sh | 6 +++--- 3 files changed, 6 insertions(+), 37 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index e2b39f94..cb06536d 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -1,3 +1,3 @@ docker: image: gcr.io/repo-automation-bots/owlbot-python:latest - digest: sha256:99d90d097e4a4710cc8658ee0b5b963f4426d0e424819787c3ac1405c9a26719 + digest: sha256:5ff7446edeaede81c3ed58b23a4e76a5403fba1350ce28478045657303b6479d diff --git a/.kokoro/docker/docs/Dockerfile b/.kokoro/docker/docs/Dockerfile index 412b0b56..4e1b1fb8 100644 --- a/.kokoro/docker/docs/Dockerfile +++ b/.kokoro/docker/docs/Dockerfile @@ -40,6 +40,7 @@ RUN apt-get update \ libssl-dev \ libsqlite3-dev \ portaudio19-dev \ + python3-distutils \ redis-server \ software-properties-common \ ssh \ @@ -59,40 +60,8 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* \ && rm -f /var/cache/apt/archives/*.deb - -COPY fetch_gpg_keys.sh /tmp -# Install the desired versions of Python. -RUN set -ex \ - && export GNUPGHOME="$(mktemp -d)" \ - && echo "disable-ipv6" >> "${GNUPGHOME}/dirmngr.conf" \ - && /tmp/fetch_gpg_keys.sh \ - && for PYTHON_VERSION in 3.7.8 3.8.5; do \ - wget --no-check-certificate -O python-${PYTHON_VERSION}.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \ - && wget --no-check-certificate -O python-${PYTHON_VERSION}.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \ - && gpg --batch --verify python-${PYTHON_VERSION}.tar.xz.asc python-${PYTHON_VERSION}.tar.xz \ - && rm -r python-${PYTHON_VERSION}.tar.xz.asc \ - && mkdir -p /usr/src/python-${PYTHON_VERSION} \ - && tar -xJC /usr/src/python-${PYTHON_VERSION} --strip-components=1 -f python-${PYTHON_VERSION}.tar.xz \ - && rm python-${PYTHON_VERSION}.tar.xz \ - && cd /usr/src/python-${PYTHON_VERSION} \ - && ./configure \ - --enable-shared \ - # This works only on Python 2.7 and throws a warning on every other - # version, but seems otherwise harmless. - --enable-unicode=ucs4 \ - --with-system-ffi \ - --without-ensurepip \ - && make -j$(nproc) \ - && make install \ - && ldconfig \ - ; done \ - && rm -rf "${GNUPGHOME}" \ - && rm -rf /usr/src/python* \ - && rm -rf ~/.cache/ - RUN wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \ - && python3.7 /tmp/get-pip.py \ && python3.8 /tmp/get-pip.py \ && rm /tmp/get-pip.py -CMD ["python3.7"] +CMD ["python3.8"] diff --git a/.kokoro/test-samples-impl.sh b/.kokoro/test-samples-impl.sh index cf5de74c..311a8d54 100755 --- a/.kokoro/test-samples-impl.sh +++ b/.kokoro/test-samples-impl.sh @@ -20,9 +20,9 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar -# Exit early if samples directory doesn't exist -if [ ! -d "./samples" ]; then - echo "No tests run. `./samples` not found" +# 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 From 0030811b505c3a57c2818ed0887ff3338fad0304 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Wed, 14 Jul 2021 12:48:53 -0400 Subject: [PATCH 2/4] remove unused file --- .kokoro/docker/docs/fetch_gpg_keys.sh | 45 --------------------------- 1 file changed, 45 deletions(-) delete mode 100755 .kokoro/docker/docs/fetch_gpg_keys.sh diff --git a/.kokoro/docker/docs/fetch_gpg_keys.sh b/.kokoro/docker/docs/fetch_gpg_keys.sh deleted file mode 100755 index d653dd86..00000000 --- a/.kokoro/docker/docs/fetch_gpg_keys.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/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 -# -# http://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. - -# A script to fetch gpg keys with retry. -# Avoid jinja parsing the file. -# - -function retry { - if [[ "${#}" -le 1 ]]; then - echo "Usage: ${0} retry_count commands.." - exit 1 - fi - local retries=${1} - local command="${@:2}" - until [[ "${retries}" -le 0 ]]; do - $command && return 0 - if [[ $? -ne 0 ]]; then - echo "command failed, retrying" - ((retries--)) - fi - done - return 1 -} - -# 3.6.9, 3.7.5 (Ned Deily) -retry 3 gpg --keyserver ha.pool.sks-keyservers.net --recv-keys \ - 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D - -# 3.8.0 (Ɓukasz Langa) -retry 3 gpg --keyserver ha.pool.sks-keyservers.net --recv-keys \ - E3FF2839C048B25C084DEBE9B26995E310250568 - -# From 58f525fd94f7d0203d00fbaa8fce16285997a565 Mon Sep 17 00:00:00 2001 From: Jim Fulton Date: Thu, 15 Jul 2021 11:38:36 -0400 Subject: [PATCH 3/4] Updated for changes in BigQuery schema field reprs --- tests/system/test_alembic.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/tests/system/test_alembic.py b/tests/system/test_alembic.py index 2ea7af18..49b0af10 100644 --- a/tests/system/test_alembic.py +++ b/tests/system/test_alembic.py @@ -82,9 +82,9 @@ def test_alembic_scenario(alembic_table): Column("description", String(200)), ) assert alembic_table("account", "schema") == [ - "SchemaField('id', 'INTEGER', 'REQUIRED')", - "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name')", - "SchemaField('description', 'STRING(200)', 'NULLABLE')", + "SchemaField('id', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name', (), ())", + "SchemaField('description', 'STRING(200)', 'NULLABLE', None, (), ())", ] op.bulk_insert( @@ -107,10 +107,11 @@ def test_alembic_scenario(alembic_table): ) assert alembic_table("account", "schema") == [ - "SchemaField('id', 'INTEGER', 'REQUIRED')", - "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name')", - "SchemaField('description', 'STRING(200)', 'NULLABLE')", - "SchemaField('last_transaction_date', 'DATETIME', 'NULLABLE', 'when updated')", + "SchemaField('id', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name', (), ())", + "SchemaField('description', 'STRING(200)', 'NULLABLE', None, (), ())", + "SchemaField('last_transaction_date', 'DATETIME', 'NULLABLE', 'when updated'" + ", (), ())", ] op.create_table( @@ -126,8 +127,8 @@ def test_alembic_scenario(alembic_table): op.drop_column("account_w_comment", "description") assert alembic_table("account_w_comment", "schema") == [ - "SchemaField('id', 'INTEGER', 'REQUIRED')", - "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name')", + "SchemaField('id', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name', (), ())", ] op.drop_table("account_w_comment") @@ -136,10 +137,11 @@ def test_alembic_scenario(alembic_table): op.rename_table("account", "accounts") assert alembic_table("account") is None assert alembic_table("accounts", "schema") == [ - "SchemaField('id', 'INTEGER', 'REQUIRED')", - "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name')", - "SchemaField('description', 'STRING(200)', 'NULLABLE')", - "SchemaField('last_transaction_date', 'DATETIME', 'NULLABLE', 'when updated')", + "SchemaField('id', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name', (), ())", + "SchemaField('description', 'STRING(200)', 'NULLABLE', None, (), ())", + "SchemaField('last_transaction_date', 'DATETIME', 'NULLABLE', 'when updated'" + ", (), ())", ] op.drop_table("accounts") assert alembic_table("accounts") is None @@ -159,9 +161,9 @@ def test_alembic_scenario(alembic_table): # nullable: op.alter_column("transactions", "amount", True) assert alembic_table("transactions", "schema") == [ - "SchemaField('account', 'INTEGER', 'REQUIRED')", - "SchemaField('transaction_time', 'DATETIME', 'REQUIRED')", - "SchemaField('amount', 'NUMERIC(11, 2)', 'NULLABLE')", + "SchemaField('account', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('transaction_time', 'DATETIME', 'REQUIRED', None, (), ())", + "SchemaField('amount', 'NUMERIC(11, 2)', 'NULLABLE', None, (), ())", ] op.create_table_comment("transactions", "Transaction log") From 7f6c1047c79918a6c5282f96cdefb5bbe3da6932 Mon Sep 17 00:00:00 2001 From: Jim Fulton Date: Thu, 15 Jul 2021 11:38:36 -0400 Subject: [PATCH 4/4] test: updated for changes in BigQuery schema field reprs --- tests/system/test_alembic.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/tests/system/test_alembic.py b/tests/system/test_alembic.py index 2ea7af18..49b0af10 100644 --- a/tests/system/test_alembic.py +++ b/tests/system/test_alembic.py @@ -82,9 +82,9 @@ def test_alembic_scenario(alembic_table): Column("description", String(200)), ) assert alembic_table("account", "schema") == [ - "SchemaField('id', 'INTEGER', 'REQUIRED')", - "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name')", - "SchemaField('description', 'STRING(200)', 'NULLABLE')", + "SchemaField('id', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name', (), ())", + "SchemaField('description', 'STRING(200)', 'NULLABLE', None, (), ())", ] op.bulk_insert( @@ -107,10 +107,11 @@ def test_alembic_scenario(alembic_table): ) assert alembic_table("account", "schema") == [ - "SchemaField('id', 'INTEGER', 'REQUIRED')", - "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name')", - "SchemaField('description', 'STRING(200)', 'NULLABLE')", - "SchemaField('last_transaction_date', 'DATETIME', 'NULLABLE', 'when updated')", + "SchemaField('id', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name', (), ())", + "SchemaField('description', 'STRING(200)', 'NULLABLE', None, (), ())", + "SchemaField('last_transaction_date', 'DATETIME', 'NULLABLE', 'when updated'" + ", (), ())", ] op.create_table( @@ -126,8 +127,8 @@ def test_alembic_scenario(alembic_table): op.drop_column("account_w_comment", "description") assert alembic_table("account_w_comment", "schema") == [ - "SchemaField('id', 'INTEGER', 'REQUIRED')", - "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name')", + "SchemaField('id', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name', (), ())", ] op.drop_table("account_w_comment") @@ -136,10 +137,11 @@ def test_alembic_scenario(alembic_table): op.rename_table("account", "accounts") assert alembic_table("account") is None assert alembic_table("accounts", "schema") == [ - "SchemaField('id', 'INTEGER', 'REQUIRED')", - "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name')", - "SchemaField('description', 'STRING(200)', 'NULLABLE')", - "SchemaField('last_transaction_date', 'DATETIME', 'NULLABLE', 'when updated')", + "SchemaField('id', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('name', 'STRING(50)', 'REQUIRED', 'The name', (), ())", + "SchemaField('description', 'STRING(200)', 'NULLABLE', None, (), ())", + "SchemaField('last_transaction_date', 'DATETIME', 'NULLABLE', 'when updated'" + ", (), ())", ] op.drop_table("accounts") assert alembic_table("accounts") is None @@ -159,9 +161,9 @@ def test_alembic_scenario(alembic_table): # nullable: op.alter_column("transactions", "amount", True) assert alembic_table("transactions", "schema") == [ - "SchemaField('account', 'INTEGER', 'REQUIRED')", - "SchemaField('transaction_time', 'DATETIME', 'REQUIRED')", - "SchemaField('amount', 'NUMERIC(11, 2)', 'NULLABLE')", + "SchemaField('account', 'INTEGER', 'REQUIRED', None, (), ())", + "SchemaField('transaction_time', 'DATETIME', 'REQUIRED', None, (), ())", + "SchemaField('amount', 'NUMERIC(11, 2)', 'NULLABLE', None, (), ())", ] op.create_table_comment("transactions", "Transaction log")