Skip to content

Commit

Permalink
move tar writer close
Browse files Browse the repository at this point in the history
  • Loading branch information
zulkhair committed Aug 8, 2024
1 parent 2306458 commit d86fb3b
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions common/docker/docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -291,9 +291,12 @@ func pullImageIfNotExists(ctx context.Context, cli *client.Client, imageName str

func buildImage(ctx context.Context, cli *client.Client, dockerfile Dockerfile, imageName string) error {
fmt.Println("Building image ", imageName)

// Enable BuildKit via environment variable
os.Setenv("DOCKER_BUILDKIT", "1")

buf := new(bytes.Buffer)
tw := tar.NewWriter(buf)
defer tw.Close()

// Add the Dockerfile to the tar archive
header := &tar.Header{
Expand All @@ -312,8 +315,13 @@ func buildImage(ctx context.Context, cli *client.Client, dockerfile Dockerfile,
return err
}

if err := tw.Close(); err != nil {
return eris.Wrap(err, "Failed to close tar writer")
}

// Read the tar archive
tarReader := bytes.NewReader(buf.Bytes())
buildContext := io.NopCloser(bytes.NewReader(buf.Bytes()))
defer buildContext.Close()

buildOptions := types.ImageBuildOptions{
Dockerfile: "Dockerfile",
Expand All @@ -323,7 +331,7 @@ func buildImage(ctx context.Context, cli *client.Client, dockerfile Dockerfile,
}

// Build the image
buildResponse, err := cli.ImageBuild(ctx, tarReader, buildOptions)
buildResponse, err := cli.ImageBuild(ctx, buildContext, buildOptions)
if err != nil {
return err
}
Expand Down

0 comments on commit d86fb3b

Please sign in to comment.