Skip to content

Commit 0e7a17e

Browse files
authored
extra docker compose up args (#11)
1 parent 49eca8a commit 0e7a17e

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,7 @@ services:
105105
## Pre compose up script
106106

107107
Sometimes, you may need some logic to run before the compose test containers come up. You can use `pre_compose_up_script` for that purpose. See [examples/pre-compose-up-script-test](examples/pre-compose-up-script-test) for an example.
108+
109+
## extra_docker_compose_up_args
110+
111+
You can append extra arguments to the `docker compose up` command using `extra_docker_compose_up_args`. See [examples/pre-compose-up-script-test](examples/pre-compose-up-script-test) for an example.

docker_compose/docker_compose_test.bzl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def docker_compose_test(
2828
docker_compose_file,
2929
docker_compose_test_container,
3030
pre_compose_up_script = "",
31+
extra_docker_compose_up_args = "",
3132
local_image_targets = "",
3233
data = [],
3334
tags = [],
@@ -40,7 +41,7 @@ def docker_compose_test(
4041
native.sh_test(
4142
name = name,
4243
srcs = ["@rules_docker_compose//docker_compose:docker_compose_test.sh"],
43-
env = _get_env(docker_compose_file, local_image_targets, docker_compose_test_container, pre_compose_up_script),
44+
env = _get_env(docker_compose_file, local_image_targets, docker_compose_test_container, pre_compose_up_script, extra_docker_compose_up_args),
4445
size = size,
4546
tags = tags,
4647
data = data,
@@ -53,6 +54,7 @@ def junit_docker_compose_test(
5354
docker_compose_file,
5455
docker_compose_test_container,
5556
pre_compose_up_script = "",
57+
extra_docker_compose_up_args = "",
5658
local_image_targets = "",
5759
classpath_jars = [],
5860
test_image_base = None,
@@ -132,20 +134,21 @@ def junit_docker_compose_test(
132134
native.sh_test(
133135
name = name,
134136
srcs = ["@rules_docker_compose//docker_compose:docker_compose_test.sh"],
135-
env = _get_env(docker_compose_file, local_image_targets, docker_compose_test_container, pre_compose_up_script),
137+
env = _get_env(docker_compose_file, local_image_targets, docker_compose_test_container, pre_compose_up_script, extra_docker_compose_up_args),
136138
size = size,
137139
tags = tags,
138140
data = data,
139141
**kwargs,
140142
)
141143

142144

143-
def _get_env(docker_compose_file, local_image_targets, docker_compose_test_container, pre_compose_up_script):
145+
def _get_env(docker_compose_file, local_image_targets, docker_compose_test_container, pre_compose_up_script, extra_docker_compose_up_args):
144146
env = {
145147
"WORKSPACE_PATH": BUILD_WORKSPACE_DIRECTORY,
146148
"DOCKER_COMPOSE_FILE": "$(location " + docker_compose_file + ")",
147149
"LOCAL_IMAGE_TARGETS": local_image_targets.replace(":", "/"),
148150
"DOCKER_COMPOSE_TEST_CONTAINER": docker_compose_test_container,
151+
"EXTRA_DOCKER_COMPOSE_UP_ARGS": extra_docker_compose_up_args,
149152
}
150153

151154
if len(pre_compose_up_script):

docker_compose/docker_compose_test.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ fi
4848
ABSOLUTE_COMPOSE_FILE_PATH=$WORKSPACE_PATH/$DOCKER_COMPOSE_FILE
4949

5050
# bring up compose file & get exit status-code from the integration test container
51-
docker-compose -f $ABSOLUTE_COMPOSE_FILE_PATH up --exit-code-from $DOCKER_COMPOSE_TEST_CONTAINER
51+
docker_compose_up_cmd="docker-compose -f $ABSOLUTE_COMPOSE_FILE_PATH up --exit-code-from $DOCKER_COMPOSE_TEST_CONTAINER $EXTRA_DOCKER_COMPOSE_UP_ARGS"
52+
echo "running: $docker_compose_up_cmd"
53+
echo "$docker_compose_up_cmd" | bash
5254
result=$?
5355
docker-compose -f $ABSOLUTE_COMPOSE_FILE_PATH down
5456
exit $result

examples/pre-compose-up-script-test/BUILD

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@ docker_compose_test(
1919
name = "pre-compose-up-script-test",
2020
docker_compose_file = ":docker-compose.yml",
2121
docker_compose_test_container = "test_container",
22-
pre_compose_up_script = ":src/test/resources/setup_test.sh"
22+
pre_compose_up_script = ":src/test/resources/setup_test.sh",
23+
extra_docker_compose_up_args = "--no-color",
2324
)

0 commit comments

Comments
 (0)