mirror of
				https://github.com/zulip/zulip.git
				synced 2025-10-31 03:53:50 +00:00 
			
		
		
		
	The current `upgrade-zulip` and `upgrade-zulip-from-git` bash scripts exit with a zero status even if the upgrade commands exit with a non-zero status. Hence add `set -e` command which exits the script with the same status as the non-zero command. For pipe commands however, the net status of a command is the status of the last command, hence if the other parts fail, the net status is only determined by the last command. This is the case with our main /lib/upgrade-zulip* command in the scripts whose status is determined by the `tee` command instead. Hence add a small condition to get the status of the actual upgrade command and exit the script if it fails with a non-zero command. We also check whether the script is being run as root, matching the install script logic.
		
			
				
	
	
		
			27 lines
		
	
	
		
			879 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			879 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| #
 | |
| # This is a thin wrapper around the upgrade-from-git script (scripts/lib/upgrade-zulip-from-git).
 | |
| # This wrapper exists to log output to /var/log/zulip/upgrade.log for debugging.
 | |
| 
 | |
| set -e
 | |
| 
 | |
| if [ "$EUID" -ne 0 ]; then
 | |
|     basename=$(basename "$0")
 | |
|     echo "Error: $basename must be run as root." >&2
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| "$(dirname "$0")/lib/upgrade-zulip-from-git" "$@" 2>&1 | tee -a /var/log/zulip/upgrade.log
 | |
| failed=${PIPESTATUS[0]}
 | |
| 
 | |
| if [ "$failed" -ne 0 ]; then
 | |
|     echo -e '\033[0;31m'
 | |
|     echo "Zulip upgrade failed (exit code $failed)!"
 | |
|     echo
 | |
|     echo -n "The upgrade process is designed to be idempotent, so you can retry "
 | |
|     echo -n "after resolving whatever issue caused the failure (there should be a traceback above). "
 | |
|     echo -n "A log of this installation is available in /var/log/zulip/upgrade.log"
 | |
|     echo -e '\033[0m'
 | |
|     exit "$failed"
 | |
| fi
 |