Files
zulip/tools/ci/setup-production
arpit551 56a5beddc0 ci: Fixed errors related to running services in ci production build.
Restart postgres service if provision is called in production test suite.
This is required because terminate-psql-sessions script (used
in tools/ci/setup-production) throws error if postgres service is not running.

Restart rabbitmq service if provision is called in production test suite.
This is done to start the node as Circle CI don't start services on installation.

Removed memcached restart as flush-memcached script (which is furthur
used in tools/ci/production) throws UNKNOWN READ FAILURE if memcached is restarted
in development.
2020-04-21 14:46:40 -07:00

45 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# In short, this provisions a Zulip development environment and then
# builds a Zulip release tarball (the same way we build them for an
# actual release). The actual test job will then install that.
set -e
set -x
# Provisioning may fail due to many issues but most of the times a network
# connection issue is the reason. So we are going to retry entire provisioning
# once again if that fixes our problem.
tools/provision --production-test-suite || {
ret=$?
if [ "$ret" = 1 ]; then
echo "\`provision\`: Something went wrong with the provisioning, might be a network issue, Retrying to provision..."
tools/provision --production-test-suite
else
echo "\`provision\`: Something REALLY BAD went wrong with the provisioning, not retrying."
exit "$ret"
fi
}
cp -a tools/ci/success-http-headers.txt ~/
source tools/ci/activate-venv
if ! ./tools/build-release-tarball test; then
echo "Attempting to output failure logging data"
cat /tmp/tmp.*/update-prod-static.log || true
exit 1
fi
mv /tmp/tmp.*/zulip-server-test.tar.gz ./
# Shut down all services so that restarting postgres and rebuilding
# the postgres database to match the prod installation setup will work.
sudo supervisorctl stop all
# Drop any open connections to the development postgres installation.
sudo "$(dirname "$0")/../../scripts/setup/terminate-psql-sessions" postgres zulip zulip_base
# Remove and recreate the postgres database
sudo pg_ctlcluster 10 main stop
sudo pg_dropcluster 10 main
sudo rm -rf /etc/postgresql/10/main /var/lib/postgresql/10/main
sudo pg_createcluster 10 main