-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake.sh
executable file
·72 lines (68 loc) · 2.08 KB
/
make.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
69
70
71
72
#!/bin/sh
CWD=$(cd $(dirname $0); pwd)
MAKE=$0
COMMAND=${1}
VERSION=${2:-12.20.0}
OWNER=atao60
NAME=fse-cli
ALL_MAIN_VERSIONS="12 14 15 16"
TEST_IMAGE_NAME=$OWNER/$NAME-test
usage(){
cat<<-EOUSAGE
make.sh [Action]
Actions:
build create test image
fulltest run full testing
globaltest run commands version and help of fse-cli as global npm package
check create test image then run full testing and global testing
nodecheckall iterate over the last main versions
debug run full testing in mode debug
clean remove all the images created by action 'nodecheckall'
usage display this help (default)
EOUSAGE
}
case $COMMAND in
build)
echo ">>> Node, required version: $VERSION"
docker build \
--tag $TEST_IMAGE_NAME:$VERSION \
--label $TEST_IMAGE_NAME=$VERSION \
--build-arg NODE_VERSION=$VERSION \
--file Dockerfile.test \
.
docker images --filter "dangling=true" --filter "label=$TEST_IMAGE_NAME=$VERSION" -q \
| xargs --no-run-if-empty docker rmi
;;
fulltest)
echo ">>> Node, effective version"
docker run -it --rm $TEST_IMAGE_NAME:$VERSION
echo ">>> Full Test"
docker run -it --rm $TEST_IMAGE_NAME:$VERSION npm run test:dev:run
;;
debug)
echo ">>> Node, effective version"
docker run -it --rm $TEST_IMAGE_NAME:$VERSION
echo ">>> Full Test"
docker run -it --rm $TEST_IMAGE_NAME:$VERSION "/bin/sh" "-c" "CLI_TEST_DEBUG=true npm run test:dev:run"
;;
globaltest)
echo ">>> Global Test (using link): fse version"
docker run -it --rm $TEST_IMAGE_NAME:$VERSION "/bin/sh" "-c" "cd .. && fse version"
echo ">>> Global Test (using link): fse help"
docker run -it --rm $TEST_IMAGE_NAME:$VERSION "/bin/sh" "-c" "cd .. && fse help"
;;
check)
$MAKE build $VERSION && $MAKE fulltest $VERSION && $MAKE globaltest $VERSION
;;
nodecheckall)
for v in ${ALL_MAIN_VERSIONS}; do
$MAKE check $v
done
;;
clean)
docker images --filter "label=$TEST_IMAGE_NAME" -q \
| xargs --no-run-if-empty docker rmi
;;
*)
usage
esac