Skip to content

Commit

Permalink
incrementally log docker build
Browse files Browse the repository at this point in the history
Signed-off-by: Juliette Pretot <julsh@google.com>
  • Loading branch information
jul-sh committed Apr 15, 2024
1 parent 4534a0b commit 6413dfa
Showing 1 changed file with 22 additions and 8 deletions.
30 changes: 22 additions & 8 deletions internal/builders/docker/pkg/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -481,25 +481,39 @@ func (c *GitClient) checkoutGitCommit() error {
func saveToTempFile(verbose bool, readers ...io.Reader) ([]string, error) {
var files []string
for _, reader := range readers {
bytes, err := io.ReadAll(reader)
if err != nil {
return files, err
}
var allBytes []byte // Accumulate all bytes

if verbose {
if len(bytes) > 0 {
for _, reader := range readers {
if verbose {
fmt.Print("\n\n>>>>>>>>>>>>>> output from command <<<<<<<<<<<<<<\n")
fmt.Printf("%s", bytes)
}

scanner := bufio.NewScanner(reader)
for scanner.Scan() {
bytes := scanner.Bytes()
allBytes = append(allBytes, bytes...)
allBytes = append(allBytes, '\n')

if verbose {
fmt.Println("%s", bytes)
}
}

if verbose {
fmt.Print("=================================================\n\n\n")
}

if err := scanner.Err(); err != nil {
return files, fmt.Errorf("error reading from command output: %v", err)
}
}

tmpfile, err := os.CreateTemp("", "log-*.txt")
if err != nil {
return files, fmt.Errorf("couldn't create tempfile: %v", err)
}

if _, err := tmpfile.Write(bytes); err != nil {
if _, err := tmpfile.Write(allBytes); err != nil {
tmpfile.Close()
return files, fmt.Errorf("couldn't write bytes to tempfile: %v", err)
}
Expand Down

0 comments on commit 6413dfa

Please sign in to comment.