cl-magic 1.2.9 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|