#!/usr/bin/env bash # This test installs a Zulip production environment (from the release # tarball from production-build). set -e set -x ZULIP_PATH=/home/github/zulip # Do an apt upgrade to start with an up-to-date machine APT_OPTIONS=(-o 'Dpkg::Options::=--force-confdef' -o 'Dpkg::Options::=--force-confold') apt-get update if [ -f /etc/os-release ]; then # This is a temporary hack to test Debian Bullseye systems as # though Bullseye was already released, so we don't need to # change all of our scripts to parse bullseye/sid. check_pretty_name="$( . /etc/os-release printf '%s\n' "$PRETTY_NAME" )" { read -r pretty_name; } <<<"$check_pretty_name" if [ "$pretty_name" = "Debian GNU/Linux bullseye/sid" ]; then echo "VERSION_CODENAME=bullseye" | tee -a >>/etc/os-release echo "VERSION_ID=\"11\"" | tee -a >>/etc/os-release fi # End hack os_info="$( . /etc/os-release printf '%s\n' "$VERSION_CODENAME" )" { read -r os_version_codename || true; } <<<"$os_info" fi if ! apt-get dist-upgrade -y "${APT_OPTIONS[@]}"; then echo "\`apt-get dist-upgrade\`: Failure occurred while trying to perform distribution upgrade, Retrying..." apt-get dist-upgrade -y "${APT_OPTIONS[@]}" fi # Pin to PostgreSQL 10 on Bionic, so we can test upgrading it if [ "$os_version_codename" = "bionic" ]; then export POSTGRESQL_VERSION=10 fi # Install Zulip "$ZULIP_PATH"/scripts/setup/install --self-signed-cert --hostname 127.0.0.1 --email circleci@example.com if [ "$os_version_codename" = "bionic" ]; then if [ "$(crudini --get /etc/zulip/zulip.conf postgresql version)" != "10" ]; then echo "Installer did not install the PostgreSQL 10 that we asked for!" exit 1 fi fi echo "Production installation complete!" exit 0