Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feast 0.3 Continuous Integration (CI) Update #271

Merged
merged 25 commits into from
Oct 28, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
c768acf
Update prow config and test script so it works for Feast 0.3
davidheryanto Oct 24, 2019
4e747ef
Update CI test script for golang to use correct path
davidheryanto Oct 24, 2019
eac9d8f
Set pipefail option so test exit code is correct
davidheryanto Oct 24, 2019
f05be18
Update group id and version grpc-spring-boot-starter dependency
davidheryanto Oct 24, 2019
5bece03
Add JVM heap settings for Maven surefire
davidheryanto Oct 24, 2019
cf71297
Fix potential setup/teardown error when running ImportJobTest
davidheryanto Oct 24, 2019
ce6d554
Update remote URI to download cached Maven packages
davidheryanto Oct 24, 2019
ca70a9d
Fix path to logs artifacts
davidheryanto Oct 24, 2019
7341925
Merge branch '0.3-dev' into feast-prow-update
davidheryanto Oct 24, 2019
d79dfc0
Update maven enforcer rule for Maven and JDK versions
davidheryanto Oct 24, 2019
df5a47d
Use batch mode when initializing Maven for cleaner build log
davidheryanto Oct 24, 2019
dabd984
Skip maven enforcer when running test for specific project
davidheryanto Oct 24, 2019
66d2f6f
Fix incorrect order for java-sdk test script
davidheryanto Oct 24, 2019
42c8c5f
Install database and kafka dependencies for Feast end to end test
davidheryanto Oct 25, 2019
5bb25b3
Update Python SDK to not set source in FeatureSet when using default …
davidheryanto Oct 26, 2019
e33ae28
Merge branch '0.3-dev' into feast-prow-update
davidheryanto Oct 26, 2019
48a7139
Fix Python SDK type mapping
davidheryanto Oct 27, 2019
1756e68
Refactor prow scripts such that every test is defined in a separate s…
davidheryanto Oct 27, 2019
546b215
Remove reference to actual project id
davidheryanto Oct 27, 2019
85f3282
Log current stage in end to end test script
davidheryanto Oct 27, 2019
679ff12
Fix missing option to specify miniconda download target
davidheryanto Oct 27, 2019
5806366
Fix incorrect path to installing Python SDK
davidheryanto Oct 27, 2019
a958eda
Add small wait after ingestion, before validating the saved features,…
davidheryanto Oct 27, 2019
23bb84f
Increase wait time before checking, after applying feature set
davidheryanto Oct 27, 2019
675c32a
Make log cleaner
davidheryanto Oct 27, 2019
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
112 changes: 18 additions & 94 deletions .prow/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ plank:
deck:
tide_update_period: 1s
spyglass:
size_limit: 100e+6 # 100MB
size_limit: 50e+6 # 50MB
viewers:
"started.json|finished.json": ["metadata"]
"build-log.txt": ["buildlog"]
Expand Down Expand Up @@ -50,132 +50,56 @@ tide:
# presubmits list Prow jobs that run on pull requests
presubmits:
gojek/feast:
- name: unit-test-core
- name: test-core-and-ingestion
decorate: true
always_run: true
spec:
volumes:
- name: service-account
secret:
secretName: prow-service-account
containers:
- image: maven:3.6-jdk-8
volumeMounts:
- name: service-account
mountPath: /etc/service-account
readOnly: true
env:
- name: GOOGLE_APPLICATION_CREDENTIALS
value: /etc/service-account/service-account.json
command: [".prow/scripts/run_unit_test.sh", "--component", "core"]
command: [".prow/scripts/test-core-ingestion.sh"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davidheryanto Would it make more sense to move these scripts to /tests or /infra instead of prow?


- name: unit-test-ingestion
- name: test-serving
decorate: true
always_run: true
spec:
volumes:
- name: service-account
secret:
secretName: prow-service-account
containers:
- image: maven:3.6-jdk-8
volumeMounts:
- name: service-account
mountPath: /etc/service-account
readOnly: true
env:
- name: GOOGLE_APPLICATION_CREDENTIALS
value: /etc/service-account/service-account.json
command: [".prow/scripts/run_unit_test.sh", "--component", "ingestion"]
command: [".prow/scripts/test-serving.sh"]

- name: unit-test-serving
- name: test-java-sdk
decorate: true
always_run: true
spec:
containers:
- image: maven:3.6-jdk-8
command: [".prow/scripts/run_unit_test.sh", "--component", "serving"]
command: [".prow/scripts/test-java-sdk.sh"]

- name: unit-test-cli
- name: test-python-sdk
decorate: true
always_run: true
spec:
containers:
- image: golang:1.12
env:
- name: GO111MODULE
value: "on"
command: [".prow/scripts/run_unit_test.sh", "--component", "cli"]
- image: python:3.7
command: [".prow/scripts/test-python-sdk.sh"]

- name: unit-test-python-sdk
- name: test-golang-sdk
decorate: true
always_run: true
spec:
volumes:
- name: service-account
secret:
secretName: prow-service-account
containers:
- image: python:3.6
volumeMounts:
- name: service-account
mountPath: /etc/service-account
readOnly: true
env:
- name: GOOGLE_APPLICATION_CREDENTIALS
value: /etc/service-account/service-account.json
command: [".prow/scripts/run_unit_test.sh", "--component", "python-sdk"]
- image: golang:1.13
command: [".prow/scripts/test-golang-sdk.sh"]

- name: integration-test
- name: test-end-to-end
decorate: true
always_run: true
spec:
volumes:
- name: docker-socket-volume
hostPath:
path: /var/run/docker.sock
type: File
- name: service-account
secret:
secretName: prow-service-account
nodeSelector:
os: ubuntu
containers:
- image: google/cloud-sdk
# securityContext and docker socket volume mounts are needed because we are building
# Docker images in this job
securityContext:
privileged: true
volumeMounts:
- name: docker-socket-volume
mountPath: /var/run/docker.sock
- name: service-account
mountPath: /etc/service-account
readOnly: true
command:
- bash
- -c
- |
export FEAST_HOME=${PWD}
export FEAST_IMAGE_REGISTRY=us.gcr.io
export FEAST_IMAGE_TAG=${PULL_PULL_SHA}
export FEAST_WAREHOUSE_DATASET=feast_build_${BUILD_ID}
export FEAST_CORE_URL=build-${BUILD_ID:0:5}.drone.feast.ai:80
export FEAST_SERVING_URL=build-${BUILD_ID:0:5}.drone.feast.ai:80
export FEAST_RELEASE_NAME=feast-${BUILD_ID:0:5}
export BATCH_IMPORT_DATA_GCS_PATH=gs://feast-templocation-kf-feast/build_${BUILD_ID:0:5}/integration-tests/testdata/feature_values/ingestion_1.csv
export KAFKA_BROKERS=10.128.0.201:9092
export KAFKA_TOPICS=feast_build_${BUILD_ID:0:5}
. .prow/scripts/prepare_integration_test.sh
.prow/scripts/install_feast_and_run_e2e_test.sh
TEST_EXIT_CODE=$?
.prow/scripts/cleanup_feast_installation.sh
exit ${TEST_EXIT_CODE}
- image: maven:3.6-jdk-8
command: [".prow/scripts/test-end-to-end.sh"]

# TODO: do a release when a git tag is pushed
# postsubmits list Prow jobs that run on every push
#
# postsubmits list Prow jobs that run on every push
# postsubmits:
# gojek/feast:
# gojek/feast:
6 changes: 0 additions & 6 deletions .prow/scripts/cleanup_feast_installation.sh

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,11 @@ done
if [[ ! ${ARCHIVE_URI} ]]; then usage; exit 1; fi
if [[ ! ${OUTPUT_DIR} ]]; then usage; exit 1; fi

# Install Google Cloud SDK if gsutil command not exists
if [[ ! $(command -v gsutil) ]]; then
CURRENT_DIR=$(dirname "$BASH_SOURCE")
. "${CURRENT_DIR}"/install_google_cloud_sdk.sh
fi

gsutil -q cp ${ARCHIVE_URI} /tmp/.m2.tar
tar xf /tmp/.m2.tar -C ${OUTPUT_DIR}
60 changes: 0 additions & 60 deletions .prow/scripts/install_feast_and_run_e2e_test.sh

This file was deleted.

9 changes: 0 additions & 9 deletions .prow/scripts/install_feast_sdk.sh

This file was deleted.

4 changes: 2 additions & 2 deletions .prow/scripts/install_google_cloud_sdk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ while [ "$1" != "" ]; do
shift
done

GOOGLE_CLOUD_SDK_ARCHIVE_URL=https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-244.0.0-linux-x86_64.tar.gz
GOOGLE_CLOUD_SDK_ARCHIVE_URL=https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-266.0.0-linux-x86_64.tar.gz
GOOGLE_PROJECT_ID=kf-feast
KUBE_CLUSTER_NAME=primary-test-cluster
KUBE_CLUSTER_ZONE=us-central1-a

curl -s ${GOOGLE_CLOUD_SDK_ARCHIVE_URL} | tar xz -C /
export PATH=/google-cloud-sdk/bin:${PATH}
gcloud -q components install kubectl
gcloud -q components install kubectl &> /var/log/kubectl.install.log

if [[ ${KEY_FILE} ]]; then
gcloud -q auth activate-service-account --key-file=${KEY_FILE}
Expand Down
24 changes: 0 additions & 24 deletions .prow/scripts/install_test_tools.sh

This file was deleted.

65 changes: 0 additions & 65 deletions .prow/scripts/prepare_integration_test.sh

This file was deleted.

Loading