Merge pull request #10651 from rhatdan/build
Add support for podman remote build -f - .
This commit is contained in:
		
						commit
						e2f51eeb06
					
				|  | @ -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) | ||||
|  |  | |||
|  | @ -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" | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue