Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 98c77fe

Browse files
fix(agent/agentcontainers): stop logging empty lines (#18605)
This PR makes the devcontainer logs have fewer whitespace lines.
1 parent 5ae320e commit 98c77fe

File tree

4 files changed

+8
-16
lines changed

4 files changed

+8
-16
lines changed

agent/agentcontainers/api.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1442,7 +1442,7 @@ func (api *API) maybeInjectSubAgentIntoContainerLocked(ctx context.Context, dc c
14421442
return xerrors.Errorf("set agent binary executable: %w", err)
14431443
}
14441444

1445-
// Make sure the agent binary is executable so we can run it.
1445+
// Make sure the agent binary is owned by a valid user so we can run it.
14461446
if _, err := api.ccli.ExecAs(ctx, container.ID, "root", "/bin/sh", "-c", fmt.Sprintf("chown $(id -u):$(id -g) %s", coderPathInsideContainer)); err != nil {
14471447
return xerrors.Errorf("set agent binary ownership: %w", err)
14481448
}

agent/agentcontainers/devcontainercli.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,7 @@ func (l *devcontainerCLILogWriter) Write(p []byte) (n int, err error) {
458458
}
459459
if logLine.Level >= 3 {
460460
l.logger.Info(l.ctx, "@devcontainer/cli", slog.F("line", string(line)))
461-
_, _ = l.writer.Write([]byte(logLine.Text + "\n"))
461+
_, _ = l.writer.Write([]byte(strings.TrimSpace(logLine.Text) + "\n"))
462462
continue
463463
}
464464
// If we've successfully parsed the final log line, it will successfully parse

agent/agentcontainers/devcontainercli_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"os"
1212
"os/exec"
1313
"path/filepath"
14+
"runtime"
1415
"strings"
1516
"testing"
1617

@@ -343,6 +344,10 @@ func TestDevcontainerCLI_WithOutput(t *testing.T) {
343344
t.Run("Up", func(t *testing.T) {
344345
t.Parallel()
345346

347+
if runtime.GOOS == "windows" {
348+
t.Skip("Windows uses CRLF line endings, golden file is LF")
349+
}
350+
346351
// Buffers to capture stdout and stderr.
347352
outBuf := &bytes.Buffer{}
348353
errBuf := &bytes.Buffer{}

agent/agentcontainers/testdata/devcontainercli/parse/up.golden

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,14 @@ Run: docker buildx build --load --build-context dev_containers_feature_content_s
66
#0 building with "orbstack" instance using docker driver
77

88
#1 [internal] load build definition from Dockerfile.extended
9-
109
#1 transferring dockerfile: 3.09kB done
1110
#1 DONE 0.0s
1211

1312
#2 resolve image config for docker-image://docker.io/docker/dockerfile:1.4
14-
1513
#2 DONE 1.3s
16-
17-
1814
#3 docker-image://docker.io/docker/dockerfile:1.4@sha256:9ba7531bd80fb0a858632727cf7a112fbfd19b17e94c4e84ced81e24ef1a0dbc
1915
#3 CACHED
2016

21-
22-
2317
#4 [internal] load .dockerignore
2418
#4 transferring context: 2B done
2519
#4 DONE 0.0s
@@ -61,17 +55,10 @@ Run: docker buildx build --load --build-context dev_containers_feature_content_s
6155
#15 writing image sha256:275dc193c905d448ef3945e3fc86220cc315fe0cb41013988d6ff9f8d6ef2357 done
6256
#15 naming to docker.io/library/vsc-devcontainers-template-starter-81d8f17e32abef6d434cbb5a37fe05e5c8a6f8ccede47a61197f002dcbf60566-features done
6357
#15 DONE 0.0s
64-
6558
Run: docker buildx build --load --build-context dev_containers_feature_content_source=/var/folders/1y/cm8mblxd7_x9cljwl_jvfprh0000gn/T/devcontainercli/container-features/0.75.0-1744102171193 --build-arg _DEV_CONTAINERS_BASE_IMAGE=mcr.microsoft.com/devcontainers/javascript-node:1-18-bullseye --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp --target dev_containers_target_stage -f /var/folders/1y/cm8mblxd7_x9cljwl_jvfprh0000gn/T/devcontainercli/container-features/0.75.0-1744102171193/Dockerfile.extended -t vsc-devcontainers-template-starter-81d8f17e32abef6d434cbb5a37fe05e5c8a6f8ccede47a61197f002dcbf60566-features /var/folders/1y/cm8mblxd7_x9cljwl_jvfprh0000gn/T/devcontainercli/empty-folder
6659
Run: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=/code/devcontainers-template-starter,target=/workspaces/devcontainers-template-starter,consistency=cached --mount type=volume,src=dind-var-lib-docker-0pctifo8bbg3pd06g3j5s9ae8j7lp5qfcd67m25kuahurel7v7jm,dst=/var/lib/docker -l devcontainer.local_folder=/code/devcontainers-template-starter -l devcontainer.config_file=/code/devcontainers-template-starter/.devcontainer/devcontainer.json --privileged --entrypoint /bin/sh vsc-devcontainers-template-starter-81d8f17e32abef6d434cbb5a37fe05e5c8a6f8ccede47a61197f002dcbf60566-features -c echo Container started
6760
Container started
68-
6961
Not setting dockerd DNS manually.
70-
71-
Running the postCreateCommand from devcontainer.json...
72-
73-
74-
62+
Running the postCreateCommand from devcontainer.json...
7563
added 1 package in 784ms
76-
7764
{"outcome":"success","containerId":"bc72db8d0c4c4e941bd9ffc341aee64a18d3397fd45b87cd93d4746150967ba8","remoteUser":"node","remoteWorkspaceFolder":"/workspaces/devcontainers-template-starter"}

0 commit comments

Comments
 (0)