Files
atlantis/scripts/e2e.sh
2024-01-06 19:48:23 -05:00

46 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
# download all the tooling needed for e2e tests
CIRCLE_WORKING_DIRECTORY="${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}" # https://discuss.circleci.com/t/circle-working-directory-doesnt-expand/17007/5
${CIRCLE_WORKING_DIRECTORY}/scripts/e2e-deps.sh
cd "${CIRCLE_WORKING_DIRECTORY}/e2e"
# start atlantis server in the background and wait for it to start
./atlantis server \
--gh-user="$GITHUB_USERNAME" \
--gh-token="$GITHUB_PASSWORD" \
--data-dir="/tmp" \
--log-level="debug" \
--repo-allowlist="github.com/runatlantis/atlantis-tests" \
--repo-config-json='{"repos":[{"id":"/.*/", "allowed_overrides":["apply_requirements","workflow"], "allow_custom_workflows":true}]}' \
&> /tmp/atlantis-server.log &
sleep 2
# start ngrok in the background and wait for it to start
./ngrok config add-authtoken $NGROK_AUTH_TOKEN
./ngrok http 4141 > /tmp/ngrok.log &
sleep 2
# find out what URL ngrok has given us
export ATLANTIS_URL=$(curl -s 'http://localhost:4040/api/tunnels' | jq -r '.tunnels[] | select(.proto=="https") | .public_url')
# Now we can start the e2e tests
echo "Running 'make build'"
make build
echo "Running e2e test: 'make run'"
set +e
make run
if [[ $? -eq 0 ]]
then
echo "e2e tests passed"
else
echo "e2e tests failed"
echo "atlantis logs:"
cat /tmp/atlantis-server.log
exit 1
fi