17
17
set -e
18
18
testdir=$( dirname " $0 " )
19
19
20
+ docker_compose=" docker compose -f docker-compose.yml -f docker-compose.test.yml"
21
+ if ! ${docker_compose} version 2& > 1 > /dev/null; then
22
+ docker_compose=" docker-compose -f docker-compose.yml -f docker-compose.test.yml"
23
+ fi
24
+
20
25
rm -f /tmp/rekor-* .cov
21
26
22
27
echo " installing gocovmerge"
@@ -26,7 +31,7 @@ echo "building test-only containers"
26
31
docker build -t gcp-pubsub-emulator -f Dockerfile.pubsub-emulator .
27
32
28
33
echo " starting services"
29
- docker compose -f docker-compose.yml -f docker-compose.test.yml up -d --build
34
+ ${docker_compose} up -d --build
30
35
31
36
echo " building CLI and server"
32
37
go test -c ./cmd/rekor-cli -o rekor-cli -cover -covermode=count -coverpkg=./...
@@ -35,8 +40,8 @@ go test -c ./cmd/rekor-server -o rekor-server -covermode=count -coverpkg=./...
35
40
count=0
36
41
37
42
echo " waiting up to 2 min for system to start"
38
- until [ $( docker compose ps | \
39
- grep -E " (rekor- mysql|rekor- redis|rekor- server|gcp-pubsub-emulator)" | \
43
+ until [ $( ${docker_compose} ps | \
44
+ grep -E " (rekor[-_] mysql|rekor[-_] redis|rekor[-_]rekor- server|rekor[-_] gcp-pubsub-emulator)" | \
40
45
grep -c " (healthy)" ) == 4 ];
41
46
do
42
47
if [ $count -eq 24 ]; then
@@ -55,33 +60,27 @@ REKORTMPDIR="$(mktemp -d -t rekor_test.XXXXXX)"
55
60
touch $REKORTMPDIR .rekor.yaml
56
61
trap " rm -rf $REKORTMPDIR " EXIT
57
62
if ! REKORTMPDIR=$REKORTMPDIR go test -tags=e2e ./tests/ -run TestIssue1308; then
58
- docker compose logs --no-color > /tmp/docker compose.log
63
+ ${docker_compose} logs --no-color > /tmp/docker- compose.log
59
64
exit 1
60
65
fi
61
66
if ! REKORTMPDIR=$REKORTMPDIR PUBSUB_EMULATOR_HOST=localhost:8085 go test -tags=e2e ./tests/; then
62
- docker compose logs --no-color > /tmp/docker compose.log
67
+ ${docker_compose} logs --no-color > /tmp/docker- compose.log
63
68
exit 1
64
69
fi
65
- if docker compose logs --no-color | grep -q " panic: runtime error:" ; then
70
+ if ${docker_compose} logs --no-color | grep -q " panic: runtime error:" ; then
66
71
# if we're here, we found a panic
67
72
echo " Failing due to panics detected in logs"
68
- docker compose logs --no-color > /tmp/docker compose.log
73
+ ${docker_compose} logs --no-color > /tmp/docker- compose.log
69
74
exit 1
70
75
fi
71
76
72
77
echo " generating code coverage"
73
- docker compose restart rekor-server
74
-
75
- # docker compose appears to name the containers slightly differently in GHA CI vs locally on macOS
76
- container_name=" rekor_rekor-server"
77
- if [[ " $( uname -s) " -eq " Darwin" ]]; then
78
- container_name=" rekor-rekor-server"
79
- fi
78
+ ${docker_compose} restart rekor-server
80
79
81
- if ! docker cp $( docker ps -aqf " name=${container_name} " ) :/go/rekor-server.cov /tmp/rekor-server.cov ; then
80
+ if ! docker cp $( docker ps -aqf " name=rekor_rekor-server " -f " name=rekor-rekor-server " ) :/go/rekor-server.cov /tmp/rekor-server.cov ; then
82
81
# failed to copy code coverage report from server
83
82
echo " Failed to retrieve server code coverage report"
84
- docker compose logs --no-color > /tmp/docker compose.log
83
+ ${docker_compose} logs --no-color > /tmp/docker- compose.log
85
84
exit 1
86
85
fi
87
86
0 commit comments