Fix bug that causes us to skip our new e2e tests (#285)
Various e2e test bugfixes. The test runner now compiles fission bundle and cli, installs helm, installs kubectl, and uses helm to install fission, run all scripts under test/tests/, and uninstalls fission. The change also removes go tip tests -- I think we can get by without them, but we'll add them back if the next go version update brings some surprises.
This commit is contained in:
+2
-2
@@ -4,18 +4,18 @@ language: go
|
|||||||
|
|
||||||
go:
|
go:
|
||||||
- 1.8
|
- 1.8
|
||||||
- tip
|
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- $HOME/google-cloud-sdk/
|
- $HOME/google-cloud-sdk/
|
||||||
|
- $HOME/k8scli
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- go get github.com/Masterminds/glide
|
- go get github.com/Masterminds/glide
|
||||||
- hack/travis-kube-setup.sh
|
- hack/travis-kube-setup.sh
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- KUBECONFIG=${HOME}/.kube/config
|
- KUBECONFIG=${HOME}/.kube/config PATH=$HOME/k8scli:${PATH}
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- cd ${TRAVIS_BUILD_DIR}
|
- cd ${TRAVIS_BUILD_DIR}
|
||||||
|
|||||||
@@ -7,16 +7,34 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
# If we don't have gcloud credentials, bail out of these tests.
|
# If we don't have gcloud credentials, bail out of these tests.
|
||||||
if [ -z ${FISSION_CI_SERVICE_ACCOUNT:+} ]
|
if [ -z "$FISSION_CI_SERVICE_ACCOUNT" ]
|
||||||
then
|
then
|
||||||
echo "Skipping tests, no cluster credentials"
|
echo "Skipping tests, no cluster credentials"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
K8SCLI_DIR=$HOME/k8scli
|
||||||
|
|
||||||
|
if [ ! -d $K8SCLI_DIR ]
|
||||||
|
then
|
||||||
|
mkdir -p $K8SCLI_DIR
|
||||||
|
fi
|
||||||
|
|
||||||
# Get kubectl
|
# Get kubectl
|
||||||
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
|
if [ ! -f $K8SCLI_DIR/kubectl ]
|
||||||
chmod +x ./kubectl
|
then
|
||||||
sudo mv ./kubectl /usr/local/bin/kubectl
|
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
|
||||||
|
chmod +x ./kubectl
|
||||||
|
mv kubectl $K8SCLI_DIR/kubectl
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get helm
|
||||||
|
if [ ! -f $K8SCLI_DIR/helm ]
|
||||||
|
then
|
||||||
|
curl -LO https://storage.googleapis.com/kubernetes-helm/helm-v2.5.1-linux-amd64.tar.gz
|
||||||
|
tar xzvf helm-*.tar.gz
|
||||||
|
mv linux-amd64/helm $K8SCLI_DIR/helm
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir ${HOME}/.kube
|
mkdir ${HOME}/.kube
|
||||||
|
|
||||||
|
|||||||
+21
-2
@@ -10,12 +10,29 @@ set -euo pipefail
|
|||||||
|
|
||||||
ROOT=$(dirname $0)/..
|
ROOT=$(dirname $0)/..
|
||||||
|
|
||||||
|
helm_setup() {
|
||||||
|
helm init
|
||||||
|
}
|
||||||
|
|
||||||
|
gcloud_login() {
|
||||||
|
KEY=${HOME}/gcloud-service-key.json
|
||||||
|
if [ ! -f $KEY ]
|
||||||
|
then
|
||||||
|
echo $FISSION_CI_SERVICE_ACCOUNT | base64 -d - > $KEY
|
||||||
|
fi
|
||||||
|
|
||||||
|
gcloud auth activate-service-account --key-file $KEY
|
||||||
|
}
|
||||||
|
|
||||||
build_and_push_fission_bundle() {
|
build_and_push_fission_bundle() {
|
||||||
image_tag=$1
|
image_tag=$1
|
||||||
|
|
||||||
pushd $ROOT/fission-bundle
|
pushd $ROOT/fission-bundle
|
||||||
./build.sh
|
./build.sh
|
||||||
docker build -t $image_tag .
|
docker build -t $image_tag .
|
||||||
|
|
||||||
|
gcloud_login
|
||||||
|
|
||||||
gcloud docker -- push $image_tag
|
gcloud docker -- push $image_tag
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
@@ -27,7 +44,7 @@ build_fission_cli() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
generate_test_id() {
|
generate_test_id() {
|
||||||
echo $(date|md5|cut -c1-6)
|
echo $(date|md5sum|cut -c1-6)
|
||||||
}
|
}
|
||||||
|
|
||||||
helm_install_fission() {
|
helm_install_fission() {
|
||||||
@@ -42,13 +59,15 @@ helm_install_fission() {
|
|||||||
|
|
||||||
helmVars=image=$image,imageTag=$imageTag,functionNamespace=$fns,controllerPort=$controllerNodeport,routerPort=$routerNodeport,pullPolicy=alwaysPull
|
helmVars=image=$image,imageTag=$imageTag,functionNamespace=$fns,controllerPort=$controllerNodeport,routerPort=$routerNodeport,pullPolicy=alwaysPull
|
||||||
|
|
||||||
|
helm_setup
|
||||||
|
|
||||||
echo "Installing fission"
|
echo "Installing fission"
|
||||||
helm install \
|
helm install \
|
||||||
--wait \
|
--wait \
|
||||||
--name $id \
|
--name $id \
|
||||||
--set $helmVars \
|
--set $helmVars \
|
||||||
--namespace $ns \
|
--namespace $ns \
|
||||||
../charts/fission-all
|
$ROOT/charts/fission-all
|
||||||
}
|
}
|
||||||
|
|
||||||
wait_for_service() {
|
wait_for_service() {
|
||||||
|
|||||||
Regular → Executable
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user