-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit-exec.sh
More file actions
executable file
·106 lines (82 loc) · 3.22 KB
/
init-exec.sh
File metadata and controls
executable file
·106 lines (82 loc) · 3.22 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/bin/bash
function usage() {
echo "Usage: $0 <iteration name>"
echo "e.g. $0 mock1"
}
function cleanup() {
rm -f $EXECUTION_PID_FILE
rm -f $PRECISION100_EXECUTION_CONF_FILE_NAME
rm -fR $PRECISION100_EXECUTION_FOLDER
}
if [[ ( "$#" -ne 1 ) ]]; then
usage
exit 1
fi
DEFAULT_EXECUTION_NAME="mock1"
INPUT_EXECUTION_NAME=${1:-$DEFAULT_EXECUTION_NAME}
if [ -z "${INPUT_EXECUTION_NAME}" ]; then
usage
exit 1
fi
if [ ! -f ./conf/.project.env.sh ]; then
echo "Misconfigured installation - missing files in conf directory"
exit 10
fi
source ./conf/.project.env.sh
#if [ -z "$PRECISION100_FOLDER" ] || [ ! -f $PRECISION100_FOLDER/conf/.env.sh ]; then
if [ ! -f $PRECISION100_PROJECT_CONF_FOLDER/.env.sh ]; then
echo "Misconfigured installation - Invalid Precision100 installation"
exit 10
fi
ENV_FILE="$PRECISION100_CONF_FOLDER/.env.sh"
if [ -f "$ENV_FILE" ]; then
echo "Sourcing $ENV_FILE"
source "$ENV_FILE"
fi
PRECISION100_EXECUTION_NAME=${INPUT_EXECUTION_NAME:-$DEFAULT_EXECUTION_NAME}
EXECUTION_PID_FILE="$PRECISION100_PROJECT_CONF_FOLDER/.execution.pid"
if [ -f "$EXECUTION_PID_FILE" ]; then
echo "Cannot initialize interation: $PRECISION100_EXECUTION_NAME"
echo "Already executing iteration: $(cat $EXECUTION_PID_FILE)"
exit 10
fi
echo $PRECISION100_EXECUTION_NAME > "$EXECUTION_PID_FILE"
PRECISION100_EXECUTION_CONF_FILE_NAME="$PRECISION100_PROJECT_CONF_FOLDER/$PRECISION100_EXECUTION_NAME.env.sh"
if [ -f "$PRECISION100_EXECUTION_CONF_FILE_NAME" ]; then
echo "Cannot initialize interation: $PRECISION100_EXECUTION_NAME"
echo "Iteration: $PRECISION100_EXECUTION_NAME already executed"
exit 10
fi
PRECISION100_EXECUTION_FOLDER="$PRECISION100_PROJECT_FOLDER/$PRECISION100_EXECUTION_NAME"
cat > "$PRECISION100_EXECUTION_CONF_FILE_NAME" << EOL
export PRECISION100_EXECUTION_NAME="$PRECISION100_EXECUTION_NAME"
export PRECISION100_EXECUTION_FOLDER="$PRECISION100_EXECUTION_FOLDER"
EOL
source "$PRECISION100_EXECUTION_CONF_FILE_NAME"
EXECUTION_ENV_FILE="$PRECISION100_PROJECT_CONF_FOLDER/.execution.env.sh"
if [ -f "$EXECUTION_ENV_FILE" ]; then
echo "Sourcing $EXECUTION_ENV_FILE"
source "$EXECUTION_ENV_FILE"
fi
mkdir -p "$PRECISION100_EXECUTION_LOG_FOLDER"
log_file_name="$PRECISION100_EXECUTION_LOG_FOLDER/init-exec-$(date +%F-%H-%M-%S).out"
err_file_name="$PRECISION100_EXECUTION_LOG_FOLDER/init-exec-$(date +%F-%H-%M-%S).err"
mkdir -p "$PRECISION100_EXECUTION_FOLDER"
echo "Starting iteration: ${INPUT_EXECUTION_NAME}"
#$PRECISION100_FOLDER/bin/init-exec.sh 1> >(tee -a "$log_file_name") 2> >(tee -a "$err_file_name" >&2)
#if [ "$?" -ne 0 ]; then
#echo "Iteration start had an issue "
#echo "Cleaning up.."
#cleanup
#fi
python3 <<EOF
import logging
from p100 import repo
logger = logging.getLogger(__name__)
logging.basicConfig(filename='$log_file_name', level=logging.INFO)
print(f"Starting log: ${log_file_name}")
print(f"Starting iteration: ${INPUT_EXECUTION_NAME}")
print(f"Creating local repo folder: ${PRECISION100_EXECUTION_LOCAL_REPO_FOLDER}")
repo.execute(operator_name='${PRECISION100_PROJECT_REPO_TYPE}', local_url='${PRECISION100_EXECUTION_LOCAL_REPO_FOLDER}', remote_url='${PRECISION100_PROJECT_REPO_URL}', event='CHECKOUT', operation_mode='${OPERATION_MODE}')
print("Done");
EOF