-
Notifications
You must be signed in to change notification settings - Fork 10.9k
Add Dockerfile using RBE's Jessie base image #15499
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
Conversation
|
|
@@ -14,15 +14,15 @@ | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
|
|||
FROM debian:jessie | |||
FROM gcr.io/cloud-marketplace/google/rbe-debian8@sha256:496193842f61c9494be68bd624e47c74d706cabf19a693c4653ffe96a97e43e3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: add an explanatory comment what's the image about - the image name is incomprehensible for someone who doesn't have lot of knowledge about foundry/RBE.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done in new Dockerfile
@@ -12,7 +12,7 @@ | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
|
|||
FROM debian:jessie | |||
FROM gcr.io/cloud-marketplace/google/rbe-debian8@sha256:496193842f61c9494be68bd624e47c74d706cabf19a693c4653ffe96a97e43e3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as discussed, let's introduce a separate rbe clang image (cxx_sanitizers.. ) and use cxx_jessie_x64 (after removing clang) for running basic C/C++ suites.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/grpc/grpc/blob/master/tools/run_tests/run_tests.py#L526
We actually use the current Jessie Dockerfile for clang3.5. clang3.5 is installed in https://github.com/grpc/grpc/blob/master/tools/dockerfile/test/cxx_jessie_x64/Dockerfile#L73, so we at least have to keep that version of clang, but I'm fine with removing the version installed from source.
Before updating my PR, since I forgot to remove clang, are you ok with the name cxx_rbe_jessie_x64
or do you think cxx_sanitizers_x64
is better?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think cxx_sanitizers_... is better because it's more readable. no one knows what rbe is.
|
All sanitizers passed except for This was on Clang 6, using an older RBE base, but I will be updating to Clang 7 |
|
|
@@ -29,4 +29,4 @@ | |||
RUN apt-get update && apt-get -y install gcc-4.8 gcc-4.8-multilib g++-4.8 g++-4.8-multilib && apt-get clean | |||
|
|||
# Define the default command. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we remove <%include file="../../clang_update.include"/> from this file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
@@ -0,0 +1,31 @@ | |||
%YAML 1.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think not that many folks know what RBE means -> either add a comment or rename.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed the name of the file
|
|
|
|
|
|
|
|
|
|
|
@jtattermusch I think this is ready for review. This PR introduces two ASAN C++ failures, both |
|
@@ -490,6 +490,14 @@ def makefile_name(self): | |||
return 'Makefile' | |||
|
|||
def _clang_make_options(self, version_suffix=''): | |||
if self.args.config == 'ubsan': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we need to special-case ubsan?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm actually not sure why UBSAN is a special case. If anything, I expect all of the sanitizers to break. Before this change, UBSAN wouldn't build from a linking error because it would use clang
instead of clang++
as the LD
. Our Makefile specifies that the LD
for all sanitizers should be clang++
, but I'm guessing run_tests.py
overrides that behavior.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (but please see the comment about special-casing ubsan).
|
MacOS failure - #15027 After a master sanitizer build runs all tests, I'll open issues for the new test failures. |
Add a Dockerfile that uses a RBE base image with Clang 7 to run sanitizers.