Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
64 lines
2.0 KiB
Bash
Executable File
64 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -x
|
|
set -e
|
|
|
|
is_prod=false
|
|
args="$(getopt -o '' --long prod -- "$@")"
|
|
eval "set -- $args"
|
|
while true; do
|
|
case "$1" in
|
|
--prod)
|
|
is_prod=true
|
|
shift
|
|
;;
|
|
--)
|
|
shift
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
is_centos=false
|
|
is_rhel=false
|
|
if [ -e /etc/centos-release ]; then
|
|
is_centos=true
|
|
yum install -y epel-release
|
|
|
|
if [ "$is_prod" = true ]; then
|
|
# IUS is needed for installing python36u-mod_wsgi on prod env
|
|
yum localinstall -y https://centos7.iuscommunity.org/ius-release.rpm
|
|
fi
|
|
|
|
elif grep -q "Red Hat" /etc/redhat-release; then
|
|
is_rhel=true
|
|
yum localinstall -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
|
fi
|
|
|
|
yum update -y
|
|
|
|
RHVER="$(rpm -qf --queryformat="%{VERSION}" /etc/redhat-release)"
|
|
RHARCH="$(rpm -qf --queryformat="%{ARCH}" /etc/redhat-release)"
|
|
PGVER=10
|
|
if [ "$is_centos" = true ]; then
|
|
# "Development Tools" is the equivalent of build-essential
|
|
yum groupinstall -y "Development Tools"
|
|
|
|
# PostgreSQL $PGVER
|
|
yum localinstall -y "https://yum.postgresql.org/$PGVER/redhat/rhel-$RHVER-$RHARCH/pgdg-redhat-repo-latest.noarch.rpm"
|
|
|
|
# PGroonga
|
|
# https://pgroonga.github.io/install/centos.html
|
|
yum localinstall -y https://packages.groonga.org/centos/groonga-release-latest.noarch.rpm
|
|
elif [ "$is_rhel" = true ]; then
|
|
yum groupinstall -y "Development Tools"
|
|
yum localinstall -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/pgdg-redhat10-10-2.noarch.rpm
|
|
yum localinstall -y https://packages.groonga.org/centos/groonga-release-latest.noarch.rpm
|
|
else
|
|
# dnf5 (Fedora 41+) dropped the `groupinstall` alias and no longer
|
|
# resolves the "Development Tools" display name, so install by group ID.
|
|
dnf group install -y development-tools
|
|
# TODO make the postgres version a variable.
|
|
PGVER=13
|
|
dnf install -y "https://download.postgresql.org/pub/repos/yum/reporpms/F-$RHVER-x86_64/pgdg-fedora-repo-latest.noarch.rpm"
|
|
fi
|