Skip to content

Commit 025e3e5

Browse files
Merge pull request #6110 from flouthoc/expand-mount-source
stage_executor,getCreatedBy: expand buildArgs before invoking `generatePathChecksum`
2 parents 2de361a + bc05858 commit 025e3e5

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

imagebuildah/stage_executor.go

+4
Original file line numberDiff line numberDiff line change
@@ -1896,6 +1896,10 @@ func (s *StageExecutor) getCreatedBy(node *parser.Node, addedContentSummary stri
18961896
continue
18971897
}
18981898
mountOptionSource = mountInfo.Source
1899+
mountOptionSource, err = imagebuilder.ProcessWord(mountOptionSource, s.stage.Builder.Arguments())
1900+
if err != nil {
1901+
return "", fmt.Errorf("getCreatedBy: while replacing arg variables with values for format %q: %w", mountOptionSource, err)
1902+
}
18991903
mountOptionFrom = mountInfo.From
19001904
// If source is not specified then default is '.'
19011905
if mountOptionSource == "" {

tests/bud.bats

+10
Original file line numberDiff line numberDiff line change
@@ -6757,6 +6757,16 @@ _EOF
67576757
expect_output --substring "hello"
67586758
}
67596759

6760+
@test "bud-with-mount-relative-path-like-buildkit-arg-in-source" {
6761+
skip_if_no_runtime
6762+
skip_if_in_container
6763+
_prefetch alpine
6764+
local contextdir=${TEST_SCRATCH_DIR}/buildkit-mount
6765+
cp -R $BUDFILES/buildkit-mount $contextdir
6766+
run_buildah build --build-arg INPUTPATH_1=subdir -t testbud $WITH_POLICY_JSON -f $contextdir/Containerfile5 $contextdir/
6767+
expect_output --substring "hello"
6768+
}
6769+
67606770
@test "bud-with-mount-with-rw-like-buildkit" {
67616771
skip_if_no_runtime
67626772
skip_if_in_container
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM alpine
2+
ARG INPUTPATH_1=subdir
3+
RUN mkdir /test
4+
# use option z if selinux is enabled
5+
RUN --mount=type=bind,source=${INPUTPATH_1:?}/,target=/test,z cat /test/input_file

0 commit comments

Comments
 (0)