Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Buildkitd and Buildctl json log support #3824

Closed
wants to merge 28 commits into from
Closed

Conversation

moeghanem
Copy link

Solves #3133
USES:
in buildkitd.toml:
[app]
log-format = "json"

In terminal:
“buildkitd --log-format json”
“buildctl --log-format json”
(format is text by default)

@AkihiroSuda
Copy link
Member

Please squash commits

benjamin010095 and others added 28 commits April 27, 2023 05:12
Signed-off-by: Moe Ghanem <[email protected]>
The go http library will normally implicitly set an Accept-Encoding of
gzip to requests and then transparently decompress the response body.
However, if the Accept-Encoding header is explicitly set by the caller
it will no longer transparently decompress the body. This was causing
HTTP LLB sources to have unexpectedly compressed contents.

The fix here just unsets the Accept-Encoding header after the HEAD
request. Another possible fix would be to do our own gzip decompression
after reading the body if it was gzipped, but this approach seemed
slightly simpler.

Signed-off-by: Erik Sipsma <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Kohei Tokunaga <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
This is primarily needed to pick up this commit:
containerd/go-runc@1caf1a7

Which fixes a problem where subprocesses can be incorrectly killed in a
process where the go runtime is killing threads.

The go runtime will only kill threads if they are left in a locked
state, but a recent change resulted in exactly that:
moby@0a8e5cf

Signed-off-by: Erik Sipsma <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
It's possible for the Status field of runc.ExitError to be set to -1, in
which case conversion to uint32 results in the error message to say that
the container exited with code 4294967295 (2^32-1).

Signed-off-by: Erik Sipsma <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Kohei Tokunaga <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Kohei Tokunaga <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Kohei Tokunaga <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Kohei Tokunaga <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Kohei Tokunaga <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
A bogus dependency on github.com/kr/pretty was somehow added to go.mod
by dependabot in PR 3759 (6fb8f99)

Signed-off-by: Akihiro Suda <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Vladislav Ivanov <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
This lets you run:

```
docker run -d --rm --privileged -p 1234:1234 moby/buildkit:local --addr tcp://0.0.0.0:1234
grpcurl -plaintext localhost:1234 list
```

to determine what APIs a grpc server supports.

Signed-off-by: Nick Santos <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Previously, github actions were showing only `run (./client ./cmd/buildctl ./wor...`
for all worker configurations.
This commit put the worker name first so we can easily see which worker a job is testing.

Signed-off-by: Alexis Murzeau <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
relevant changes:

- Migrate away from things deprecated in Go 1.20
  The deprecated constant tar.TypeRegA is the same value as
  tar.TypeReg and so is not needed at all.

full diff: moby/moby@v23.0.1...v23.0.2

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
no changes in vendored code

full diff: docker/cli@v23.0.1...v23.0.2

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
full diff: golang/time@v0.1.0...v0.3.0

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
full diff: docker/cli@v23.0.2...v23.0.4

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
no changes in vendored files

full diff: moby/moby@v23.0.3...v23.0.4

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Justin Chadwell <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Bertrand Paquet <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Before this any refs that were loaded but not put into results would be
leaked.

Signed-off-by: Erik Sipsma <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
Signed-off-by: Justin Chadwell <[email protected]>
Signed-off-by: Moe Ghanem <[email protected]>
@moeghanem
Copy link
Author

Please squash commits

I'm quite new to open-source, so I was wondering if I did this correctly. Thanks, and sorry for the troubles!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.