Skip to content

Commit 2e3f5af

Browse files
committed
chore: parametrize RABBITMQ_START_TIMEOUT in scripts/test
1 parent 4258cd5 commit 2e3f5af

File tree

3 files changed

+45
-14
lines changed

3 files changed

+45
-14
lines changed

.github/workflows/build_container.yml

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: build_container
1+
name: build-container
22

33
on:
44
push:
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010

11-
build_container:
11+
build_container_scratch:
1212

1313
runs-on: ubuntu-latest
1414
steps:
@@ -17,5 +17,26 @@ jobs:
1717
- name: Run build_container to generate scratch image
1818
run: scripts/build_container -g scratch -e BASE_IMAGE=scratch
1919

20-
- name: Run test script
20+
build_container_params:
21+
22+
runs-on: ubuntu-latest
23+
steps:
24+
- uses: actions/checkout@v4
25+
26+
- name: Run build_container to generate and image using kaniko
27+
run: scripts/build_container --tag kaniko --builder kaniko -t debug -e UID=1234 -e GID=5678
28+
29+
- name: Load rabbitmq-dump-queue:kaniko image
30+
run: docker load -i image.tar
31+
32+
- name: Test container ids
33+
run: docker run --rm --entrypoint= rabbitmq-dump-queue:kaniko /bin/id | grep --color=always '1234' | grep --color=always '5678'
34+
35+
build_container_test:
36+
37+
runs-on: ubuntu-latest
38+
steps:
39+
- uses: actions/checkout@v4
40+
41+
- name: Run scripts/test
2142
run: scripts/test

scripts/build_container

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ build_with_kaniko() {
4343
${DRY_RUN} docker run -w /build \
4444
-v "$PWD":/build \
4545
--rm \
46-
"${BUILD_ARGS[@]}" \
4746
"${KANIKO_IMG}" \
47+
"${BUILD_ARGS[@]}" \
4848
-d "${IMAGE_NAME}:${TAG}" \
4949
--target "${TARGET}" \
5050
--context . \

scripts/test

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,41 @@ set -e
44

55
DIRNAME="$(dirname "$(readlink -f "$0")")"
66

7+
: "${RABBITMQ_START_TIMEOUT:=30}"
8+
79
trap rm_containters EXIT
10+
trap errors_found ERR
11+
12+
info_msg() { printf "[\033[34mINFO\033[0m] %b\n" "$*"; }
13+
error_msg() { printf "[\033[31mERROR\033[0m] %b\n" "$*"; }
814

915
rm_containters() {
10-
docker kill rdq-rabbitmq >/dev/null 2>&1
11-
docker kill rdq-busybox >/dev/null 2>&1
12-
docker kill rdq-test >/dev/null 2>&1
16+
docker kill rdq-test >/dev/null 2>&1 || true
17+
docker kill rdq-busybox >/dev/null 2>&1 || true
18+
docker kill rdq-rabbitmq >/dev/null 2>&1 || true
19+
}
20+
21+
errors_found() {
22+
error_msg "$0 didn't finish correctly: rc [\033[31m$?\033[0m]"
1323
}
1424

15-
# build docker image
16-
"${DIRNAME}/build_container" --target test \
17-
>/dev/null 2>&1
25+
info_msg "Build rabbitmq-dump-queue test image"
26+
"${DIRNAME}/build_container" --target test >/dev/null 2>&1
1827

19-
echo -e "[\033[34mINFO\033[0m] Start rabbitmq container"
28+
info_msg "Start rabbitmq container"
2029
docker run --network=host --rm -q \
2130
--detach \
2231
--name rdq-rabbitmq \
2332
rabbitmq:4-management >/dev/null
2433

25-
echo -e "[\033[34mINFO\033[0m] Wait for rabbitmq listener"
34+
info_msg "Wait for rabbitmq listener up to [\033[32m${RABBITMQ_START_TIMEOUT}s\033[0m]"
2635
docker run --network=host --rm -q \
2736
--name rdq-busybox \
37+
-e N="$RABBITMQ_START_TIMEOUT" \
2838
busybox \
29-
sh -c 'nc -w 20 -z localhost 5672 >/dev/null'
39+
sh -c 'while [ $N -ge 0 ]; do nc -z localhost 5672 >/dev/null && exit 0; sleep 1; N=$((N - 1)); done; exit 1'
3040

31-
echo -e "[\033[34mINFO\033[0m] Run tests"
41+
info_msg "Run tests"
3242
docker run --network=host --rm \
3343
--name rdq-test\
3444
rabbitmq-dump-queue:test

0 commit comments

Comments
 (0)