|
| 1 | +cache: |
| 2 | + directories: |
| 3 | + - $HOME/.m2 |
| 4 | + |
| 5 | +matrix: |
| 6 | + include: |
| 7 | + - stage: unit test |
| 8 | + name: test ingestion |
| 9 | + language: java |
| 10 | + jdk: openjdk8 |
| 11 | + install: echo "skip mvn install" |
| 12 | + script: mvn --projects ingestion --batch-mode test |
| 13 | + |
| 14 | + - stage: unit test |
| 15 | + name: test core |
| 16 | + language: java |
| 17 | + jdk: openjdk8 |
| 18 | + install: echo "skip mvn install" |
| 19 | + script: mvn --projects core --batch-mode test |
| 20 | + |
| 21 | + - stage: unit test |
| 22 | + name: test serving |
| 23 | + language: java |
| 24 | + jdk: openjdk8 |
| 25 | + install: echo "skip mvn install" |
| 26 | + script: mvn --projects serving --batch-mode test |
| 27 | + |
| 28 | + - stage: unit test |
| 29 | + name: test cli |
| 30 | + language: go |
| 31 | + go: 1.12.x |
| 32 | + env: GO111MODULE=on |
| 33 | + script: go test ./cli/feast/... |
| 34 | + |
| 35 | + - stage: build |
| 36 | + name: build core |
| 37 | + language: java |
| 38 | + jdk: openjdk8 |
| 39 | + services: docker |
| 40 | + before_install: .travis/decrypt_secrets.sh |
| 41 | + install: . .travis/install_google_cloud_sdk.sh |
| 42 | + before_script: .travis/prepare_maven_cache_for_docker.sh |
| 43 | + script: |
| 44 | + - docker build --tag=us.gcr.io/kf-feast/feast-core:${TRAVIS_COMMIT} --build-arg=REVISION=${TRAVIS_COMMIT} --file Dockerfiles/core/Dockerfile . |
| 45 | + - docker push us.gcr.io/kf-feast/feast-core:${TRAVIS_COMMIT} |
| 46 | + if: type != pull_request |
| 47 | + |
| 48 | + - stage: build |
| 49 | + name: build serving |
| 50 | + language: java |
| 51 | + jdk: openjdk8 |
| 52 | + services: docker |
| 53 | + before_install: .travis/decrypt_secrets.sh |
| 54 | + install: . .travis/install_google_cloud_sdk.sh |
| 55 | + before_script: .travis/prepare_maven_cache_for_docker.sh |
| 56 | + script: |
| 57 | + - docker build --tag=us.gcr.io/kf-feast/feast-serving:${TRAVIS_COMMIT} --build-arg=REVISION=${TRAVIS_COMMIT} --file Dockerfiles/serving/Dockerfile . |
| 58 | + - docker push us.gcr.io/kf-feast/feast-serving:${TRAVIS_COMMIT} |
| 59 | + if: type != pull_request |
| 60 | + |
| 61 | + - stage: build |
| 62 | + name: build cli |
| 63 | + language: go |
| 64 | + go: 1.12.x |
| 65 | + env: |
| 66 | + - GO111MODULE=on |
| 67 | + - FEAST_CLI_GCS_URI=gs://feast-templocation-kf-feast/build_${TRAVIS_BUILD_NUMBER}/cli/feast |
| 68 | + before_install: .travis/decrypt_secrets.sh |
| 69 | + install: . .travis/install_google_cloud_sdk.sh |
| 70 | + script: |
| 71 | + - go build -o ./cli/build/feast ./cli/feast |
| 72 | + - gsutil cp ./cli/build/feast ${FEAST_CLI_GCS_URI} |
| 73 | + if: type != pull_request |
| 74 | + |
| 75 | + - stage: integration test |
| 76 | + name: test batch and streaming import job |
| 77 | + language: python |
| 78 | + python: 3.6 |
| 79 | + env: |
| 80 | + - BATCH_IMPORT_DATA_LOCAL_PATH=${TRAVIS_BUILD_DIR}/integration-tests/testdata/feature_values/ingestion_1.csv |
| 81 | + - BATCH_IMPORT_DATA_GCS_PATH=gs://feast-templocation-kf-feast/build_${TRAVIS_BUILD_NUMBER}/integration-tests/testdata/feature_values/ingestion_1.csv |
| 82 | + - FEAST_IMAGE_TAG=${TRAVIS_COMMIT} |
| 83 | + - FEAST_CLI_GCS_URI=gs://feast-templocation-kf-feast/build_${TRAVIS_BUILD_NUMBER}/cli/feast |
| 84 | + - FEAST_WAREHOUSE_DATASET=feast_build_${TRAVIS_BUILD_NUMBER} |
| 85 | + - FEAST_CORE_URI=localhost:6565 |
| 86 | + - FEAST_SERVING_URI=localhost:6566 |
| 87 | + - KAFKA_BROKERS=localhost:9092 |
| 88 | + - KAFKA_TOPICS=feast-topic |
| 89 | + before_install: .travis/decrypt_secrets.sh |
| 90 | + install: |
| 91 | + - . .travis/install_google_cloud_sdk.sh |
| 92 | + - . .travis/install_feast_sdk.sh |
| 93 | + before_script: |
| 94 | + - .travis/start_local_feast.sh |
| 95 | + - .travis/prepare_testdata.sh |
| 96 | + script: |
| 97 | + - .travis/run_batch_import_and_validate.sh |
| 98 | + - .travis/run_streaming_import_and_validate.sh |
| 99 | + after_script: .travis/cleanup_testdata.sh |
| 100 | + if: type != pull_request |
| 101 | + |
| 102 | + - stage: deployment test |
| 103 | + name: test helm deployment |
| 104 | + language: minimal |
| 105 | + env: |
| 106 | + - BUILD_NUMBER=${TRAVIS_BUILD_NUMBER} |
| 107 | + - FEAST_IMAGE_TAG=${TRAVIS_COMMIT} |
| 108 | + - FEAST_WAREHOUSE_DATASET=feast_build_${TRAVIS_BUILD_NUMBER} |
| 109 | + - RELEASE_NAME=feast-build-${TRAVIS_BUILD_NUMBER} |
| 110 | + before_install: .travis/decrypt_secrets.sh |
| 111 | + install: |
| 112 | + - . .travis/install_google_cloud_sdk.sh |
| 113 | + - . .travis/install_helm.sh |
| 114 | + before_script: envsubst < ${TRAVIS_BUILD_DIR}/integration-tests/feast-helm-values.yaml.template > ${TRAVIS_BUILD_DIR}/integration-tests/feast-helm-values.yaml |
| 115 | + script: helm install --name ${RELEASE_NAME} --wait --timeout 300 ./charts/feast -f ${TRAVIS_BUILD_DIR}/integration-tests/feast-helm-values.yaml |
| 116 | + after_script: helm delete --purge ${RELEASE_NAME} |
| 117 | + if: type != pull_request |
0 commit comments