-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcircleci.bash
49 lines (46 loc) · 1.74 KB
/
circleci.bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/env bash
# Copyright (c) 2024 Greg Rynkowski. All rights reserved.
# License: MIT License
# Path Initialization
if [ -n "${SHELL_GR_DIR:-}" ]; then
_SHELL_GR_DIR="${SHELL_GR_DIR}"
elif [ -z "${_SHELL_GR_DIR:-}" ]; then
_SCRIPT_PATH_1="${BASH_SOURCE[0]:-$0}"
_SCRIPT_PATH="$([[ ! "${_SCRIPT_PATH_1}" =~ /bash$ ]] && readlink -f "${_SCRIPT_PATH_1}" || exit 1)"
_SCRIPT_DIR="$(cd "$(dirname "${_SCRIPT_PATH}")" && pwd -P || exit 1)"
_ROOT_DIR="$(cd "${_SCRIPT_DIR}/.." && pwd -P || exit 1)"
_SHELL_GR_DIR="${_ROOT_DIR}"
fi
# Library Sourcing
source "${_SHELL_GR_DIR}/lib/color.bash" # GREEN, NC
fix_home_in_old_images() {
# Workaround old docker images with incorrect $HOME
# check https://github.com/docker/docker/issues/2968 for details
if [ -z "${HOME}" ] || [ "${HOME}" = "/" ]; then
HOME="$(getent passwd "$(id -un)" | cut -d: -f6)"
export HOME
fi
}
# Prints common debug info
# Usage:
# print_common_debug_info "$@"
print_common_debug_info() {
printf "${GREEN}%s${NC}\n" "Common debug info"
bash --version
# typical CLI debugging variables
printf "\$0: %s\n" "$0"
printf "\$@: %s\n" "$@"
printf "BASH_SOURCE[0]: %s\n" "${BASH_SOURCE[0]}"
printf "BASH_SOURCE[*]: %s\n" "${BASH_SOURCE[*]}"
# other common
printf "HOME: %s\n" "${HOME}"
printf "PATH: %s\n" "${PATH}"
printf "CIRCLECI: %s\n" "${CIRCLECI}"
# sosh related
[ -n "${SCRIPT_PATH:-}" ] && printf "SCRIPT_PATH: %s\n" "${SCRIPT_PATH}"
[ -n "${SCRIPT_DIR:-}" ] && printf "SCRIPT_DIR: %s\n" "${SCRIPT_DIR}"
[ -n "${ROOT_DIR:-}" ] && printf "ROOT_DIR: %s\n" "${ROOT_DIR}"
[ -n "${SHELL_GR_DIR:-}" ] && printf "SHELL_GR_DIR: %s\n" "${SHELL_GR_DIR}"
[ -n "${_SHELL_GR_DIR:-}" ] && printf "_SHELL_GR_DIR: %s\n" "${_SHELL_GR_DIR}"
printf "%s\n" ""
}