|
2 | 2 |
|
3 | 3 | set -euo pipefail |
4 | 4 |
|
5 | | -STEP_BREADCRUMB='~~~~~~~~' |
6 | | -SECONDS=0 |
7 | | -TIMEFORMAT="${STEP_BREADCRUMB} took %R seconds" |
8 | | - |
9 | | -GIT_TAG=$(git rev-parse HEAD) |
10 | | -GIT_REMOTE_URL=$(git config --get remote.origin.url) |
11 | | - |
12 | | -echo "########## Starting e2e tests for ${GIT_REMOTE_URL} ${GIT_TAG} ###########" |
13 | | - |
14 | | -# Note requires running in root feast directory |
15 | | -source infra/scripts/runner-helper.sh |
16 | | - |
17 | | -# Workaround for COPY command in core docker image that pulls local maven repo into the image |
18 | | -# itself. |
19 | | -mkdir .m2 2>/dev/null || true |
20 | | - |
21 | | -# Log into k8s. |
22 | | -echo "${STEP_BREADCRUMB} Updating kubeconfig" |
23 | | -az login --service-principal -u "$AZ_SERVICE_PRINCIPAL_ID" -p "$AZ_SERVICE_PRINCIPAL_PASS" --tenant "$AZ_SERVICE_PRINCIPAL_TENANT_ID" 2>/dev/null |
24 | | -az aks get-credentials --resource-group "$RESOURCE_GROUP" --name "$AKS_CLUSTER_NAME" |
25 | | - |
26 | | -# Sanity check that kubectl is working. |
27 | | -echo "${STEP_BREADCRUMB} k8s sanity check" |
28 | | -kubectl get pods |
29 | | - |
30 | | -# e2e test - runs in sparkop namespace for consistency with AWS sparkop test. |
31 | | -NAMESPACE=sparkop |
32 | | -RELEASE=sparkop |
33 | | - |
34 | | -# Delete old helm release and PVCs |
35 | | -k8s_cleanup "$RELEASE" "$NAMESPACE" |
36 | | - |
37 | | -# Helm install everything in a namespace |
38 | | -helm_install "$RELEASE" "${DOCKER_REPOSITORY}" "${GIT_TAG}" --namespace "$NAMESPACE" |
39 | | - |
40 | | -# Delete old test running pod if it exists |
41 | | -kubectl delete pod -n "$NAMESPACE" ci-test-runner 2>/dev/null || true |
42 | | - |
43 | | -# Delete all sparkapplication resources that may be left over from the previous test runs. |
44 | | -kubectl delete sparkapplication --all -n "$NAMESPACE" || true |
45 | | - |
46 | | -# Make sure the test pod has permissions to create sparkapplication resources |
47 | | -setup_sparkop_role |
48 | | - |
49 | | -# Run the test suite as a one-off pod. |
50 | | -echo "${STEP_BREADCRUMB} Running the test suite" |
51 | | -time kubectl run --rm -n "$NAMESPACE" -i ci-test-runner \ |
52 | | - --restart=Never \ |
53 | | - --image="${DOCKER_REPOSITORY}/feast-ci:${GIT_TAG}" \ |
54 | | - --env="STAGING_PATH=$STAGING_PATH" \ |
55 | | - -- \ |
56 | | - bash -c "mkdir src && cd src && git clone $GIT_REMOTE_URL && cd feast && git config remote.origin.fetch '+refs/pull/*:refs/remotes/origin/pull/*' && git fetch -q && git checkout $GIT_TAG && ./infra/scripts/setup-e2e-env-sparkop.sh && ./infra/scripts/test-end-to-end-sparkop.sh" |
57 | | - |
58 | | -echo "########## e2e tests took $SECONDS seconds ###########" |
| 5 | +echo "debug script finished" |
0 commit comments