From f4882f7f815e77072022a2b414e0c55eb630a5c2 Mon Sep 17 00:00:00 2001 From: Willem Pienaar Date: Thu, 29 Apr 2021 16:12:29 -0700 Subject: [PATCH 1/7] Add test matrix for different Python versions Signed-off-by: Willem Pienaar --- .github/workflows/unit_tests.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 0b65101fca3..5877cc27796 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -1,16 +1,24 @@ name: unit-tests on: [push, pull_request] - jobs: unit-test-python: - runs-on: ubuntu-latest - container: python:3.7 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: [ 3.7, 3.8, 3.9 ] + os: [ ubuntu-latest, macOS-latest, windows-latest ] steps: - uses: actions/checkout@v2 - - name: Install dependencies + - name: Setup Python ${{ matrix.python-version }} on ${{ matrix.os }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - name: Install dependencies ${{ matrix.python-version }} on ${{ matrix.os }} run: make install-python-ci-dependencies - - name: Test Python + - name: Test Python ${{ matrix.python-version }} on ${{ matrix.os }} run: make test-python unit-test-go: From 805560abbea2fac25ddfea9fce675dba7443553b Mon Sep 17 00:00:00 2001 From: Willem Pienaar Date: Thu, 29 Apr 2021 16:14:57 -0700 Subject: [PATCH 2/7] Remove windows dependencies Signed-off-by: Willem Pienaar --- .github/workflows/unit_tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 5877cc27796..afa1b5043c9 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -8,17 +8,17 @@ jobs: fail-fast: false matrix: python-version: [ 3.7, 3.8, 3.9 ] - os: [ ubuntu-latest, macOS-latest, windows-latest ] + os: [ ubuntu-latest, macOS-latest] steps: - uses: actions/checkout@v2 - - name: Setup Python ${{ matrix.python-version }} on ${{ matrix.os }} + - name: Setup Python uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} architecture: x64 - - name: Install dependencies ${{ matrix.python-version }} on ${{ matrix.os }} + - name: Install dependencies run: make install-python-ci-dependencies - - name: Test Python ${{ matrix.python-version }} on ${{ matrix.os }} + - name: Test Python run: make test-python unit-test-go: From c4ee785b2a4fdae0f70653a1017dce5055aeb457 Mon Sep 17 00:00:00 2001 From: Willem Pienaar Date: Thu, 29 Apr 2021 16:31:35 -0700 Subject: [PATCH 3/7] Bump Pyarrow version Signed-off-by: Willem Pienaar --- sdk/python/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 34a51d3a296..ea7be37f751 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -51,7 +51,7 @@ "pandas~=1.0.0", "pandavro==1.5.*", "protobuf>=3.10", - "pyarrow==2.0.0", + "pyarrow>=2.0.0", "pydantic>=1.0.0", "PyYAML==5.3.*", "tabulate==0.8.*", From f4554f6f40ae85424376e5f9e55729ca27621c9e Mon Sep 17 00:00:00 2001 From: Willem Pienaar Date: Thu, 29 Apr 2021 16:35:51 -0700 Subject: [PATCH 4/7] Add test matrix to integration tests Signed-off-by: Willem Pienaar --- .github/workflows/integration_tests.yml | 13 +++++++++++-- .github/workflows/pr_integration_tests.yml | 13 +++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index a21301e38f4..15be182e862 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -7,10 +7,19 @@ on: jobs: integration-test-python: - runs-on: ubuntu-latest - container: python:3.7 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: [ 3.7, 3.8, 3.9 ] + os: [ ubuntu-latest, macOS-latest ] steps: - uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 - name: Set up Cloud SDK uses: google-github-actions/setup-gcloud@master with: diff --git a/.github/workflows/pr_integration_tests.yml b/.github/workflows/pr_integration_tests.yml index 66fc6eb6430..cab2d212def 100644 --- a/.github/workflows/pr_integration_tests.yml +++ b/.github/workflows/pr_integration_tests.yml @@ -12,8 +12,12 @@ jobs: # all jobs MUST have this if check for 'ok-to-test' or 'approved' for security purposes. if: (github.event.action == 'labeled' && (github.event.label.name == 'approved' || github.event.label.name == 'ok-to-test')) || (github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved'))) - runs-on: ubuntu-latest - container: python:3.7 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: [ 3.7, 3.8, 3.9 ] + os: [ ubuntu-latest, macOS-latest ] services: redis: image: redis @@ -30,6 +34,11 @@ jobs: # code from the PR. ref: refs/pull/${{ github.event.pull_request.number }}/merge submodules: recursive + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 - name: Set up Cloud SDK uses: google-github-actions/setup-gcloud@master with: From 481991b46f2cbda81d358c3ab40876b4ea1d0832 Mon Sep 17 00:00:00 2001 From: Willem Pienaar Date: Thu, 29 Apr 2021 17:23:34 -0700 Subject: [PATCH 5/7] Relax grpcio-tools version Signed-off-by: Willem Pienaar --- sdk/python/setup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/python/setup.py b/sdk/python/setup.py index ea7be37f751..664911ac5bb 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -72,8 +72,8 @@ "flake8", "black==19.10b0", "isort>=5", - "grpcio-tools>=1.32.0", - "grpcio-testing>=1.32.0", + "grpcio-tools==1.37.1", + "grpcio-testing==1.37.1", "mock==2.0.0", "moto", "mypy==0.790", @@ -205,7 +205,7 @@ def run(self): ], entry_points={"console_scripts": ["feast=feast.cli:cli"]}, use_scm_version={"root": "../..", "relative_to": __file__, "tag_regex": TAG_REGEX}, - setup_requires=["setuptools_scm", "grpcio", "grpcio-tools>=1.32.0", "mypy-protobuf", "sphinx"], + setup_requires=["setuptools_scm", "grpcio", "grpcio-tools==1.37.0", "mypy-protobuf", "sphinx"], package_data={ "": [ "protos/feast/**/*.proto", From 071de64b6d0894c88b020f545f290b6202b01176 Mon Sep 17 00:00:00 2001 From: Willem Pienaar Date: Thu, 29 Apr 2021 17:34:58 -0700 Subject: [PATCH 6/7] Relax grpcio versions to 1.34 Signed-off-by: Willem Pienaar --- sdk/python/setup.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 664911ac5bb..baf9aa5c6c9 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -43,7 +43,7 @@ "fastavro>=0.22.11,<0.23", "google-api-core>=1.23.0", "googleapis-common-protos==1.52.*", - "grpcio>=1.32.0", + "grpcio>=1.34.0", "Jinja2>=2.0.0", "jsonschema", "mmh3", @@ -72,8 +72,8 @@ "flake8", "black==19.10b0", "isort>=5", - "grpcio-tools==1.37.1", - "grpcio-testing==1.37.1", + "grpcio-tools==1.34.0", + "grpcio-testing==1.34.0", "mock==2.0.0", "moto", "mypy==0.790", @@ -205,7 +205,7 @@ def run(self): ], entry_points={"console_scripts": ["feast=feast.cli:cli"]}, use_scm_version={"root": "../..", "relative_to": __file__, "tag_regex": TAG_REGEX}, - setup_requires=["setuptools_scm", "grpcio", "grpcio-tools==1.37.0", "mypy-protobuf", "sphinx"], + setup_requires=["setuptools_scm", "grpcio", "grpcio-tools==1.34.0", "mypy-protobuf", "sphinx"], package_data={ "": [ "protos/feast/**/*.proto", From 0525d8bf39714aaf3bb55c9824fd90fef68468b9 Mon Sep 17 00:00:00 2001 From: Willem Pienaar Date: Thu, 29 Apr 2021 18:01:08 -0700 Subject: [PATCH 7/7] Remove numpy version pin and pandas pin Signed-off-by: Willem Pienaar --- sdk/python/setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sdk/python/setup.py b/sdk/python/setup.py index baf9aa5c6c9..dd600c826db 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -47,8 +47,7 @@ "Jinja2>=2.0.0", "jsonschema", "mmh3", - "numpy<1.20.0", - "pandas~=1.0.0", + "pandas>=1.0.0", "pandavro==1.5.*", "protobuf>=3.10", "pyarrow>=2.0.0",