File tree Expand file tree Collapse file tree 3 files changed +13
-11
lines changed Expand file tree Collapse file tree 3 files changed +13
-11
lines changed Original file line number Diff line number Diff line change @@ -51,9 +51,7 @@ compute_tag() {
51
51
52
52
echoerr ' DOCKERFILE'
53
53
echoerr " + ${docker_file} :${target:- " <target>" } "
54
- # Inline Dockerfile might be saved under a different name each time,
55
- # only content matters
56
- sums=" $( sha1sum < " ${docker_file} " ) "
54
+ sums=" $( cd ${docker_file_dir} ; sha1sum $( basename ${docker_file} ) ) "
57
55
sums+=" $( echo " ${target} " | sha1sum) "
58
56
59
57
echoerr ' ARCHITECTURE'
Original file line number Diff line number Diff line change @@ -13,18 +13,22 @@ if [ -n "${BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_DOCKERFILE_INLINE:-}" ]
13
13
then
14
14
[ -n " ${BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_DOCKERFILE:- } " ] &&
15
15
log_fatal " Cannot specify both 'dockerfile' and 'dockerfile-inline'."
16
- docker_file=" $( mktemp) "
16
+ # Put the Dockerfile into a temporary directory to work around
17
+ # https://github.com/docker/cli/issues/2249
18
+ docker_file_dir=" $( mktemp -d) "
19
+ docker_file=" ${docker_file_dir} /Dockerfile"
17
20
echo " $BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_DOCKERFILE_INLINE " > " $docker_file "
18
- docker_file_dir =" ."
21
+ context_dir =" ."
19
22
else
20
23
docker_file=" ${BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_DOCKERFILE:- " Dockerfile" } "
21
- docker_file_dir=" $( dirname " ${docker_file} " ) "
24
+ context_dir=" $( dirname " ${docker_file} " ) "
25
+ docker_file_dir=" ${context_dir} "
22
26
fi
23
27
target=" ${BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_TARGET:- } "
24
28
export_env_variable=" ${BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_EXPORT_ENV_VARIABLE:- " BUILDKITE_PLUGIN_DOCKER_IMAGE" } "
25
29
exec 3>&1
26
30
tag=" $( compute_tag " ${docker_file} " 2>&3 ) "
27
- context=" ${BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_CONTEXT:- " ${docker_file_dir } " } "
31
+ context=" ${BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_CONTEXT:- " ${context_dir } " } "
28
32
29
33
build_args=()
30
34
read_build_args
Original file line number Diff line number Diff line change @@ -73,14 +73,14 @@ pre_command_hook="$PWD/hooks/pre-command"
73
73
export BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_DOCKERFILE_INLINE=" FROM stub"
74
74
local repository_uri=" pretend.host/path/segment/image"
75
75
76
- one_time_mktemp=$( mktemp)
76
+ one_time_mktemp=$( mktemp -d )
77
77
78
78
stub mktemp \
79
- " echo $one_time_mktemp "
79
+ " -d : echo $one_time_mktemp "
80
80
81
81
stub docker \
82
82
" pull * : false" \
83
- " build --file=$one_time_mktemp * : echo building docker image" \
83
+ " build --file=$one_time_mktemp /Dockerfile * : echo building docker image" \
84
84
" tag ${repository_uri} :stubbed-computed-tag ${repository_uri} :latest : echo tagged latest" \
85
85
" push ${repository_uri} :stubbed-computed-tag : echo pushed stubbed-computed-tag" \
86
86
" push ${repository_uri} :latest : echo pushed latest"
@@ -92,7 +92,7 @@ pre_command_hook="$PWD/hooks/pre-command"
92
92
assert_line " --- Pushing tag stubbed-computed-tag"
93
93
assert_line " --- Pushing tag latest"
94
94
95
- assert_equal " FROM stub" " $( cat $one_time_mktemp ) "
95
+ assert_equal " FROM stub" " $( cat ${ one_time_mktemp} /Dockerfile ) "
96
96
97
97
unstub mktemp
98
98
unstub docker
You can’t perform that action at this time.
0 commit comments