mirror of https://github.com/zulip/zulip.git
hooks: Switch to passing values through the environment.
This commit is contained in:
parent
160a917ad3
commit
ecfb12404a
|
@ -1,6 +1,4 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Arguments: OLD_COMMIT NEW_COMMIT ...where both are `git describe`
|
|
||||||
# output or tag names. The CWD will be the new deploy directory.
|
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
set -u
|
set -u
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Arguments: OLD_COMMIT NEW_COMMIT ...where both are `git describe`
|
|
||||||
# output or tag names. The CWD will be the new deploy directory.
|
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
set -u
|
set -u
|
||||||
|
@ -42,8 +40,6 @@ if ! which sentry-cli >/dev/null; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
new_version="$2"
|
|
||||||
|
|
||||||
merge_base=""
|
merge_base=""
|
||||||
if [ "$(git rev-parse --is-inside-work-tree 2>/dev/null || true)" = "true" ]; then
|
if [ "$(git rev-parse --is-inside-work-tree 2>/dev/null || true)" = "true" ]; then
|
||||||
# Extract the merge-base that tools/cache-zulip-git-version
|
# Extract the merge-base that tools/cache-zulip-git-version
|
||||||
|
@ -57,7 +53,7 @@ if [ "$(git rev-parse --is-inside-work-tree 2>/dev/null || true)" = "true" ]; th
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sentry_release="zulip-server@$new_version"
|
sentry_release="zulip-server@$ZULIP_NEW_VERSION"
|
||||||
echo "$sentry_release" >./sentry-release
|
echo "$sentry_release" >./sentry-release
|
||||||
|
|
||||||
echo "sentry: Creating release $sentry_release"
|
echo "sentry: Creating release $sentry_release"
|
||||||
|
|
|
@ -29,6 +29,7 @@ from scripts.lib.zulip_tools import (
|
||||||
assert_running_as_root,
|
assert_running_as_root,
|
||||||
get_config,
|
get_config,
|
||||||
get_config_file,
|
get_config_file,
|
||||||
|
get_zulip_pwent,
|
||||||
listening_publicly,
|
listening_publicly,
|
||||||
parse_os_release,
|
parse_os_release,
|
||||||
parse_version_from,
|
parse_version_from,
|
||||||
|
@ -445,11 +446,22 @@ def run_hooks(kind: Literal["pre-deploy", "post-deploy"]) -> None:
|
||||||
path = f"/etc/zulip/hooks/{kind}.d"
|
path = f"/etc/zulip/hooks/{kind}.d"
|
||||||
if not os.path.exists(path):
|
if not os.path.exists(path):
|
||||||
return
|
return
|
||||||
|
# Pass in, via environment variables, the old/new "version
|
||||||
|
# string" (which is a `git describe` output)
|
||||||
|
env = os.environ.copy()
|
||||||
|
env["ZULIP_OLD_VERSION"] = old_version
|
||||||
|
env["ZULIP_NEW_VERSION"] = NEW_ZULIP_VERSION
|
||||||
|
|
||||||
|
# preexec_fn=su_to_zulip normally handles this, but our explicit
|
||||||
|
# env overrides that
|
||||||
|
env["HOME"] = get_zulip_pwent().pw_dir
|
||||||
|
|
||||||
for script_name in sorted(f for f in os.listdir(path) if f.endswith(".hook")):
|
for script_name in sorted(f for f in os.listdir(path) if f.endswith(".hook")):
|
||||||
subprocess.check_call(
|
subprocess.check_call(
|
||||||
[os.path.join(path, script_name), old_version, NEW_ZULIP_VERSION],
|
[os.path.join(path, script_name)],
|
||||||
cwd=deploy_path,
|
cwd=deploy_path,
|
||||||
preexec_fn=su_to_zulip,
|
preexec_fn=su_to_zulip,
|
||||||
|
env=env,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue