dagger
dagger copied to clipboard
š Dagger Functions: Progress output not formatted correctly on Windows
What is the issue?
The output when running a dagger functions command on Windows is not correctly formatted. When running with --progress plain, the output is as expected, but when running with --progress tty, it is adding D[85D[85D[85D85D right before the output and without a newline.
Dagger version
dagger v0.10.0 (registry.dagger.io/engine) windows/amd64
Steps to reproduce
Run dagger -m github.com/shykes/daggerverse/[email protected] call hello
Running with the debug flag still has the extra characters, D[85D[85D[85D85D, but it shows all of the steps with hello, world! on the last line.
Log output
dagger -m github.com/shykes/daggerverse/[email protected] call hello
ā connect 0.1s D[85D[85D[85D85Dhello, world!
dagger --debug -m github.com/shykes/daggerverse/[email protected] call hello
ā connect 0.0s D[85D[85D[85D85Dā initialize 2.5s
ā moduleSource(refString: "github.com/shykes/daggerverse/[email protected]"): ModuleSource! 0.6s
ā git(url: "https://github.com/shykes/daggerverse"): GitRepository! 0.0s
ā GitRepository.commit(id: "hello/v0.1.2"): GitRef! 0.0s
ā git://github.com/shykes/daggerverse#hello/v0.1.2 0.3s
ā 3d608cb5e6b4b18036a471400bc4e6c753f229d7 refs/tags/hello/v0.1.2
ā GitRef.tree: Directory! 0.0s
ā ModuleSource.kind: ModuleSourceKind! 0.0s
ā ModuleSource.configExists: Boolean! 0.0s
ā ModuleSource.asModule: Module! 0.9s
ā module: Module! 0.0s
ā Module.withSource(
source: ā moduleSource(refString: "github.com/shykes/daggerverse/[email protected]"): ModuleSource! 0.6s
): Module! 0.9s
ā ModuleSource.dependencies: [ModuleDependency!]! 0.0s
ā cacheVolume(key: "modgomodcache"): CacheVolume! 0.0s
ā cacheVolume(key: "modgobuildcache"): CacheVolume! 0.0s
ā builtinContainer(digest: "sha256:ee4afea98086fc7090326f4b1cb39a5298a972c38fa80b94533b8fad7bde322b"): Container! 0.0s
ā Container.withMountedCache(
cache: ā cacheVolume(key: "modgomodcache"): CacheVolume! 0.0s
path: "/go/pkg/mod"
sharing: SHARED
): Container! 0.0s
ā Container.withMountedCache(
cache: ā cacheVolume(key: "modgobuildcache"): CacheVolume! 0.0s
path: "/root/.cache/go-build"
sharing: SHARED
): Container! 0.0s
ā directory: Directory! 0.0s
ā Directory.withDirectory(
directory: ā directory: Directory! 0.0s
path: "hello"
): Directory! 0.0s
ā Directory.withoutFile(path: "hello/dagger.gen.go"): Directory! 0.0s
ā Container.withNewFile(contents: ETOOBIG:sha256:25b2b581c3c5f70907fb91abd3e6148594c8d4cd48d21c1bf034a8cd77ddc377, path: "/schema.json", permissions: 292): Container! 0.0s
ā Container.withMountedDirectory(
path: "/src"
source: ā Directory.withoutFile(path: "hello/dagger.gen.go"): Directory! 0.0s
): Container! 0.0s
ā Container.withWorkdir(path: "/src/hello"): Container! 0.0s
ā Container.withoutDefaultArgs: Container! 0.0s
ā Container.withExec(args: ["--module-context", "/src", "--module-name", "hello", "--propagate-logs=true", "--introspection-json-path", "/schema.json"], experimentalPrivilegedNesting: true): Container! 0.0s
ā Container.directory(path: "/src"): Directory! 0.1s
ā copy / /hello 0.0s
ā creating dagger metadata 0.0s
ā oci-layout://dagger/import@sha256:ee4afea98086fc7090326f4b1cb39a5298a972c38fa80b94533b8fad7bde322b 0.1s
ā rm /hello/dagger.gen.go 0.0s
ā mkfile /schema.json 0.0s
ā merge 0.0s
ā mkdir / 0.0s
ā exec /usr/local/bin/codegen --module-context /src --module-name hello --propagate-logs=true --introspection-json-path /schema.json 0.0s
ā Directory.diff(
other: ā Container.directory(path: "/src"): Directory! 0.1s
): Directory! 0.0s
ā Directory.withDirectory(
directory: ā Directory.diff(
other: ā Container.directory(path: "/src"): Directory! 0.1s
): Directory! 0.0s
path: "/"
): Directory! 0.0s
ā Directory.withNewFile(contents: ETOOBIG:sha256:4a6338f7a4de67dea13b876a4282f47fbbc1e231891b68f71381f7a37b584180, path: "hello/.gitattributes", permissions: 384): Directory! 0.0s
ā Container.withExec(args: ["go", "build", "-o", "/runtime", "."], skipEntrypoint: true): Container! 0.0s
ā Container.withEntrypoint(args: ["/runtime"]): Container! 0.0s
ā Container.withWorkdir(path: "/scratch"): Container! 0.0s
ā Directory.withNewFile(contents: "{\n \"name\": \"hello\",\n \"sdk\": \"go\",\n \"source\": \".\",\n \"engineVersion\": \"v0.10.0\"\n}\n", path: "hello/dagger.json", permissions: 420): Directory! 0.0s
ā Module.initialize: Module! 0.1s
ā exec /runtime 0.0s
ā exec go build -o /runtime . 0.0s
ā Module.withDescription(description: "A Dagger module to say hello to the world\n"): Module! 0.0s
ā Module.withObject(
object: ā TypeDef.withFunction(
function: ā Function.withArg(
description: "Custom container for running the figlet tool"
name: "figletContainer"
typeDef: ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
): Function! 0.0s
): TypeDef! 0.0s
): Module! 0.0s
ā typeDef: TypeDef! 0.0s
ā TypeDef.withObject(description: "A Dagger module to say hello to the world!",
name: "Hello"): TypeDef! 0.0s
ā TypeDef.withFunction(
function: ā Function.withArg(
description: "Custom container for running the figlet tool"
name: "figletContainer"
typeDef: ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
): Function! 0.0s
): TypeDef! 0.0s
ā function(
name: "Hello"
returnType: ā TypeDef.withKind(kind: STRING_KIND): TypeDef! 0.0s
): Function! 0.0s
ā TypeDef.withKind(kind: STRING_KIND): TypeDef! 0.0s
ā Function.withDescription(description: "Say hello to the world!"): Function!
0.0s
ā Function.withArg(
defaultValue: "\"hello\""
description: "Change the greeting"
name: "greeting"
typeDef: ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
): Function! 0.0s
ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
ā Function.withArg(
defaultValue: "\"world\""
description: "Change the name"
name: "name"
typeDef: ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
): Function! 0.0s
ā Function.withArg(
description: "Encode the message in giant multi-character letters"
name: "giant"
typeDef: ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
): Function! 0.0s
ā TypeDef.withKind(kind: BOOLEAN_KIND): TypeDef! 0.0s
ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
ā Function.withArg(
description: "Make the message uppercase, and add more exclamation points"
name: "shout"
typeDef: ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
): Function! 0.0s
ā Function.withArg(
description: "Custom container for running the figlet tool"
name: "figletContainer"
typeDef: ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
): Function! 0.0s
ā TypeDef.withObject(name: "Container"): TypeDef! 0.0s
ā TypeDef.withOptional(optional: true): TypeDef! 0.0s
ā Module.serve: Void 0.0s
ā Module.name: String! 0.0s
ā hello: Hello! 0.0s
ā Hello.hello: String! 1.1s
ā exec /runtime 1.1s
ā connect 0.3s
ā OK!
ā loadFunctionCallArgValueFromID(
id: FunctionCall.inputArgs: FunctionCallArgValue!
): FunctionCallArgValue! 0.0s
ā loadFunctionCallArgValueFromID(
id: FunctionCall.inputArgs: FunctionCallArgValue!
): FunctionCallArgValue! 0.0s
DEBUG: executing query="query{hello{hello}}"
hello, world!