-
Notifications
You must be signed in to change notification settings - Fork 996
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
feast-ci-bot
merged 25 commits into
feast-dev:0.3-dev
from
davidheryanto:feast-prow-update
Oct 28, 2019
Merged
Changes from 10 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 4e747ef
Update CI test script for golang to use correct path
davidheryanto eac9d8f
Set pipefail option so test exit code is correct
davidheryanto f05be18
Update group id and version grpc-spring-boot-starter dependency
davidheryanto 5bece03
Add JVM heap settings for Maven surefire
davidheryanto cf71297
Fix potential setup/teardown error when running ImportJobTest
davidheryanto ce6d554
Update remote URI to download cached Maven packages
davidheryanto ca70a9d
Fix path to logs artifacts
davidheryanto 7341925
Merge branch '0.3-dev' into feast-prow-update
davidheryanto d79dfc0
Update maven enforcer rule for Maven and JDK versions
davidheryanto df5a47d
Use batch mode when initializing Maven for cleaner build log
davidheryanto dabd984
Skip maven enforcer when running test for specific project
davidheryanto 66d2f6f
Fix incorrect order for java-sdk test script
davidheryanto 42c8c5f
Install database and kafka dependencies for Feast end to end test
davidheryanto 5bb25b3
Update Python SDK to not set source in FeatureSet when using default …
davidheryanto e33ae28
Merge branch '0.3-dev' into feast-prow-update
davidheryanto 48a7139
Fix Python SDK type mapping
davidheryanto 1756e68
Refactor prow scripts such that every test is defined in a separate s…
davidheryanto 546b215
Remove reference to actual project id
davidheryanto 85f3282
Log current stage in end to end test script
davidheryanto 679ff12
Fix missing option to specify miniconda download target
davidheryanto 5806366
Fix incorrect path to installing Python SDK
davidheryanto a958eda
Add small wait after ingestion, before validating the saved features,…
davidheryanto 23bb84f
Increase wait time before checking, after applying feature set
davidheryanto 675c32a
Make log cleaner
davidheryanto File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
#!/usr/bin/env bash | ||
|
||
# Default artifact location setting in Prow jobs | ||
LOGS_ARTIFACT_PATH=/logs/artifacts | ||
|
||
set -o pipefail | ||
|
||
usage() | ||
{ | ||
echo "Run test on a Feast component. | ||
|
||
Usage: run_test.sh --component <feast_component> | ||
|
||
<feast_component> is one of: | ||
- core-ingestion (core depends on ingestion so they are tested together) | ||
- serving | ||
- java-sdk | ||
- python-sdk | ||
- golang-sdk | ||
|
||
This script also runs commands before and after the main test task, such as: | ||
- Download cached Maven packages for faster tests | ||
- Saving the test output report so it can be viewed with Spyglass UI in Prow. | ||
By default, the configured log path is "/logs" and test artifacts should | ||
be saved to "/logs/artifacts" directory. | ||
" | ||
} | ||
|
||
while [ "$1" != "" ]; do | ||
case "$1" in | ||
--component ) COMPONENT="$2"; shift;; | ||
* ) usage; exit 1 | ||
esac | ||
shift | ||
done | ||
|
||
if [[ ! ${COMPONENT} ]]; then | ||
usage; exit 1; | ||
fi | ||
|
||
if [[ ${COMPONENT} == "core-ingestion" ]]; then | ||
|
||
.prow/scripts/prepare_maven_cache.sh \ | ||
--archive-uri gs://feast-templocation-kf-feast/.m2.2019-10-24.tar --output-dir /root/ | ||
|
||
# Core depends on Ingestion so they are tested together | ||
mvn --define skipTests=true --projects core,ingestion clean install | ||
mvn --projects core,ingestion test | ||
TEST_EXIT_CODE=$? | ||
|
||
mkdir -p ${LOGS_ARTIFACT_PATH}/surefire-reports | ||
cp core/target/surefire-reports/* ${LOGS_ARTIFACT_PATH}/surefire-reports/ | ||
cp ingestion/target/surefire-reports/* ${LOGS_ARTIFACT_PATH}/surefire-reports/ | ||
|
||
elif [[ ${COMPONENT} == "serving" ]]; then | ||
|
||
.prow/scripts/prepare_maven_cache.sh \ | ||
--archive-uri gs://feast-templocation-kf-feast/.m2.2019-10-24.tar --output-dir /root/ | ||
|
||
mvn --define skipTests=true --projects serving clean install | ||
mvn --projects serving test | ||
TEST_EXIT_CODE=$? | ||
|
||
cp -r serving/target/surefire-reports ${LOGS_ARTIFACT_PATH}/surefire-reports | ||
|
||
elif [[ ${COMPONENT} == "java-sdk" ]]; then | ||
|
||
.prow/scripts/prepare_maven_cache.sh \ | ||
--archive-uri gs://feast-templocation-kf-feast/.m2.2019-10-24.tar --output-dir /root/ | ||
|
||
mvn --define skipTests=true --projects sdk/java clean install | ||
mvn --projects sdk/java test | ||
TEST_EXIT_CODE=$? | ||
|
||
cp -r sdk/java/target/surefire-reports ${LOGS_ARTIFACT_PATH}/surefire-reports | ||
|
||
elif [[ ${COMPONENT} == "python-sdk" ]]; then | ||
|
||
cd sdk/python | ||
pip install -r requirements-test.txt | ||
pip install . | ||
pytest --junitxml=${LOGS_ARTIFACT_PATH}/python-sdk-test-report.xml | ||
TEST_EXIT_CODE=$? | ||
|
||
elif [[ ${COMPONENT} == "golang-sdk" ]]; then | ||
|
||
cd sdk/go | ||
go test -v 2>&1 | tee /tmp/test_output | ||
TEST_EXIT_CODE=$? | ||
|
||
go get -u github.com/jstemmer/go-junit-report | ||
cat /tmp/test_output | ${GOPATH}/bin/go-junit-report > ${LOGS_ARTIFACT_PATH}/golang-sdk-test-report.xml | ||
|
||
else | ||
usage; exit 1 | ||
fi | ||
|
||
exit ${TEST_EXIT_CODE} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a
>=
constraint by default—a range makes sense for Maven version just in case of breaking changes, but for Java IMO it would be good to build 1.8 and JDK 11 in CI so we might need something fancier here.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently I limit it to Java 8 because we're using Beam SDK and I believe it's not fully compatible with newer major versions of Java.
https://issues.apache.org/jira/browse/BEAM-2530
We can support more versions once we're sure it's compatible