summaryrefslogtreecommitdiff
path: root/tests/platform-ci/ci-build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/platform-ci/ci-build.sh')
-rwxr-xr-xtests/platform-ci/ci-build.sh51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/platform-ci/ci-build.sh b/tests/platform-ci/ci-build.sh
new file mode 100755
index 00000000..38040716
--- /dev/null
+++ b/tests/platform-ci/ci-build.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+#
+# This script will run create a virtual provider
+# and run tests on it.
+#
+# This script is triggered by .gitlab-ci.yml
+#
+# It depends on:
+# * leap_platform: in ../..
+# * test provider: in provider/
+# * leap-platform-test: installed in path
+#
+
+# leap_platform/tests/platform-ci
+export ROOTDIR=$(readlink -f "$(dirname $0)")
+
+# leap_platform/tests/platform-ci/provider
+export PROVIDERDIR="${ROOTDIR}/provider"
+
+# leap_platform
+export PLATFORMDIR=$(readlink -f "${ROOTDIR}/../..")
+
+# leap_platform/builds
+export BUILDSDIR="${PLATFORMDIR}/builds"
+export LOCKDIR="${PLATFORMDIR}/builds/lock"
+export LOGDIR="${PLATFORMDIR}/builds/log"
+
+export CONTACTS="sysdev@leap.se"
+export MAIL_TO=$CONTACTS
+export OPTS='--yes'
+export FILTER_COMMON=""
+export LEAP_CMD="bundle exec leap"
+
+echo "CI directory: ${ROOTDIR}"
+echo "Provider directory: ${PROVIDERDIR}"
+echo "Platform directory: ${PLATFORMDIR}"
+
+# create node(s) with unique id so we can run tests in parallel
+export TAG="build${CI_BUILD_ID}"
+[ -d "${PROVIDERDIR}/tags" ] || mkdir "${PROVIDERDIR}/tags"
+echo '{}' > "${PROVIDERDIR}/tags/${TAG}.json"
+
+export IP_SUFFIX_START='100'
+export NODES="single${TAG}:couchdb,soledad,mx,webapp,openvpn,tor,monitor,obfsproxy"
+leap-platform-test add_nodes "$NODES"
+leap-platform-test -v init_deploy
+leap-platform-test -v test
+
+cd $PROVIDERDIR
+$LEAP_CMD info "${TAG}"
+$LEAP_CMD local destroy "${TAG}"