cl-magic 1.2.9 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +17 -10
- data/README.md +10 -2
- data/bin/cl +2 -1
- data/bin/common/process_pids +19 -0
- data/bin/install_gem +4 -4
- data/bin/world-scripts/build +135 -0
- data/bin/world-scripts/down +78 -0
- data/bin/world-scripts/get +112 -0
- data/bin/world-scripts/rm +76 -0
- data/bin/world-scripts/up +83 -0
- data/cl-magic.gemspec +1 -1
- data/lib/cl/magic/cl +1 -1
- data/lib/cl/magic/cl-ai-chat +1 -2
- data/lib/cl/magic/cl-ai-query +1 -2
- data/lib/cl/magic/cl-ai-store-jira +1 -2
- data/lib/cl/magic/cl-auth +1 -2
- data/lib/cl/magic/cl-chrome +108 -0
- data/lib/cl/magic/cl-curl +130 -0
- data/lib/cl/magic/cl-dk +4 -0
- data/lib/cl/magic/cl-dk-make +5 -3
- data/lib/cl/magic/cl-dk-make-world +10 -19
- data/lib/cl/magic/cl-dk-parts +1 -2
- data/lib/cl/magic/cl-dk-world +33 -20
- data/lib/cl/magic/cl-envkey +1 -2
- data/lib/cl/magic/cl-gc-sql +1 -2
- data/lib/cl/magic/cl-gc-tags +1 -2
- data/lib/cl/magic/cl-glab-commit +1 -2
- data/lib/cl/magic/cl-history +1 -2
- data/lib/cl/magic/cl-jira-fetch +1 -2
- data/lib/cl/magic/cl-jira-fetch-by-epics +1 -2
- data/lib/cl/magic/cl-jira-to-elastic +1 -2
- data/lib/cl/magic/cl-jira-to-markdown +1 -2
- data/lib/cl/magic/cl-jira-to-stats +1 -2
- data/lib/cl/magic/cl-kube-cp +1 -2
- data/lib/cl/magic/cl-kube-deployment +1 -2
- data/lib/cl/magic/cl-kube-ktx +1 -2
- data/lib/cl/magic/cl-kube-logs +1 -2
- data/lib/cl/magic/cl-kube-restart +1 -2
- data/lib/cl/magic/cl-kube-search +1 -2
- data/lib/cl/magic/cl-kube-search-all +1 -2
- data/lib/cl/magic/cl-kube-ssh +1 -2
- data/lib/cl/magic/cl-poll +1 -2
- data/lib/cl/magic/cl-sandbox +1 -2
- data/lib/cl/magic/cl-vault +1 -2
- data/lib/cl/magic/common/load_runner.rb +127 -0
- data/lib/cl/magic/common/sub_command.rb +51 -0
- data/lib/cl/magic/dk/world_settings.rb +26 -0
- data/lib/cl/magic/dk/yaml_arg_munger.rb +87 -8
- data/lib/cl/magic/version.rb +1 -1
- metadata +26 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb8d14f6e383683f5e14fe5ada204b1f78c7024b22663ff05080fddfa7d23f40
|
4
|
+
data.tar.gz: 2ab5fb3e7faca8be5fae4d9e2c9ea503cab062d7fc496496574ba21e4dbfdd29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49d6817adf444b4c77bf546d5d4468cd0fed212e17e27703971a8172561deb58d501ad9f03b3a24d5f00621e009ecc94018ca31f091eb1260353524b8d4752c9
|
7
|
+
data.tar.gz: 874d23bca143e1fd4c34ffa77da6e969fa2e4ac3fe5789e9b026712ca6bc8dfb429e969da2025f937d19cc0dff10bf2cb2a4b6753d66783f231920d6e03df69c
|
data/Gemfile.lock
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cl-magic (1.
|
4
|
+
cl-magic (1.3.1)
|
5
5
|
activesupport
|
6
6
|
baran
|
7
7
|
concurrent-ruby
|
8
|
-
optparse-subcommand
|
9
8
|
pastel
|
9
|
+
selenium-webdriver
|
10
10
|
tty-command
|
11
11
|
tty-logger
|
12
12
|
tty-progressbar
|
@@ -16,21 +16,26 @@ PATH
|
|
16
16
|
GEM
|
17
17
|
remote: https://rubygems.org/
|
18
18
|
specs:
|
19
|
-
activesupport (7.0.
|
19
|
+
activesupport (7.0.8)
|
20
20
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
21
21
|
i18n (>= 1.6, < 2)
|
22
22
|
minitest (>= 5.1)
|
23
23
|
tzinfo (~> 2.0)
|
24
|
-
baran (0.1.
|
24
|
+
baran (0.1.9)
|
25
25
|
byebug (11.1.3)
|
26
|
-
concurrent-ruby (1.2.
|
26
|
+
concurrent-ruby (1.2.3)
|
27
27
|
i18n (1.14.1)
|
28
28
|
concurrent-ruby (~> 1.0)
|
29
|
-
minitest (5.
|
30
|
-
optparse-subcommand (1.0.0)
|
29
|
+
minitest (5.20.0)
|
31
30
|
pastel (0.8.0)
|
32
31
|
tty-color (~> 0.5)
|
33
32
|
rake (13.0.6)
|
33
|
+
rexml (3.2.6)
|
34
|
+
rubyzip (2.3.2)
|
35
|
+
selenium-webdriver (4.14.0)
|
36
|
+
rexml (~> 3.2, >= 3.2.5)
|
37
|
+
rubyzip (>= 1.2.2, < 3.0)
|
38
|
+
websocket (~> 1.0)
|
34
39
|
strings-ansi (0.2.0)
|
35
40
|
tty-color (0.6.0)
|
36
41
|
tty-command (0.10.1)
|
@@ -55,11 +60,13 @@ GEM
|
|
55
60
|
tty-cursor (~> 0.7)
|
56
61
|
tzinfo (2.0.6)
|
57
62
|
concurrent-ruby (~> 1.0)
|
58
|
-
unicode-display_width (2.
|
63
|
+
unicode-display_width (2.5.0)
|
64
|
+
websocket (1.2.10)
|
59
65
|
wisper (2.0.1)
|
60
66
|
|
61
67
|
PLATFORMS
|
62
|
-
|
68
|
+
arm64-darwin-22
|
69
|
+
x86_64-linux
|
63
70
|
|
64
71
|
DEPENDENCIES
|
65
72
|
byebug
|
@@ -68,4 +75,4 @@ DEPENDENCIES
|
|
68
75
|
rake (~> 13.0)
|
69
76
|
|
70
77
|
BUNDLED WITH
|
71
|
-
2.
|
78
|
+
2.3.7
|
data/README.md
CHANGED
@@ -24,14 +24,22 @@ ln -s $MAGIC_DIR/bin/cl /usr/local/bin
|
|
24
24
|
|
25
25
|
## Development
|
26
26
|
|
27
|
-
|
27
|
+
For local development
|
28
|
+
|
29
|
+
Remove any previously installed simlink
|
28
30
|
|
29
31
|
```
|
30
32
|
rm /usr/local/bin/cl
|
31
33
|
```
|
32
34
|
|
33
|
-
Then sim-link
|
35
|
+
Then sim-link the source code instead
|
34
36
|
|
35
37
|
```
|
36
38
|
ln -s $(pwd)/bin/cl /usr/local/bin
|
37
39
|
```
|
40
|
+
|
41
|
+
NOTE: if using `dk make-world`, you'll need to reset your world path
|
42
|
+
|
43
|
+
```
|
44
|
+
dk world set --path ./dk-world
|
45
|
+
```
|
data/bin/cl
CHANGED
@@ -11,7 +11,8 @@ while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symli
|
|
11
11
|
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
12
12
|
done
|
13
13
|
MAGIC_DIR="$( cd -P "$( dirname "$SOURCE" )/../lib/cl/magic" >/dev/null 2>&1 && pwd )"
|
14
|
+
MAGIC_BIN="$MAGIC_DIR/../../../bin"
|
14
15
|
|
15
16
|
# make magic - with the correct version of ruby & the bundle
|
16
17
|
cd $MAGIC_DIR
|
17
|
-
RBENV_VERSION=
|
18
|
+
RBENV_VERSION=3.1.2 MAGIC_BIN=$MAGIC_BIN CL_WORKING_DIR=$CL_WORKING_DIR bundle exec cl $@
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -euo pipefail
|
3
|
+
|
4
|
+
LOG_FILEPATHS_ARRAY=()
|
5
|
+
PIDS_ARRAY=()
|
6
|
+
|
7
|
+
process_pids () {
|
8
|
+
|
9
|
+
for pid in "${PIDS_ARRAY[@]}"
|
10
|
+
do
|
11
|
+
werr=0
|
12
|
+
wait $pid || werr=$?
|
13
|
+
if [ "$werr" != 0 ] && [ "$werr" != 127 ] ; then
|
14
|
+
echo " ℹ failed - ${LOG_FILEPATHS_ARRAY[$pid]}"
|
15
|
+
else
|
16
|
+
echo " ✔ ${LOG_FILEPATHS_ARRAY[$pid]}"
|
17
|
+
fi
|
18
|
+
done
|
19
|
+
}
|
data/bin/install_gem
CHANGED
@@ -6,14 +6,14 @@ set -euo pipefail
|
|
6
6
|
#
|
7
7
|
|
8
8
|
has_ruby=$(ruby -v)
|
9
|
-
if [[ $has_ruby != *"
|
9
|
+
if [[ $has_ruby != *"3.1.2"* ]]; then
|
10
10
|
echo ""
|
11
|
-
echo "(missing) ruby
|
12
|
-
echo "Please install ruby
|
11
|
+
echo "(missing) ruby 3.1.2"
|
12
|
+
echo "Please install ruby 3.1.2"
|
13
13
|
exit 1
|
14
14
|
else
|
15
15
|
echo ""
|
16
|
-
echo "✅ Ruby
|
16
|
+
echo "✅ Ruby 3.1.2"
|
17
17
|
fi
|
18
18
|
|
19
19
|
#
|
@@ -0,0 +1,135 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -euo pipefail
|
3
|
+
|
4
|
+
# source world constants
|
5
|
+
source "$WORLD_DIR/_bin/common/repo_constants"
|
6
|
+
|
7
|
+
# script path
|
8
|
+
SCRIPT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
9
|
+
cd $SCRIPT_PATH
|
10
|
+
|
11
|
+
# source scripts
|
12
|
+
source ../common/process_pids
|
13
|
+
|
14
|
+
# code path
|
15
|
+
if [ -z "$CODE_DIR" ]; thenw
|
16
|
+
echo "missing CODE_DIR"
|
17
|
+
exit 1
|
18
|
+
fi
|
19
|
+
code_path=$CODE_DIR
|
20
|
+
|
21
|
+
# ensure shared net
|
22
|
+
docker network create shared > /dev/null 2>&1 || true
|
23
|
+
|
24
|
+
echo ""
|
25
|
+
echo "------------------------"
|
26
|
+
echo " make build"
|
27
|
+
echo "------------------------"
|
28
|
+
echo ""
|
29
|
+
|
30
|
+
REPO_ARRAY=$(get_repo_array "$1")
|
31
|
+
for repo in ${REPO_ARRAY[@]};
|
32
|
+
do
|
33
|
+
repo_base_name=$(basename "${repo##*/}" .git)
|
34
|
+
repo_path=$code_path/$repo_base_name
|
35
|
+
|
36
|
+
echo " $repo_base_name"
|
37
|
+
|
38
|
+
if [ ! -d $repo_path ]; then
|
39
|
+
echo " ℹ skip, project not cloned"
|
40
|
+
else
|
41
|
+
if [[ "$repo_base_name" =~ $(get_skip_build_regex) ]]; then
|
42
|
+
echo " ℹ skip; please build manually"
|
43
|
+
else
|
44
|
+
|
45
|
+
cd $repo_path
|
46
|
+
|
47
|
+
# compose settings?
|
48
|
+
if cl dk config &> /dev/null; then
|
49
|
+
|
50
|
+
# has make init?
|
51
|
+
if echo $(cl dk make) | grep -q init; then
|
52
|
+
|
53
|
+
# start: make init
|
54
|
+
log_filepath="/tmp/make.build.$repo_base_name.output"
|
55
|
+
echo " ⌛ start make init"
|
56
|
+
|
57
|
+
# set command
|
58
|
+
MAKE_INIT_CMD="cl dk make init"
|
59
|
+
|
60
|
+
# log header
|
61
|
+
echo "" >> $log_filepath
|
62
|
+
echo "start make init..." > $log_filepath
|
63
|
+
echo $MAKE_INIT_CMD >> $log_filepath
|
64
|
+
echo "" >> $log_filepath
|
65
|
+
|
66
|
+
# go!
|
67
|
+
$MAKE_INIT_CMD >> $log_filepath 2>&1 &
|
68
|
+
|
69
|
+
# save
|
70
|
+
pid=$!
|
71
|
+
PIDS_ARRAY+=($pid)
|
72
|
+
LOG_FILEPATHS_ARRAY[$pid]=$log_filepath
|
73
|
+
else
|
74
|
+
echo " ℹ skip, no 'dk make init'"
|
75
|
+
fi
|
76
|
+
else
|
77
|
+
|
78
|
+
# docker file?
|
79
|
+
dockerfile_filepath="$repo_path/Dockerfile"
|
80
|
+
if test -f "$dockerfile_filepath"; then
|
81
|
+
cd $repo_path
|
82
|
+
|
83
|
+
# arm version?
|
84
|
+
ARCH=$(uname -m)
|
85
|
+
if [[ ${ARCH} == 'arm64' ]]; then
|
86
|
+
if test -f "$dockerfile_filepath.arm"; then
|
87
|
+
echo " ℹ found Dockerfile.arm"
|
88
|
+
dockerfile_filepath="$repo_path/Dockerfile.arm"
|
89
|
+
fi
|
90
|
+
fi
|
91
|
+
|
92
|
+
# start: docker build
|
93
|
+
log_filepath="/tmp/make.build.$repo_base_name.output"
|
94
|
+
echo " ⌛ start docker build"
|
95
|
+
|
96
|
+
# command
|
97
|
+
DOCKER_BUILD_CMD="docker build -t dev-$repo_base_name -f $dockerfile_filepath ."
|
98
|
+
|
99
|
+
# log header
|
100
|
+
echo "" >> $log_filepath
|
101
|
+
echo "start docker build..." > $log_filepath
|
102
|
+
echo $DOCKER_BUILD_CMD >> $log_filepath
|
103
|
+
echo "" >> $log_filepath
|
104
|
+
|
105
|
+
# go!
|
106
|
+
$DOCKER_BUILD_CMD >> $log_filepath 2>&1 &
|
107
|
+
|
108
|
+
# save
|
109
|
+
pid=$!
|
110
|
+
PIDS_ARRAY+=($pid)
|
111
|
+
LOG_FILEPATHS_ARRAY[$pid]=$log_filepath
|
112
|
+
else
|
113
|
+
echo " ℹ skip, no docker"
|
114
|
+
fi
|
115
|
+
fi
|
116
|
+
fi
|
117
|
+
fi
|
118
|
+
echo ""
|
119
|
+
done
|
120
|
+
|
121
|
+
if [ ! -z "${PIDS_ARRAY:-}" ]; then
|
122
|
+
echo ""
|
123
|
+
echo " waiting"
|
124
|
+
echo " 👀 tail -f /tmp/make.build.*.output"
|
125
|
+
process_pids
|
126
|
+
else
|
127
|
+
echo " nothing to do.. did you 'make get' yet?"
|
128
|
+
fi
|
129
|
+
|
130
|
+
#
|
131
|
+
# DONE
|
132
|
+
#
|
133
|
+
|
134
|
+
printf " DONE"
|
135
|
+
echo ""
|
@@ -0,0 +1,78 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -euo pipefail
|
3
|
+
|
4
|
+
# source world constants
|
5
|
+
source "$WORLD_DIR/_bin/common/repo_constants"
|
6
|
+
|
7
|
+
# script path
|
8
|
+
SCRIPT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
9
|
+
cd $SCRIPT_PATH
|
10
|
+
|
11
|
+
# source scripts
|
12
|
+
source ../common/process_pids
|
13
|
+
|
14
|
+
# code path
|
15
|
+
if [ -z "$CODE_DIR" ]; then
|
16
|
+
echo "missing CODE_DIR"
|
17
|
+
exit 1
|
18
|
+
fi
|
19
|
+
code_path=$CODE_DIR
|
20
|
+
|
21
|
+
|
22
|
+
log_filepaths=()
|
23
|
+
pids=()
|
24
|
+
|
25
|
+
echo ""
|
26
|
+
echo "------------------------"
|
27
|
+
echo " bring down services"
|
28
|
+
echo "------------------------"
|
29
|
+
echo ""
|
30
|
+
|
31
|
+
REPO_ARRAY=$(get_repo_array "$1")
|
32
|
+
for repo in ${REPO_ARRAY[@]};
|
33
|
+
do
|
34
|
+
repo_base_name=$(basename "${repo##*/}" .git)
|
35
|
+
repo_path=$code_path/$repo_base_name
|
36
|
+
|
37
|
+
cd $repo_path
|
38
|
+
|
39
|
+
# compose settings?
|
40
|
+
if cl dk config &> /dev/null; then
|
41
|
+
|
42
|
+
# has make init?
|
43
|
+
if echo $(cl dk make) | grep -q down; then
|
44
|
+
echo " $repo_base_name"
|
45
|
+
dk_parts=$(get_repo_dk_parts $repo_base_name)
|
46
|
+
|
47
|
+
# run
|
48
|
+
log_filepath="/tmp/make.down.$repo_base_name.output"
|
49
|
+
echo " ⌛ running dk down"
|
50
|
+
echo ""
|
51
|
+
|
52
|
+
# clear parts
|
53
|
+
cl dk parts clear > /dev/null 2>&1 || true
|
54
|
+
|
55
|
+
# down stack
|
56
|
+
cl dk make $dk_parts down > $log_filepath 2>&1 &
|
57
|
+
|
58
|
+
# save
|
59
|
+
pid=$!
|
60
|
+
PIDS_ARRAY+=($pid)
|
61
|
+
LOG_FILEPATHS_ARRAY[$pid]=$log_filepath
|
62
|
+
fi
|
63
|
+
fi
|
64
|
+
done
|
65
|
+
|
66
|
+
if [ ! -z "${PIDS_ARRAY:-}" ]; then
|
67
|
+
echo ""
|
68
|
+
echo " waiting"
|
69
|
+
echo " 👀 tail -f /tmp/make.down.*.output"
|
70
|
+
process_pids
|
71
|
+
fi
|
72
|
+
|
73
|
+
#
|
74
|
+
# DONE
|
75
|
+
#
|
76
|
+
|
77
|
+
printf " DONE"
|
78
|
+
echo ""
|
@@ -0,0 +1,112 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -euo pipefail
|
3
|
+
|
4
|
+
# source world constants
|
5
|
+
source "$WORLD_DIR/_bin/common/repo_constants"
|
6
|
+
|
7
|
+
# script path
|
8
|
+
SCRIPT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
9
|
+
cd $SCRIPT_PATH
|
10
|
+
|
11
|
+
# source scripts
|
12
|
+
source ../common/process_pids
|
13
|
+
|
14
|
+
# code path
|
15
|
+
if [ -z "$CODE_DIR" ]; then
|
16
|
+
echo "missing CODE_DIR"
|
17
|
+
exit 1
|
18
|
+
fi
|
19
|
+
code_path=$CODE_DIR
|
20
|
+
|
21
|
+
# Check if the SSH agent is running
|
22
|
+
if [ -z "$SSH_AUTH_SOCK" ]; then
|
23
|
+
SSH_VALID=false
|
24
|
+
else
|
25
|
+
# Check if the SSH key is added to the agent
|
26
|
+
if ssh-add -l > /dev/null 2>&1; then
|
27
|
+
SSH_VALID=true
|
28
|
+
else
|
29
|
+
SSH_VALID=false
|
30
|
+
fi
|
31
|
+
fi
|
32
|
+
|
33
|
+
# Check if SSH_VALID is false and display an error message
|
34
|
+
if [ "$SSH_VALID" = false ]; then
|
35
|
+
echo ""
|
36
|
+
echo "ERROR - SSH agent is not running"
|
37
|
+
echo ""
|
38
|
+
echo "This script clones multiple repositories asyncronously"
|
39
|
+
echo "You must have an SSH agent running with a valid key"
|
40
|
+
echo ""
|
41
|
+
echo "learn more: "
|
42
|
+
echo "https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent"
|
43
|
+
echo ""
|
44
|
+
exit 1
|
45
|
+
fi
|
46
|
+
|
47
|
+
echo ""
|
48
|
+
echo "------------------------"
|
49
|
+
echo " make get"
|
50
|
+
echo "------------------------"
|
51
|
+
echo ""
|
52
|
+
|
53
|
+
REPO_ARRAY=$(get_repo_array "$1")
|
54
|
+
for repo in ${REPO_ARRAY[@]};
|
55
|
+
do
|
56
|
+
cd $code_path
|
57
|
+
repo_base_name=$(basename "${repo##*/}" .git)
|
58
|
+
repo_path=$code_path/$repo_base_name
|
59
|
+
|
60
|
+
echo " $repo_base_name"
|
61
|
+
|
62
|
+
log_filepath="/tmp/make.get.$repo_base_name.output"
|
63
|
+
|
64
|
+
if [ ! -d $repo_path ]; then
|
65
|
+
echo " ⌛ clone repo"
|
66
|
+
git clone $repo >> $log_filepath 2>&1 &
|
67
|
+
|
68
|
+
# save
|
69
|
+
pid=$!
|
70
|
+
PIDS_ARRAY+=($pid)
|
71
|
+
LOG_FILEPATHS_ARRAY[$pid]=$log_filepath
|
72
|
+
else
|
73
|
+
# main branch?
|
74
|
+
cd $repo_path
|
75
|
+
co_branch_name=$(git rev-parse --abbrev-ref HEAD)
|
76
|
+
if echo $co_branch_name | grep -qE 'main|master'; then
|
77
|
+
|
78
|
+
# no local changes
|
79
|
+
if [[ ! `git status --porcelain` ]]; then
|
80
|
+
|
81
|
+
# then pull latest
|
82
|
+
echo " ⌛ pull latest (main)"
|
83
|
+
git pull --rebase >> $log_filepath 2>&1 &
|
84
|
+
|
85
|
+
# save
|
86
|
+
pid=$!
|
87
|
+
PIDS_ARRAY+=($pid)
|
88
|
+
LOG_FILEPATHS_ARRAY[$pid]=$log_filepath
|
89
|
+
else
|
90
|
+
echo " ℹ skip pull (repo has local changes)"
|
91
|
+
fi
|
92
|
+
else
|
93
|
+
echo " ℹ skip pull ($co_branch_name)"
|
94
|
+
fi
|
95
|
+
fi
|
96
|
+
echo ""
|
97
|
+
|
98
|
+
done
|
99
|
+
|
100
|
+
if [ ! -z "${PIDS_ARRAY:-}" ]; then
|
101
|
+
echo ""
|
102
|
+
echo " waiting"
|
103
|
+
echo " 👀 tail -f /tmp/make.get.*.output"
|
104
|
+
process_pids
|
105
|
+
fi
|
106
|
+
|
107
|
+
#
|
108
|
+
# DONE
|
109
|
+
#
|
110
|
+
|
111
|
+
printf " DONE"
|
112
|
+
echo ""
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -euo pipefail
|
3
|
+
|
4
|
+
# source world constants
|
5
|
+
source "$WORLD_DIR/_bin/common/repo_constants"
|
6
|
+
|
7
|
+
# script path
|
8
|
+
SCRIPT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
9
|
+
cd $SCRIPT_PATH
|
10
|
+
|
11
|
+
# source scripts
|
12
|
+
source ../common/process_pids
|
13
|
+
|
14
|
+
# code path
|
15
|
+
if [ -z "$CODE_DIR" ]; then
|
16
|
+
echo "missing CODE_DIR"
|
17
|
+
exit 1
|
18
|
+
fi
|
19
|
+
code_path=$CODE_DIR
|
20
|
+
|
21
|
+
|
22
|
+
echo ""
|
23
|
+
echo "🔥 WARNING: This script will delete all the $1."
|
24
|
+
echo ""
|
25
|
+
read -p "Type \"DELETE EVERYTHING\" to proceed: " confirmation
|
26
|
+
echo ""
|
27
|
+
if [ "$confirmation" != "DELETE EVERYTHING" ]; then
|
28
|
+
echo "Aborting!"
|
29
|
+
exit 1
|
30
|
+
fi
|
31
|
+
|
32
|
+
echo ""
|
33
|
+
echo "------------------------"
|
34
|
+
echo " make rm"
|
35
|
+
echo "------------------------"
|
36
|
+
echo ""
|
37
|
+
|
38
|
+
REPO_ARRAY=$(get_repo_array "$1")
|
39
|
+
for repo in ${REPO_ARRAY[@]};
|
40
|
+
do
|
41
|
+
cd $code_path
|
42
|
+
repo_base_name=$(basename "${repo##*/}" .git)
|
43
|
+
repo_path=$code_path/$repo_base_name
|
44
|
+
|
45
|
+
echo " $repo_base_name"
|
46
|
+
|
47
|
+
log_filepath="/tmp/make.rm.$repo_base_name.output"
|
48
|
+
|
49
|
+
if [ -d $repo_path ]; then
|
50
|
+
echo " ⌛ removing project"
|
51
|
+
rm -rf $repo_path >> $log_filepath 2>&1 &
|
52
|
+
|
53
|
+
# save
|
54
|
+
pid=$!
|
55
|
+
PIDS_ARRAY+=($pid)
|
56
|
+
LOG_FILEPATHS_ARRAY[$pid]=$log_filepath
|
57
|
+
else
|
58
|
+
echo " ℹ skip, no local copy"
|
59
|
+
fi
|
60
|
+
echo ""
|
61
|
+
|
62
|
+
done
|
63
|
+
|
64
|
+
if [ ! -z "${PIDS_ARRAY:-}" ]; then
|
65
|
+
echo ""
|
66
|
+
echo " waiting"
|
67
|
+
echo " 👀 tail -f /tmp/make.rm.*.output"
|
68
|
+
process_pids
|
69
|
+
fi
|
70
|
+
|
71
|
+
#
|
72
|
+
# DONE
|
73
|
+
#
|
74
|
+
|
75
|
+
printf " DONE"
|
76
|
+
echo ""
|
@@ -0,0 +1,83 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -euo pipefail
|
3
|
+
|
4
|
+
# source world constants
|
5
|
+
source "$WORLD_DIR/_bin/common/repo_constants"
|
6
|
+
|
7
|
+
# script path
|
8
|
+
SCRIPT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
9
|
+
cd $SCRIPT_PATH
|
10
|
+
|
11
|
+
# source scripts
|
12
|
+
source ../common/process_pids
|
13
|
+
|
14
|
+
# code path
|
15
|
+
if [ -z "$CODE_DIR" ]; then
|
16
|
+
echo "missing CODE_DIR"
|
17
|
+
exit 1
|
18
|
+
fi
|
19
|
+
code_path=$CODE_DIR
|
20
|
+
|
21
|
+
# ensure shared net
|
22
|
+
docker network create shared > /dev/null 2>&1 || true
|
23
|
+
|
24
|
+
echo ""
|
25
|
+
echo "------------------------"
|
26
|
+
echo " bring up compose stacks"
|
27
|
+
echo "------------------------"
|
28
|
+
echo ""
|
29
|
+
|
30
|
+
REPO_ARRAY=$(get_repo_array "$1")
|
31
|
+
for repo in ${REPO_ARRAY[@]};
|
32
|
+
do
|
33
|
+
repo_base_name=$(basename "${repo##*/}" .git)
|
34
|
+
repo_path=$code_path/$repo_base_name
|
35
|
+
|
36
|
+
cd $repo_path
|
37
|
+
|
38
|
+
# compose settings?
|
39
|
+
if cl dk config &> /dev/null; then
|
40
|
+
|
41
|
+
# has make init?
|
42
|
+
if echo $(cl dk make) | grep -q up; then
|
43
|
+
echo " $repo_base_name"
|
44
|
+
dk_parts=$(get_repo_dk_parts $repo_base_name)
|
45
|
+
|
46
|
+
# run
|
47
|
+
log_filepath="/tmp/make.up.$repo_base_name.output"
|
48
|
+
echo " ⌛ up compose stack"
|
49
|
+
|
50
|
+
# set parts
|
51
|
+
cl dk parts set $dk_parts > /dev/null 2>&1 || true
|
52
|
+
|
53
|
+
# up stack
|
54
|
+
if [[ "$repo_base_name" =~ $(get_non_async_repo_regex) ]]; then
|
55
|
+
echo " 👀 tail -f $log_filepath"
|
56
|
+
cl dk make down up > $log_filepath 2>&1
|
57
|
+
echo " ✔ complete"
|
58
|
+
echo ""
|
59
|
+
else
|
60
|
+
echo ""
|
61
|
+
cl dk make down up > $log_filepath 2>&1 &
|
62
|
+
|
63
|
+
# save
|
64
|
+
pid=$!
|
65
|
+
PIDS_ARRAY+=($pid)
|
66
|
+
LOG_FILEPATHS_ARRAY[$pid]=$log_filepath
|
67
|
+
fi
|
68
|
+
fi
|
69
|
+
fi
|
70
|
+
done
|
71
|
+
|
72
|
+
if [ ! -z "${PIDS_ARRAY:-}" ]; then
|
73
|
+
echo ""
|
74
|
+
echo " waiting"
|
75
|
+
echo " 👀 tail -f /tmp/make.up.*.output"
|
76
|
+
process_pids
|
77
|
+
fi
|
78
|
+
|
79
|
+
#
|
80
|
+
# DONE
|
81
|
+
#
|
82
|
+
|
83
|
+
echo ""
|
data/cl-magic.gemspec
CHANGED
@@ -29,7 +29,6 @@ Gem::Specification.new do |spec|
|
|
29
29
|
|
30
30
|
# dependencies
|
31
31
|
spec.add_development_dependency "rake"
|
32
|
-
spec.add_dependency "optparse-subcommand"
|
33
32
|
spec.add_dependency "tty-logger"
|
34
33
|
spec.add_dependency "tty-command"
|
35
34
|
spec.add_dependency "tty-prompt"
|
@@ -39,6 +38,7 @@ Gem::Specification.new do |spec|
|
|
39
38
|
spec.add_dependency "pastel"
|
40
39
|
spec.add_dependency "activesupport"
|
41
40
|
spec.add_dependency "baran"
|
41
|
+
spec.add_dependency "selenium-webdriver"
|
42
42
|
|
43
43
|
spec.add_development_dependency "byebug"
|
44
44
|
|
data/lib/cl/magic/cl
CHANGED
data/lib/cl/magic/cl-ai-chat
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# Call open ai chat api
|
3
|
-
require 'optparse'
|
4
|
-
require 'optparse/subcommand'
|
5
3
|
require 'tty-command'
|
6
4
|
require 'tty-prompt'
|
7
5
|
|
6
|
+
require 'cl/magic/common/sub_command.rb'
|
8
7
|
require 'cl/magic/common/common_options.rb'
|
9
8
|
require 'cl/magic/common/logging.rb'
|
10
9
|
require 'cl/magic/common/ai_prompt.rb'
|
data/lib/cl/magic/cl-ai-query
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# Prompt for similar content
|
3
|
-
require 'optparse'
|
4
|
-
require 'optparse/subcommand'
|
5
3
|
require 'tty-command'
|
6
4
|
require 'tty-prompt'
|
7
5
|
|
@@ -11,6 +9,7 @@ require 'cl/magic/common/jira.rb'
|
|
11
9
|
require 'cl/magic/common/ai_prompt.rb'
|
12
10
|
require 'cl/magic/common/milvus.rb'
|
13
11
|
require 'cl/magic/common/elastic.rb'
|
12
|
+
require 'cl/magic/common/sub_command.rb'
|
14
13
|
|
15
14
|
@logger = get_logger()
|
16
15
|
|