-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextraUpdates.sh
executable file
·68 lines (60 loc) · 2.85 KB
/
extraUpdates.sh
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
#!/usr/bin/env bash
cypress=$(cat < "e2e/package.json" | grep cypress | tail -1 | cut -d'"' -f4- | rev | cut -c 2- | rev)
cypress_docker=$(cat < "e2e/package.json" | grep cypress | tail -1 | cut -d'"' -f4- | cut -c 2- )
declare -A arr
arr["actions\/checkout@v1"]="actions\/checkout@v4"
arr["actions\/checkout@v2"]="actions\/checkout@v4"
arr["actions\/checkout@v3"]="actions\/checkout@v4"
arr["actions\/setup-java@v1"]="actions\/setup-java@v4"
arr["actions\/setup-java@v2"]="actions\/setup-java@v4"
arr["actions\/setup-java@v3"]="actions\/setup-java@v4"
arr["actions\/setup-node@v1"]="actions\/setup-node@v4"
arr["actions\/setup-node@v2"]="actions\/setup-node@v4"
arr["actions\/setup-node@v3"]="actions\/setup-node@v4"
arr["gradle\/gradle-build-action@v1"]="gradle\/gradle-build-action@v3"
arr["gradle\/gradle-build-action@v2"]="gradle\/gradle-build-action@v3"
echo -e "Cypress Version"
echo -e "--- New version is \e[32m$cypress\e[0m"
echo -e "--- New docker version is \e[32m$cypress_docker\e[0m"
echo -e "GitHub Workflow Updates"
for key in "${!arr[@]}"; do
echo -e "--- Update \e[32m$key\e[0m to \e[32m${arr[${key}]}\e[0m"
done
sed -E 's/"cypress": .*/"cypress": "'"$cypress"'"/g' e2e/package.json
read -p "Are you sure? (Yy/Nn)" -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]; then
cd ..
for item in *; do
if [[ -d "$item" ]] && [[ "$item" != ".git" ]] && [[ "$item" != "target" ]]; then
cd "${item}" || exit
if [[ ! $item = "project-signer" ]]; then
if [[ -f e2e/package.json ]]; then
echo "----------------- Updating Cypress In ${item} -----------------"
echo "Cypress from $(cat < "e2e/package.json" | grep -v cypress-pipe | grep cypress | tail -1 | cut -d'"' -f4- | rev | cut -c 2- | rev)"
sed -E 's/"cypress": "1.*"/"cypress": "'"$cypress_docker"'/g' "e2e/package.json" > e2e/packagetmp.json
sed -E 's/"cypress": "^.*"/"cypress": "'"$cypress_docker"'/g' "e2e/packagetmp.json" > e2e/package.json
sed -E 's/"cypress": ".*"/"cypress": "'"$cypress_docker"'/g' "e2e/packagetmp.json" > e2e/package.json
sed -E 's/image: "cypress\/included:.*"/image: "cypress\/included:'"$cypress_docker"'/g' "e2e/docker-compose.yml" > e2e/docker-composetmp.yml
rm e2e/packagetmp.json
mv e2e/docker-composetmp.yml e2e/docker-compose.yml
fi
fi
if [[ -d .github/workflows ]]; then
rm .github/workflows/*.*01
WORKFLOWS=".github/workflows/*"
for f in $WORKFLOWS
do
echo "Processing $f file..."
for key in "${!arr[@]}"; do
echo -e "--- Updating \e[32m$key\e[0m to \e[32m${arr[${key}]}\e[0m"
sed -E 's/'$key'/'${arr[${key}]}'/g' "$f" > "$f""01"
sed -E 's/'$key'/'${arr[${key}]}'/g' "$f""01" > "$f"
done
rm "$f""01"
done
fi
cd ..
fi
done
cd project-signer || exit
fi