-
Notifications
You must be signed in to change notification settings - Fork 4
/
lint.sh
executable file
·53 lines (35 loc) · 1.11 KB
/
lint.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
#!/bin/bash
TEST_RESULT=0
DOCKERFILE='Dockerfile-lint'
IMAGE='changelog-ui'
TEARDOWN_RAN=0
teardown() {
[ "$TEARDOWN_RAN" -ne "0" ] && return
echo "Running teardown..."
docker rm -f "$TEST_CONTAINER_NAME"
TEARDOWN_RAN=1
}
trap teardown EXIT ERR SIGINT SIGTERM
mkdir -p artifacts
get_N_chars_commit_hash() {
local CHARS=${1:-7}
git rev-parse --short="$CHARS" HEAD
}
TEST_CONTAINER_NAME="changelog-$(get_N_chars_commit_hash 7)"
echo "Building image"
docker build -f "$DOCKERFILE" -t "$IMAGE" .
echo -e "\n---------------------------------------------------------------\n"
echo "Running container"
docker run -d --rm --name "$TEST_CONTAINER_NAME" "$IMAGE" sleep infinity
echo -e "\n---------------------------------------------------------------\n"
echo "Linting"
docker exec --workdir /usr/src/app "$TEST_CONTAINER_NAME" yarn run lint > 'artifacts/lint_logs.txt'
TEST_RESULT=$?
cat artifacts/lint_logs.txt
echo -e "\n---------------------------------------------------------------\n"
if [ $TEST_RESULT -eq 0 ]; then
echo "Linting passed"
else
echo "Linting failed..."
sh "exit 1"
fi