mirror of https://github.com/k3s-io/k3s
54 lines
1.7 KiB
Bash
Executable File
54 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -ex
|
|
|
|
export PATH="$PATH:/snap/bin"
|
|
|
|
# Grab the action parameter values
|
|
FOCUS=$(action-get focus)
|
|
SKIP=$(action-get skip)
|
|
PARALLELISM=$(action-get parallelism)
|
|
|
|
if [ ! -f /home/ubuntu/.kube/config ]
|
|
then
|
|
action-fail "Missing Kubernetes configuration."
|
|
action-set suggestion="Relate to the certificate authority, and kubernetes-master"
|
|
exit 0
|
|
fi
|
|
|
|
# get the host from the config file
|
|
SERVER=$(cat /home/ubuntu/.kube/config | grep server | sed 's/ server: //')
|
|
|
|
ACTION_HOME=/home/ubuntu
|
|
ACTION_LOG=$ACTION_HOME/${JUJU_ACTION_UUID}.log
|
|
ACTION_LOG_TGZ=$ACTION_LOG.tar.gz
|
|
ACTION_JUNIT=$ACTION_HOME/${JUJU_ACTION_UUID}-junit
|
|
ACTION_JUNIT_TGZ=$ACTION_JUNIT.tar.gz
|
|
|
|
# This initializes an e2e build log with the START TIMESTAMP.
|
|
echo "JUJU_E2E_START=$(date -u +%s)" | tee $ACTION_LOG
|
|
echo "JUJU_E2E_VERSION=$(kubectl version | grep Server | cut -d " " -f 5 | cut -d ":" -f 2 | sed s/\"// | sed s/\",//)" | tee -a $ACTION_LOG
|
|
GINKGO_ARGS="-nodes=$PARALLELISM" kubernetes-test.e2e \
|
|
-kubeconfig /home/ubuntu/.kube/config \
|
|
-host $SERVER \
|
|
-ginkgo.focus $FOCUS \
|
|
-ginkgo.skip "$SKIP" \
|
|
-report-dir $ACTION_JUNIT 2>&1 | tee -a $ACTION_LOG
|
|
|
|
# This appends the END TIMESTAMP to the e2e build log
|
|
echo "JUJU_E2E_END=$(date -u +%s)" | tee -a $ACTION_LOG
|
|
|
|
# set cwd to /home/ubuntu and tar the artifacts using a minimal directory
|
|
# path. Extracing "home/ubuntu/1412341234/foobar.log is cumbersome in ci
|
|
cd $ACTION_HOME/${JUJU_ACTION_UUID}-junit
|
|
tar -czf $ACTION_JUNIT_TGZ *
|
|
cd ..
|
|
tar -czf $ACTION_LOG_TGZ ${JUJU_ACTION_UUID}.log
|
|
|
|
action-set log="$ACTION_LOG_TGZ"
|
|
action-set junit="$ACTION_JUNIT_TGZ"
|
|
|
|
if tail ${JUJU_ACTION_UUID}.log | grep -q "Test Suite Failed"; then
|
|
action-fail "Failure detected in the logs"
|
|
fi
|