Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
4134113
Fix materialization bug
kevjumba Feb 15, 2022
926260b
oops removed something when i was copy pasting
kevjumba Feb 15, 2022
b4e9ac0
Test github workflow
kevjumba Feb 16, 2022
1281b2d
lint
kevjumba Feb 16, 2022
b404f4f
transfer to unit_tests
kevjumba Feb 16, 2022
f8dab19
Brute force implementation
kevjumba Feb 16, 2022
c05d2b2
Brute force implementation add gcc
kevjumba Feb 16, 2022
e53c75b
Brute force implementation add gcc
kevjumba Feb 16, 2022
eafc27d
Brute force implementation add gcc
kevjumba Feb 16, 2022
bbbb325
Brute force implementation add gcc
kevjumba Feb 16, 2022
ac08a7b
Continue fixing...
kevjumba Feb 16, 2022
fbb8b08
Remove gcc setup
kevjumba Feb 16, 2022
ef14ff4
Add integration test
kevjumba Feb 16, 2022
9916649
fix error
kevjumba Feb 16, 2022
6b82098
fix error
kevjumba Feb 16, 2022
89c1da8
Add setup
kevjumba Feb 16, 2022
0e9f1b3
temp fix to get integration tests to work
kevjumba Feb 16, 2022
ca3aa7b
temp fix to get integration tests to work
kevjumba Feb 16, 2022
03f76f1
temp fix to get integration tests to work
kevjumba Feb 16, 2022
6aeb5f4
temp fix to get integration tests to work
kevjumba Feb 16, 2022
c32ed21
Fix integration even more
kevjumba Feb 16, 2022
68c9b61
Fix integration even more
kevjumba Feb 16, 2022
caeb757
Fix lint
kevjumba Feb 16, 2022
8b9f2f1
only run one test
kevjumba Feb 16, 2022
1f060e0
Do some more integration testing
kevjumba Feb 16, 2022
931dc23
Do some more integration testing by adding bug to make sure no false …
kevjumba Feb 16, 2022
41f7c75
Integration testing works
kevjumba Feb 16, 2022
174af8e
Clean upu code
kevjumba Feb 16, 2022
d818c0a
Add redis cluster script for starting a redis cluster
kevjumba Feb 16, 2022
b2903f8
Reset integration yml file
kevjumba Feb 16, 2022
0b5dabd
lint
kevjumba Feb 16, 2022
1a4a155
Clean up
kevjumba Feb 16, 2022
52f239d
Fix how to guide lint
kevjumba Feb 16, 2022
a21e13f
add fixtures and remove excess code
kevjumba Feb 17, 2022
9c59fcc
lint
kevjumba Feb 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix integration even more
Signed-off-by: Kevin Zhang <kzhang@tecton.ai>
  • Loading branch information
kevjumba committed Feb 16, 2022
commit c32ed2175962c20780b3170630f770d60f953cb0
78 changes: 1 addition & 77 deletions .github/workflows/pr_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,62 +8,7 @@ on: [push, pull_request]
# cancel-in-progress: true

jobs:
build-docker-image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
# pull_request_target runs the workflow in the context of the base repo
# as such actions/checkout needs to be explicit configured to retrieve
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
submodules: recursive
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Set up AWS SDK
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Set ECR image tag
id: image-tag
run: echo "::set-output name=DOCKER_IMAGE_TAG::`git rev-parse HEAD`"
- name: Cache Public ECR Image
id: lambda_python_3_9
uses: actions/cache@v2
with:
path: ~/cache
key: lambda_python_3_9
- name: Handle Cache Miss (pull public ECR image & save it to tar file)
if: steps.cache-primes.outputs.cache-hit != 'true'
run: |
mkdir -p ~/cache
docker pull public.ecr.aws/lambda/python:3.9
docker save public.ecr.aws/lambda/python:3.9 -o ~/cache/lambda_python_3_9.tar
- name: Handle Cache Hit (load docker image from tar file)
if: steps.cache-primes.outputs.cache-hit == 'true'
run: |
docker load -i ~/cache/lambda_python_3_9.tar
- name: Build and push
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: feast-python-server
run: |
docker build \
--file sdk/python/feast/infra/feature_servers/aws_lambda/Dockerfile \
--tag $ECR_REGISTRY/$ECR_REPOSITORY:${{ steps.image-tag.outputs.DOCKER_IMAGE_TAG }} \
.
docker push $ECR_REGISTRY/$ECR_REPOSITORY:${{ steps.image-tag.outputs.DOCKER_IMAGE_TAG }}
outputs:
DOCKER_IMAGE_TAG: ${{ steps.image-tag.outputs.DOCKER_IMAGE_TAG }}
integration-test-python:
needs: build-docker-image
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand All @@ -89,30 +34,15 @@ jobs:
# pull_request_target runs the workflow in the context of the base repo
# as such actions/checkout needs to be explicit configured to retrieve
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
ref: refs/pull/2/merge
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
id: setup-python
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Set up gcloud SDK
uses: google-github-actions/setup-gcloud@v0
with:
project_id: ${{ secrets.GCP_PROJECT_ID }}
service_account_key: ${{ secrets.GCP_SA_KEY }}
export_default_credentials: true
- name: Use gcloud CLI
run: gcloud info
- name: Set up AWS SDK
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Use AWS CLI
run: aws sts get-caller-identity
- name: Upgrade pip version
run: |
pip install --upgrade "pip>=21.3.1"
Expand Down Expand Up @@ -141,14 +71,8 @@ jobs:
- name: Test python
if: ${{ always() }} # this will guarantee that step won't be canceled and resources won't leak
env:
FEAST_SERVER_DOCKER_IMAGE_TAG: ${{ needs.build-docker-image.outputs.DOCKER_IMAGE_TAG }}
FEAST_USAGE: "False"
IS_TEST: "True"
SNOWFLAKE_CI_DEPLOYMENT: ${{ secrets.SNOWFLAKE_CI_DEPLOYMENT }}
SNOWFLAKE_CI_USER: ${{ secrets.SNOWFLAKE_CI_USER }}
SNOWFLAKE_CI_PASSWORD: ${{ secrets.SNOWFLAKE_CI_PASSWORD }}
SNOWFLAKE_CI_ROLE: ${{ secrets.SNOWFLAKE_CI_ROLE }}
SNOWFLAKE_CI_WAREHOUSE: ${{ secrets.SNOWFLAKE_CI_WAREHOUSE }}
run: pytest -n 8 --cov=./ --cov-report=xml --verbose --color=yes sdk/python/tests --integration --durations=5
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
Expand Down
64 changes: 32 additions & 32 deletions sdk/python/tests/integration/feature_repos/repo_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,43 +61,43 @@
# module will be imported and FULL_REPO_CONFIGS will be extracted from the file.
DEFAULT_FULL_REPO_CONFIGS: List[IntegrationTestRepoConfig] = [
# Local configurations
IntegrationTestRepoConfig(),
IntegrationTestRepoConfig(python_feature_server=True),
# IntegrationTestRepoConfig(),
# IntegrationTestRepoConfig(python_feature_server=True),
IntegrationTestRepoConfig(online_store=REDIS_CONFIG),
IntegrationTestRepoConfig(online_store=REDIS_CLUSTER_CONFIG),
]
if os.getenv("FEAST_IS_LOCAL_TEST", "False") != "True":
DEFAULT_FULL_REPO_CONFIGS.extend(
[
IntegrationTestRepoConfig(online_store=REDIS_CONFIG),
IntegrationTestRepoConfig(online_store=REDIS_CLUSTER_CONFIG),
# GCP configurations
IntegrationTestRepoConfig(
provider="gcp",
offline_store_creator=BigQueryDataSourceCreator,
online_store="datastore",
),
IntegrationTestRepoConfig(
provider="gcp",
offline_store_creator=BigQueryDataSourceCreator,
online_store=REDIS_CONFIG,
),
# AWS configurations
IntegrationTestRepoConfig(
provider="aws",
offline_store_creator=RedshiftDataSourceCreator,
online_store=DYNAMO_CONFIG,
python_feature_server=True,
),
IntegrationTestRepoConfig(
provider="aws",
offline_store_creator=RedshiftDataSourceCreator,
online_store=REDIS_CONFIG,
),
# Snowflake configurations
IntegrationTestRepoConfig(
provider="aws", # no list features, no feature server
offline_store_creator=SnowflakeDataSourceCreator,
online_store=REDIS_CONFIG,
),
# IntegrationTestRepoConfig(
# provider="gcp",
# offline_store_creator=BigQueryDataSourceCreator,
# online_store="datastore",
# ),
# IntegrationTestRepoConfig(
# provider="gcp",
# offline_store_creator=BigQueryDataSourceCreator,
# online_store=REDIS_CONFIG,
# ),
# # AWS configurations
# IntegrationTestRepoConfig(
# provider="aws",
# offline_store_creator=RedshiftDataSourceCreator,
# online_store=DYNAMO_CONFIG,
# python_feature_server=True,
# ),
# IntegrationTestRepoConfig(
# provider="aws",
# offline_store_creator=RedshiftDataSourceCreator,
# online_store=REDIS_CONFIG,
# ),
# # Snowflake configurations
# IntegrationTestRepoConfig(
# provider="aws", # no list features, no feature server
# offline_store_creator=SnowflakeDataSourceCreator,
# online_store=REDIS_CONFIG,
# ),
]
)
full_repo_configs_module = os.environ.get(FULL_REPO_CONFIGS_MODULE_ENV_NAME)
Expand Down