|
| 1 | +prowjob_namespace: default |
| 2 | +pod_namespace: test-pods |
| 3 | + |
| 4 | +plank: |
| 5 | + allow_cancellations: true |
| 6 | + job_url_prefix: http://prow.feast.ai/view/gcs |
| 7 | + report_template: '[Full PR test history](https://prow.feast.ai/pr-history?org={{.Spec.Refs.Org}}&repo={{.Spec.Refs.Repo}}&pr={{with index .Spec.Refs.Pulls 0}}{{.Number}}{{end}})' |
| 8 | + default_decoration_config: |
| 9 | + timeout: 7200000000000 # 2h |
| 10 | + grace_period: 15000000000 # 15s |
| 11 | + utility_images: |
| 12 | + clonerefs: gcr.io/k8s-prow/clonerefs:v20190221-d14461a |
| 13 | + initupload: gcr.io/k8s-prow/initupload:v20190221-d14461a |
| 14 | + entrypoint: gcr.io/k8s-prow/entrypoint:v20190221-d14461a |
| 15 | + sidecar: gcr.io/k8s-prow/sidecar:v20190221-d14461a |
| 16 | + gcs_configuration: |
| 17 | + bucket: feast-templocation-kf-feast |
| 18 | + path_strategy: explicit |
| 19 | + gcs_credentials_secret: prow-service-account |
| 20 | + |
| 21 | +deck: |
| 22 | + tide_update_period: 1s |
| 23 | + spyglass: |
| 24 | + size_limit: 100e+6 # 100MB |
| 25 | + viewers: |
| 26 | + "started.json|finished.json": ["metadata"] |
| 27 | + "build-log.txt": ["buildlog"] |
| 28 | + "report.xml": ["junit"] |
| 29 | + "artifacts/.*\\.xml": ["junit"] |
| 30 | + "surefire-reports/.*\\.xml": ["junit"] |
| 31 | + |
| 32 | +tide: |
| 33 | + queries: |
| 34 | + - repos: |
| 35 | + - gojek/feast |
| 36 | + labels: |
| 37 | + - lgtm |
| 38 | + - approved |
| 39 | + missingLabels: |
| 40 | + - do-not-merge |
| 41 | + - do-not-merge/hold |
| 42 | + - do-not-merge/invalid-owners-file |
| 43 | + - do-not-merge/work-in-progress |
| 44 | + - needs-rebase |
| 45 | + merge_method: |
| 46 | + gojek/feast: squash |
| 47 | + blocker_label: merge-blocker |
| 48 | + squash_label: tide/squash |
| 49 | + |
| 50 | +# presubmits list Prow jobs that run on pull requests |
| 51 | +presubmits: |
| 52 | + gojek/feast: |
| 53 | + - name: unit-test-core |
| 54 | + decorate: true |
| 55 | + always_run: true |
| 56 | + spec: |
| 57 | + containers: |
| 58 | + - image: maven:3.6-jdk-8 |
| 59 | + command: [".prow/scripts/run_unit_test.sh", "--component", "core"] |
| 60 | + |
| 61 | + - name: unit-test-ingestion |
| 62 | + decorate: true |
| 63 | + always_run: true |
| 64 | + spec: |
| 65 | + containers: |
| 66 | + - image: maven:3.6-jdk-8 |
| 67 | + command: [".prow/scripts/run_unit_test.sh", "--component", "ingestion"] |
| 68 | + |
| 69 | + - name: unit-test-serving |
| 70 | + decorate: true |
| 71 | + always_run: true |
| 72 | + spec: |
| 73 | + containers: |
| 74 | + - image: maven:3.6-jdk-8 |
| 75 | + command: [".prow/scripts/run_unit_test.sh", "--component", "serving"] |
| 76 | + |
| 77 | + - name: unit-test-cli |
| 78 | + decorate: true |
| 79 | + always_run: true |
| 80 | + spec: |
| 81 | + containers: |
| 82 | + - image: golang:1.12 |
| 83 | + env: |
| 84 | + - name: GO111MODULE |
| 85 | + value: "on" |
| 86 | + command: [".prow/scripts/run_unit_test.sh", "--component", "cli"] |
| 87 | + |
| 88 | + - name: integration-test |
| 89 | + decorate: true |
| 90 | + always_run: true |
| 91 | + spec: |
| 92 | + volumes: |
| 93 | + - name: docker-socket-volume |
| 94 | + hostPath: |
| 95 | + path: /var/run/docker.sock |
| 96 | + type: File |
| 97 | + - name: service-account |
| 98 | + secret: |
| 99 | + secretName: prow-service-account |
| 100 | + nodeSelector: |
| 101 | + os: ubuntu |
| 102 | + containers: |
| 103 | + - image: google/cloud-sdk |
| 104 | + # securityContext and docker socket vol mounts are needed because we are building |
| 105 | + # Docker images in this job |
| 106 | + securityContext: |
| 107 | + privileged: true |
| 108 | + volumeMounts: |
| 109 | + - name: docker-socket-volume |
| 110 | + mountPath: /var/run/docker.sock |
| 111 | + - name: service-account |
| 112 | + mountPath: /etc/service-account |
| 113 | + readOnly: true |
| 114 | + command: |
| 115 | + - bash |
| 116 | + - -c |
| 117 | + - | |
| 118 | + export FEAST_HOME=${PWD} |
| 119 | + export FEAST_IMAGE_REGISTRY=us.gcr.io |
| 120 | + export FEAST_IMAGE_TAG=${PULL_PULL_SHA} |
| 121 | + export FEAST_WAREHOUSE_DATASET=feast_build_${BUILD_ID:0:5} |
| 122 | + export FEAST_CORE_URL=build-${BUILD_ID:0:5}.drone.feast.ai:80 |
| 123 | + export FEAST_SERVING_URL=build-${BUILD_ID:0:5}.drone.feast.ai:80 |
| 124 | + export FEAST_RELEASE_NAME=feast-${BUILD_ID:0:5} |
| 125 | + export BATCH_IMPORT_DATA_GCS_PATH=gs://feast-templocation-kf-feast/build_${BUILD_ID:0:5}/integration-tests/testdata/feature_values/ingestion_1.csv |
| 126 | + export KAFKA_BROKERS=10.128.0.201:9092 |
| 127 | + export KAFKA_TOPICS=feast_build_${BUILD_ID:0:5} |
| 128 | +
|
| 129 | + . .prow/scripts/prepare_integration_test.sh |
| 130 | + .prow/scripts/install_feast_and_run_e2e_test.sh |
| 131 | + TEST_EXIT_CODE=$? |
| 132 | + .prow/scripts/cleanup_feast_installation.sh |
| 133 | + |
| 134 | + exit ${TEST_EXIT_CODE} |
| 135 | +
|
| 136 | +# TODO: do a release when a git tag is pushed |
| 137 | +# postsubmits list Prow jobs that run on every push |
| 138 | +# |
| 139 | +# postsubmits: |
| 140 | +# gojek/feast: |
0 commit comments