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

ci.bazel.io job fails with latest build #3

Closed
damienmg opened this issue Apr 14, 2016 · 8 comments
Closed

ci.bazel.io job fails with latest build #3

damienmg opened this issue Apr 14, 2016 · 8 comments
Assignees
Labels

Comments

@damienmg
Copy link
Collaborator

Due to some problems in rust:
http://ci.bazel.io/job/rules_rust/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/36/console

 LD_LIBRARY_PATH=external/rust_linux_x86_64/rustc/lib DYLD_LIBRARY_PATH=external/rust_linux_x86_64/rustc/lib external/rust_linux_x86_64/rustc/bin/rustc examples/fibonacci/benches/fibonacci_bench.rs --crate-name fibonacci_bench_bin --crate-type lib -C opt-level=3 --codegen ar=/usr/bin/ar --codegen linker=/usr/bin/gcc --codegen link-args='\'''\'' -L all=external/rust_linux_x86_64/rust-std-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib --out-dir bazel-out/local-fastbuild/bin/examples/fibonacci --emit=dep-info,link --test -L dependency=bazel-out/local-fastbuild/bin/examples/fibonacci/fibonacci_bench.deps --extern fibonacci=bazel-out/local-fastbuild/bin/examples/fibonacci/fibonacci_bench.deps/libfibonacci.rlib').
examples/fibonacci/benches/fibonacci_bench.rs:15:1: 15:18 error: #[feature] may not be used on the stable release channel
examples/fibonacci/benches/fibonacci_bench.rs:15 #![feature(test)]
@damienmg
Copy link
Collaborator Author

@davidzchen ping?

@davidzchen
Copy link
Member

We will need to remove //examples/fibonacci:fibonacci_bench from the bazel test invocation since benchmark tests use unstable Rust features that are not supported by stable releases.

@damienmg
Copy link
Collaborator Author

That is not enough, you also have 2 other tests that fails. Maybe mark them as manual?

@davidzchen
Copy link
Member

Which other two? The logs only indicate one:

Executed 0 out of 10 tests: 9 tests pass and 1 fails to build.

The failing test //examples/fibonacci:fibonacci_bench is already marked as manual but the CI appears to explicitly specify the test targets. I was not able to find the string "fibonacci_bench" searching in the continuous-integration repository. Where is this configured?

@damienmg
Copy link
Collaborator Author

//examples/hello_lib:hello_lib_doc_test PASSED in 0.2s
//examples/fibonacci:fibonacci_doc_test FAILED in 0.2s
/home/ci/.cache/bazel/_bazel_ci/33aa7a941782d739810f630222db203d/linux-x86_64/bazel-out/local-fastbuild/testlogs/examples/fibonacci/fibonacci_doc_test/test.log

Executed 2 out of 10 tests: 8 tests pass, 1 fails to build and 1 fails locally.

http://ci.bazel.io/job/rules_rust/56/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/console

The other two might be flaky

@damienmg
Copy link
Collaborator Author

Oh sorry, use the tags "noci" should exclude it.

damienmg added a commit that referenced this issue May 2, 2016
bazel-io pushed a commit to bazelbuild/continuous-integration that referenced this issue May 2, 2016
…_job

Build targets are build in another target and unselected targets might
be build if we do not add that tag. Bazel tests include it and rust
need it.

Fixes bazelbuild/rules_rust#3

Change-Id: Idf54f84bf6668f86d5d308041a4ccf3533e4bec3
@damienmg damienmg closed this as completed May 2, 2016
@damienmg
Copy link
Collaborator Author

damienmg commented May 2, 2016

It's blue now :)

@davidzchen
Copy link
Member

Thanks!

kchodorow pushed a commit to kchodorow/rules_rust that referenced this issue May 31, 2016
dae added a commit to ankitects/rules_rust that referenced this issue Mar 30, 2021
bazelbuild#1: Include details such as the target architecture in the cache folder
hash. Previously only the path to rustc and the compilation mode was
used to calculate the hash, and this was likely the cause of ICEs.
We now include all of the env vars passed into the request in the hash,
so that separate folders are created for different crate names, crate
versions, and target architectures.

bazelbuild#2: A new worker was previously being created for every rustc invocation,
because the env parameter contained crate-specific details that caused
WorkerKey to change each time. Instead of passing the environment in
directly, persist it to a file, and pass it to process-wrapper with
--env-file instead. We also use the contents of this file in order
to generate the hash mentioned above.

This will mean you'll be limited to 4 workers by default; you may
want to also pass in --worker_max_instances=Rustc=HOST_CPUS*0.5 or
similar, as JIT startup is not a concern for the Rust workers, and
parts of rustc's compilation process are unable to take advantage of
more than 1 CPU core.

bazelbuild#3: Instead of storing incremental files in $TEMP, the worker
is now enabled by providing it with a folder that it should store its
incremental files in, such as:

bazel build --@rules_rust//worker:cache_root=/path/to/cache/files

This mimics the behaviour of --disk_cache and --repository_cache, and
makes it clear where the files are being persisted to.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants