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

feature request: A mode for --experimental_remote_download_outputs to download testlogs only #8934

Closed
lizan opened this issue Jul 19, 2019 · 9 comments
Labels
team-Remote-Exec Issues and PRs for the Execution (Remote) team untriaged

Comments

@lizan
Copy link

lizan commented Jul 19, 2019

Description of the problem / feature request:

Feature requests: what underlying problem are you trying to solve with this feature?

While setting up Bazel RBE with Envoy CI, we want the CI download less artifacts from RBE to save network bandwidth and disk, while we want to be able to inspect testlogs individually.

Currently the setup is --test_output=all and --experimental_remote_download_outputs=minimal so all test outputs are printed to console, the test log are already downloaded but not write to the disk, it would be nice bazel-testlogs is set up, and better with test.xml, so CI system can interpret them.

What operating system are you running Bazel on?

Ubuntu 16.04

What's the output of bazel info release?

release 0.28.0

@buchgr
Copy link
Contributor

buchgr commented Jul 19, 2019

have you tried --experimental_remote_download_outputs=toplevel. I believe this does what you want :). Please re-open this bug if it doesn't.

@buchgr buchgr closed this as completed Jul 19, 2019
@lizan
Copy link
Author

lizan commented Jul 19, 2019

@buchgr No toplevel is not what I want. I don't want test binaries are downloaded because they are fat, in Envoy it is around 80GB and even larger for sanitizer builds. This caused the RBE CI slowdown. minimal doesn't produce anything while toplevel downloads too much.

Can you reopen the issue?

@buchgr buchgr reopened this Jul 19, 2019
@buchgr
Copy link
Contributor

buchgr commented Jul 19, 2019

@lizan

bazel test //:foo --experimental_remote_download_outputs=toplevel will only download test.log and test.xml. It won't download any binaries. Have you tested it and are seeing something else?

@lizan
Copy link
Author

lizan commented Jul 19, 2019

@buchgr Yes I did. Bazel downloads the binaries and it bursted CI. I had to add https://github.com/envoyproxy/envoy/blob/50fb561c23078e01efd4dc3852812efbf5ca8936/.bazelrc#L107.

I just tried now again and it downloaded binary. The command I ran:

bazel test -c opt --config=remote-clang --config=remote-ci --remote_instance_name=<rbe-instance>  --experimental_remote_download_outputs=toplevel //test/common/common:base64_test

at the commit above.

@buchgr
Copy link
Contributor

buchgr commented Jul 19, 2019

@lizan ahh I see what you mean. Thanks for the reproducer. Please note that with minimal it will download test.log and test.xml of failed tests but not of passed ones. I suppose this is not enough?

UPDATE: I am looking into a fix.

@iirina iirina added team-Remote-Exec Issues and PRs for the Execution (Remote) team untriaged labels Jul 19, 2019
@lizan
Copy link
Author

lizan commented Jul 19, 2019

Yeah I'd like to setup CI Test Summary like this without download test binaries. So it will be nice to have all test.log and test.xml that ran remotely.

buchgr added a commit to buchgr/bazel that referenced this issue Jul 22, 2019
This introduces two new behaviours:
 1) bazel test //:foo_test downloads
 bazel-testlogs/foo_test/test.{log|xml}
 2) bazel build //:foo_test downloads bazel-bin/foo_test

Fixes bazelbuild#8934
@buchgr
Copy link
Contributor

buchgr commented Jul 22, 2019

I have sent out #8947 to address this issue. Maybe you could try it out on envoy?

@buchgr
Copy link
Contributor

buchgr commented Jul 22, 2019

I tested it with the command line you provided and things work fine!

@lizan
Copy link
Author

lizan commented Aug 1, 2019

Thanks @buchgr I was able to verify in Envoy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team-Remote-Exec Issues and PRs for the Execution (Remote) team untriaged
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants