Skip to content

Commit

Permalink
Merge pull request #10651 from rhatdan/build
Browse files Browse the repository at this point in the history
Add support for podman remote build -f - .
  • Loading branch information
openshift-merge-robot authored Jun 14, 2021
2 parents e3dd12a + 3a65ba2 commit e2f51ee
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
16 changes: 16 additions & 0 deletions pkg/bindings/images/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,22 @@ func Build(ctx context.Context, containerFiles []string, options entities.BuildO
tarContent := []string{options.ContextDirectory}
newContainerFiles := []string{}
for _, c := range containerFiles {
if c == "/dev/stdin" {
content, err := ioutil.ReadAll(os.Stdin)
if err != nil {
return nil, err
}
tmpFile, err := ioutil.TempFile("", "build")
if err != nil {
return nil, err
}
defer os.Remove(tmpFile.Name()) // clean up
defer tmpFile.Close()
if _, err := tmpFile.Write(content); err != nil {
return nil, err
}
c = tmpFile.Name()
}
containerfile, err := filepath.Abs(c)
if err != nil {
logrus.Errorf("cannot find absolute path of %v: %v", c, err)
Expand Down
23 changes: 23 additions & 0 deletions test/system/070-build.bats
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,29 @@ EOF
run_podman rmi -f build_test
}

@test "podman build test -f -" {
rand_filename=$(random_string 20)
rand_content=$(random_string 50)

tmpdir=$PODMAN_TMPDIR/build-test
mkdir -p $tmpdir
containerfile=$PODMAN_TMPDIR/Containerfile
cat >$containerfile <<EOF
FROM $IMAGE
RUN apk add nginx
RUN echo $rand_content > /$rand_filename
EOF

# The 'apk' command can take a long time to fetch files; bump timeout
PODMAN_TIMEOUT=240 run_podman build -t build_test -f - --format=docker $tmpdir < $containerfile
is "$output" ".*STEP 4: COMMIT" "COMMIT seen in log"

run_podman run --rm build_test cat /$rand_filename
is "$output" "$rand_content" "reading generated file in image"

run_podman rmi -f build_test
}

@test "podman build - global runtime flags test" {
skip_if_remote "--runtime-flag flag not supported for remote"

Expand Down

0 comments on commit e2f51ee

Please sign in to comment.