Skip to content

Commit

Permalink
Merge pull request #12 from buildkite-plugins/add-back-bash-as-comman…
Browse files Browse the repository at this point in the history
…d-prefix

Add back "bash -c" before commands
  • Loading branch information
toolmantim authored Jan 24, 2018
2 parents c2fbadf + 39b2850 commit 13d38b6
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 14 deletions.
6 changes: 1 addition & 5 deletions hooks/command
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,4 @@ if [[ "${debug_mode:-off}" =~ (on) ]] ; then
"${BUILDKITE_COMMAND}" >&2
fi

# The eval statements below are used to allow $BUILDKITE_COMMAND to be interpolated correctly
# for complex quoted commands. The set -f ensures we don't expand globs in $BUILDKITE_COMMAND

set -f
eval "docker run \${args[*]} ${BUILDKITE_PLUGIN_DOCKER_IMAGE} ${BUILDKITE_COMMAND}"
docker run "${args[@]}" "${BUILDKITE_PLUGIN_DOCKER_IMAGE}" bash -c "${BUILDKITE_COMMAND}"
18 changes: 9 additions & 9 deletions tests/command.bats
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ load '/usr/local/lib/bats/load.bash'
"buildkite-agent : echo /buildkite-agent"

stub docker \
"run -it --rm --volume $PWD:/app --workdir /app --env BUILDKITE_JOB_ID --env BUILDKITE_BUILD_ID --env BUILDKITE_AGENT_ACCESS_TOKEN --volume /buildkite-agent:/usr/bin/buildkite-agent image:tag $BUILDKITE_COMMAND : echo ran command in docker"
"run -it --rm --volume $PWD:/app --workdir /app --env BUILDKITE_JOB_ID --env BUILDKITE_BUILD_ID --env BUILDKITE_AGENT_ACCESS_TOKEN --volume /buildkite-agent:/usr/bin/buildkite-agent image:tag bash -c 'command1 \"a string\"' : echo ran command in docker"

run $PWD/hooks/command

Expand All @@ -37,7 +37,7 @@ load '/usr/local/lib/bats/load.bash'
"buildkite-agent : echo /buildkite-agent"

stub docker \
"run -it --rm --volume $PWD:/workdir --workdir /workdir --env BUILDKITE_JOB_ID --env BUILDKITE_BUILD_ID --env BUILDKITE_AGENT_ACCESS_TOKEN --volume /buildkite-agent:/usr/bin/buildkite-agent image:tag $BUILDKITE_COMMAND : echo ran command in docker"
"run -it --rm --volume $PWD:/workdir --workdir /workdir --env BUILDKITE_JOB_ID --env BUILDKITE_BUILD_ID --env BUILDKITE_AGENT_ACCESS_TOKEN --volume /buildkite-agent:/usr/bin/buildkite-agent image:tag bash -c 'command1 \"a string\"' : echo ran command in docker"

run $PWD/hooks/command

Expand All @@ -60,7 +60,7 @@ load '/usr/local/lib/bats/load.bash'

stub docker \
"pull image:tag : echo pulled latest image" \
"run -it --rm --volume $PWD:/app --workdir /app image:tag pwd : echo ran command in docker"
"run -it --rm --volume $PWD:/app --workdir /app image:tag bash -c 'pwd' : echo ran command in docker"

run $PWD/hooks/command

Expand All @@ -84,7 +84,7 @@ load '/usr/local/lib/bats/load.bash'
export BUILDKITE_COMMAND="pwd"

stub docker \
"run -it --rm --volume $PWD:/app --workdir /app image:tag pwd : echo ran command in docker"
"run -it --rm --volume $PWD:/app --workdir /app image:tag bash -c 'pwd' : echo ran command in docker"

run $PWD/hooks/command

Expand All @@ -104,10 +104,10 @@ load '/usr/local/lib/bats/load.bash'
export BUILDKITE_PLUGIN_DOCKER_MOUNT_BUILDKITE_AGENT=false
export BUILDKITE_PLUGIN_DOCKER_MOUNTS_0=/hello:/hello-world
export BUILDKITE_PLUGIN_DOCKER_MOUNTS_1=/var/run/docker.sock:/var/run/docker.sock
export BUILDKITE_COMMAND="bash -c 'echo hello world'"
export BUILDKITE_COMMAND="echo hello world; pwd"

stub docker \
"run -it --rm --volume $PWD:/app --workdir /app --volume /hello:/hello-world --volume /var/run/docker.sock:/var/run/docker.sock image:tag bash -c 'echo hello world' : echo ran command in docker"
"run -it --rm --volume $PWD:/app --workdir /app --volume /hello:/hello-world --volume /var/run/docker.sock:/var/run/docker.sock image:tag bash -c 'echo hello world; pwd' : echo ran command in docker"

run $PWD/hooks/command

Expand All @@ -132,7 +132,7 @@ load '/usr/local/lib/bats/load.bash'
export BUILDKITE_COMMAND="echo hello world"

stub docker \
"run -it --rm --volume $PWD:/app --workdir /app --env MY_TAG=value --env ANOTHER_TAG=llamas image:tag echo hello world : echo ran command in docker"
"run -it --rm --volume $PWD:/app --workdir /app --env MY_TAG=value --env ANOTHER_TAG=llamas image:tag bash -c 'echo hello world' : echo ran command in docker"

run $PWD/hooks/command

Expand All @@ -155,7 +155,7 @@ load '/usr/local/lib/bats/load.bash'
export BUILDKITE_COMMAND="echo hello world"

stub docker \
"run -it --rm --volume $PWD:/app --workdir /app -u foo image:tag echo hello world : echo ran command in docker"
"run -it --rm --volume $PWD:/app --workdir /app -u foo image:tag bash -c 'echo hello world' : echo ran command in docker"

run $PWD/hooks/command

Expand All @@ -177,7 +177,7 @@ load '/usr/local/lib/bats/load.bash'
export BUILDKITE_COMMAND="echo hello world"

stub docker \
"run -it --rm --volume $PWD:/app --workdir /app image:tag echo hello world : echo ran command in docker"
"run -it --rm --volume $PWD:/app --workdir /app image:tag bash -c 'echo hello world' : echo ran command in docker"

run $PWD/hooks/command

Expand Down

0 comments on commit 13d38b6

Please sign in to comment.