snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
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
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
This commit is contained in:
45
puppet/zulip/files/hooks/common/sentry.sh
Executable file
45
puppet/zulip/files/hooks/common/sentry.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
if ! grep -Eq 'SENTRY_DSN|SENTRY_FRONTEND_DSN' /etc/zulip/settings.py; then
|
||||
echo "sentry: No DSN configured! Set SENTRY_DSN or SENTRY_FRONTEND_DSN in /etc/zulip/settings.py"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! SENTRY_AUTH_TOKEN=$(crudini --get /etc/zulip/zulip-secrets.conf secrets sentry_release_auth_token); then
|
||||
echo "sentry: No release auth token set! Set sentry_release_auth_token in /etc/zulip/zulip-secrets.conf"
|
||||
exit 0
|
||||
fi
|
||||
export SENTRY_AUTH_TOKEN
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
if ! sentry_org=$(crudini --get /etc/zulip/zulip.conf sentry organization); then
|
||||
echo "sentry: No organization set! Set sentry.organization in /etc/zulip/zulip.conf"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
sentry_project=$(crudini --get /etc/zulip/zulip.conf sentry project)
|
||||
sentry_frontend_project=$(crudini --get /etc/zulip/zulip.conf sentry frontend_project)
|
||||
if [ -z "$sentry_project" ] && [ -z "$sentry_frontend_project" ]; then
|
||||
echo "sentry: No project set! Set sentry.project and/or sentry.frontend_project in /etc/zulip/zulip.conf"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -n "$sentry_project" ] && ! grep -q 'SENTRY_DSN' /etc/zulip/settings.py; then
|
||||
echo "sentry: sentry.project is set but SENTRY_DSN is not set in /etc/zulip/settings.py"
|
||||
exit 0
|
||||
fi
|
||||
if [ -n "$sentry_frontend_project" ] && ! grep -q 'SENTRY_FRONTEND_DSN' /etc/zulip/settings.py; then
|
||||
echo "sentry: sentry.frontend_project is set but SENTRY_FRONTEND_DSN is not set in /etc/zulip/settings.py"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! which sentry-cli >/dev/null; then
|
||||
echo "sentry: No sentry-cli installed!"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
sentry_release="zulip-server@$ZULIP_NEW_VERSION"
|
||||
46
puppet/zulip/files/hooks/common/zulip_notify.sh
Normal file
46
puppet/zulip/files/hooks/common/zulip_notify.sh
Normal file
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
if ! zulip_api_key=$(crudini --get /etc/zulip/zulip-secrets.conf secrets zulip_release_api_key); then
|
||||
echo "zulip_notify: No zulip_release_api_key set! Set zulip_release_api_key in /etc/zulip/zulip-secrets.conf"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! zulip_notify_bot_email=$(crudini --get /etc/zulip/zulip.conf zulip_notify bot_email); then
|
||||
echo "zulip_notify: No zulip_notify.bot_email set in /etc/zulip/zulip.conf"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! zulip_notify_server=$(crudini --get /etc/zulip/zulip.conf zulip_notify server); then
|
||||
echo "zulip_notify: No zulip_notify.server set in /etc/zulip/zulip.conf"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! zulip_notify_stream=$(crudini --get /etc/zulip/zulip.conf zulip_notify stream); then
|
||||
echo "zulip_notify: No zulip_notify.stream set in /etc/zulip/zulip.conf"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
from=${ZULIP_OLD_MERGE_BASE_COMMIT:-$ZULIP_OLD_VERSION}
|
||||
to=${ZULIP_NEW_MERGE_BASE_COMMIT:-$ZULIP_NEW_VERSION}
|
||||
deploy_environment=$(crudini --get /etc/zulip/zulip.conf machine deploy_type || echo "development")
|
||||
# shellcheck disable=SC2034
|
||||
commit_count=$(git rev-list "${from}..${to}" | wc -l)
|
||||
|
||||
# Sending the notification is best-effort: a failure to deliver it
|
||||
# (e.g. the bot lacks posting permission, or the server is
|
||||
# unreachable) must never abort a deploy, so we swallow the error
|
||||
# after logging it.
|
||||
zulip_send() {
|
||||
if ! uv run --no-sync zulip-send \
|
||||
--site "$zulip_notify_server" \
|
||||
--user "$zulip_notify_bot_email" \
|
||||
--api-key "$zulip_api_key" \
|
||||
--stream "$zulip_notify_stream" \
|
||||
--subject "$deploy_environment deploy" \
|
||||
--message "$1"; then
|
||||
echo "zulip_notify: Failed to send deploy notification; continuing anyway."
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user