From 930c2983d34507765305a56c329c2e354168184b Mon Sep 17 00:00:00 2001 From: Dan Born Date: Thu, 8 Sep 2016 19:12:18 -0700 Subject: [PATCH 01/24] Safe server shutdown. --- .../server/secure/server_secure_chttp2.c | 196 ++++++++++-------- src/core/lib/iomgr/tcp_server_posix.c | 36 ++-- test/core/iomgr/tcp_server_posix_test.c | 3 +- 3 files changed, 131 insertions(+), 104 deletions(-) diff --git a/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c b/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c index da3e284fcf2..563271f4f8c 100644 --- a/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c +++ b/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c @@ -61,13 +61,12 @@ typedef struct server_secure_state { grpc_server_credentials *creds; bool is_shutdown; gpr_mu mu; - gpr_refcount refcount; - grpc_closure destroy_closure; - grpc_closure *destroy_callback; + grpc_closure tcp_server_shutdown_complete; + grpc_closure *server_destroy_listener_done; } server_secure_state; typedef struct server_secure_connect { - server_secure_state *state; + server_secure_state *server_state; grpc_pollset *accepting_pollset; grpc_tcp_server_acceptor *acceptor; grpc_handshake_manager *handshake_mgr; @@ -77,39 +76,28 @@ typedef struct server_secure_connect { grpc_channel_args *args; } server_secure_connect; -static void state_ref(server_secure_state *state) { gpr_ref(&state->refcount); } - -static void state_unref(server_secure_state *state) { - if (gpr_unref(&state->refcount)) { - /* ensure all threads have unlocked */ - gpr_mu_lock(&state->mu); - gpr_mu_unlock(&state->mu); - /* clean up */ - GRPC_SECURITY_CONNECTOR_UNREF(&state->sc->base, "server"); - grpc_server_credentials_unref(state->creds); - gpr_free(state); - } -} - static void on_secure_handshake_done(grpc_exec_ctx *exec_ctx, void *statep, grpc_security_status status, grpc_endpoint *secure_endpoint, grpc_auth_context *auth_context) { - server_secure_connect *state = statep; + server_secure_connect *connection_state = statep; if (status == GRPC_SECURITY_OK) { if (secure_endpoint) { - gpr_mu_lock(&state->state->mu); - if (!state->state->is_shutdown) { + gpr_mu_lock(&connection_state->server_state->mu); + if (!connection_state->server_state->is_shutdown) { grpc_transport *transport = grpc_create_chttp2_transport( - exec_ctx, grpc_server_get_channel_args(state->state->server), + exec_ctx, grpc_server_get_channel_args( + connection_state->server_state->server), secure_endpoint, 0); grpc_arg args_to_add[2]; - args_to_add[0] = grpc_server_credentials_to_arg(state->state->creds); + args_to_add[0] = grpc_server_credentials_to_arg( + connection_state->server_state->creds); args_to_add[1] = grpc_auth_context_to_arg(auth_context); grpc_channel_args *args_copy = grpc_channel_args_copy_and_add( - state->args, args_to_add, GPR_ARRAY_SIZE(args_to_add)); - grpc_server_setup_transport(exec_ctx, state->state->server, transport, - state->accepting_pollset, args_copy); + connection_state->args, args_to_add, GPR_ARRAY_SIZE(args_to_add)); + grpc_server_setup_transport( + exec_ctx, connection_state->server_state->server, transport, + connection_state->accepting_pollset, args_copy); grpc_channel_args_destroy(args_copy); grpc_chttp2_transport_start_reading(exec_ctx, transport, NULL); } else { @@ -117,21 +105,21 @@ static void on_secure_handshake_done(grpc_exec_ctx *exec_ctx, void *statep, * gone away. */ grpc_endpoint_destroy(exec_ctx, secure_endpoint); } - gpr_mu_unlock(&state->state->mu); + gpr_mu_unlock(&connection_state->server_state->mu); } } else { gpr_log(GPR_ERROR, "Secure transport failed with error %d", status); } - grpc_channel_args_destroy(state->args); - state_unref(state->state); - gpr_free(state); + grpc_channel_args_destroy(connection_state->args); + grpc_tcp_server_unref(exec_ctx, connection_state->server_state->tcp); + gpr_free(connection_state); } static void on_handshake_done(grpc_exec_ctx *exec_ctx, grpc_endpoint *endpoint, grpc_channel_args *args, gpr_slice_buffer *read_buffer, void *user_data, grpc_error *error) { - server_secure_connect *state = user_data; + server_secure_connect *connection_state = user_data; if (error != GRPC_ERROR_NONE) { const char *error_str = grpc_error_string(error); gpr_log(GPR_ERROR, "Handshaking failed: %s", error_str); @@ -139,81 +127,107 @@ static void on_handshake_done(grpc_exec_ctx *exec_ctx, grpc_endpoint *endpoint, GRPC_ERROR_UNREF(error); grpc_channel_args_destroy(args); gpr_free(read_buffer); - grpc_handshake_manager_shutdown(exec_ctx, state->handshake_mgr); - grpc_handshake_manager_destroy(exec_ctx, state->handshake_mgr); - state_unref(state->state); - gpr_free(state); + grpc_handshake_manager_shutdown(exec_ctx, connection_state->handshake_mgr); + grpc_handshake_manager_destroy(exec_ctx, connection_state->handshake_mgr); + grpc_tcp_server_unref(exec_ctx, connection_state->server_state->tcp); + gpr_free(connection_state); return; } - grpc_handshake_manager_destroy(exec_ctx, state->handshake_mgr); - state->handshake_mgr = NULL; + grpc_handshake_manager_destroy(exec_ctx, connection_state->handshake_mgr); + connection_state->handshake_mgr = NULL; // TODO(roth, jboeuf): Convert security connector handshaking to use new // handshake API, and then move the code from on_secure_handshake_done() // into this function. - state->args = args; + connection_state->args = args; grpc_server_security_connector_do_handshake( - exec_ctx, state->state->sc, state->acceptor, endpoint, read_buffer, - state->deadline, on_secure_handshake_done, state); + exec_ctx, connection_state->server_state->sc, connection_state->acceptor, + endpoint, read_buffer, connection_state->deadline, + on_secure_handshake_done, connection_state); } static void on_accept(grpc_exec_ctx *exec_ctx, void *statep, grpc_endpoint *tcp, grpc_pollset *accepting_pollset, grpc_tcp_server_acceptor *acceptor) { - server_secure_connect *state = gpr_malloc(sizeof(*state)); - state->state = statep; - state_ref(state->state); - state->accepting_pollset = accepting_pollset; - state->acceptor = acceptor; - state->handshake_mgr = grpc_handshake_manager_create(); + server_secure_state *server_state = statep; + server_secure_connect *connection_state = NULL; + gpr_mu_lock(&server_state->mu); + if (server_state->is_shutdown) { + gpr_mu_unlock(&server_state->mu); + grpc_endpoint_destroy(exec_ctx, tcp); + return; + } + gpr_mu_unlock(&server_state->mu); + grpc_tcp_server_ref(server_state->tcp); + connection_state = gpr_malloc(sizeof(*connection_state)); + connection_state->server_state = server_state; + connection_state->accepting_pollset = accepting_pollset; + connection_state->acceptor = acceptor; + connection_state->handshake_mgr = grpc_handshake_manager_create(); // TODO(roth): We should really get this timeout value from channel // args instead of hard-coding it. - state->deadline = gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), - gpr_time_from_seconds(120, GPR_TIMESPAN)); + connection_state->deadline = gpr_time_add( + gpr_now(GPR_CLOCK_MONOTONIC), gpr_time_from_seconds(120, GPR_TIMESPAN)); grpc_handshake_manager_do_handshake( - exec_ctx, state->handshake_mgr, tcp, - grpc_server_get_channel_args(state->state->server), state->deadline, - acceptor, on_handshake_done, state); + exec_ctx, connection_state->handshake_mgr, tcp, + grpc_server_get_channel_args(connection_state->server_state->server), + connection_state->deadline, acceptor, on_handshake_done, + connection_state); } /* Server callback: start listening on our ports */ -static void start(grpc_exec_ctx *exec_ctx, grpc_server *server, void *statep, - grpc_pollset **pollsets, size_t pollset_count) { - server_secure_state *state = statep; - grpc_tcp_server_start(exec_ctx, state->tcp, pollsets, pollset_count, - on_accept, state); +static void server_start_listener(grpc_exec_ctx *exec_ctx, grpc_server *server, + void *statep, grpc_pollset **pollsets, + size_t pollset_count) { + server_secure_state *server_state = statep; + gpr_mu_lock(&server_state->mu); + server_state->is_shutdown = false; + gpr_mu_unlock(&server_state->mu); + grpc_tcp_server_start(exec_ctx, server_state->tcp, pollsets, pollset_count, + on_accept, server_state); } -static void destroy_done(grpc_exec_ctx *exec_ctx, void *statep, - grpc_error *error) { - server_secure_state *state = statep; - if (state->destroy_callback != NULL) { - state->destroy_callback->cb(exec_ctx, state->destroy_callback->cb_arg, - GRPC_ERROR_REF(error)); +static void tcp_server_shutdown_complete(grpc_exec_ctx *exec_ctx, void *statep, + grpc_error *error) { + server_secure_state *server_state = statep; + /* ensure all threads have unlocked */ + gpr_mu_lock(&server_state->mu); + grpc_closure *destroy_done = server_state->server_destroy_listener_done; + GPR_ASSERT(server_state->is_shutdown); + gpr_mu_unlock(&server_state->mu); + /* clean up */ + grpc_server_security_connector_shutdown(exec_ctx, server_state->sc); + + /* Flush queued work before a synchronous unref. */ + grpc_exec_ctx_flush(exec_ctx); + GRPC_SECURITY_CONNECTOR_UNREF(&server_state->sc->base, "server"); + grpc_server_credentials_unref(server_state->creds); + + if (destroy_done != NULL) { + destroy_done->cb(exec_ctx, destroy_done->cb_arg, GRPC_ERROR_REF(error)); + grpc_exec_ctx_flush(exec_ctx); } - grpc_server_security_connector_shutdown(exec_ctx, state->sc); - state_unref(state); + gpr_free(server_state); } -/* Server callback: destroy the tcp listener (so we don't generate further - callbacks) */ -static void destroy(grpc_exec_ctx *exec_ctx, grpc_server *server, void *statep, - grpc_closure *callback) { - server_secure_state *state = statep; +static void server_destroy_listener(grpc_exec_ctx *exec_ctx, + grpc_server *server, void *statep, + grpc_closure *callback) { + server_secure_state *server_state = statep; grpc_tcp_server *tcp; - gpr_mu_lock(&state->mu); - state->is_shutdown = true; - state->destroy_callback = callback; - tcp = state->tcp; - gpr_mu_unlock(&state->mu); + gpr_mu_lock(&server_state->mu); + server_state->is_shutdown = true; + server_state->server_destroy_listener_done = callback; + tcp = server_state->tcp; + gpr_mu_unlock(&server_state->mu); grpc_tcp_server_shutdown_listeners(exec_ctx, tcp); - grpc_tcp_server_unref(exec_ctx, tcp); + grpc_tcp_server_unref(exec_ctx, server_state->tcp); } int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds) { grpc_resolved_addresses *resolved = NULL; grpc_tcp_server *tcp = NULL; - server_secure_state *state = NULL; + server_secure_state *server_state = NULL; size_t i; size_t count = 0; int port_num = -1; @@ -253,22 +267,22 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, if (err != GRPC_ERROR_NONE) { goto error; } - state = gpr_malloc(sizeof(*state)); - memset(state, 0, sizeof(*state)); - grpc_closure_init(&state->destroy_closure, destroy_done, state); - err = grpc_tcp_server_create(&state->destroy_closure, + server_state = gpr_malloc(sizeof(*server_state)); + memset(server_state, 0, sizeof(*server_state)); + grpc_closure_init(&server_state->tcp_server_shutdown_complete, + tcp_server_shutdown_complete, server_state); + err = grpc_tcp_server_create(&server_state->tcp_server_shutdown_complete, grpc_server_get_channel_args(server), &tcp); if (err != GRPC_ERROR_NONE) { goto error; } - state->server = server; - state->tcp = tcp; - state->sc = sc; - state->creds = grpc_server_credentials_ref(creds); - state->is_shutdown = false; - gpr_mu_init(&state->mu); - gpr_ref_init(&state->refcount, 1); + server_state->server = server; + server_state->tcp = tcp; + server_state->sc = sc; + server_state->creds = grpc_server_credentials_ref(creds); + server_state->is_shutdown = true; + gpr_mu_init(&server_state->mu); errors = gpr_malloc(sizeof(*errors) * resolved->naddrs); for (i = 0; i < resolved->naddrs; i++) { @@ -313,7 +327,8 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_resolved_addresses_destroy(resolved); /* Register with the server only upon success */ - grpc_server_add_listener(&exec_ctx, server, state, start, destroy); + grpc_server_add_listener(&exec_ctx, server, server_state, + server_start_listener, server_destroy_listener); grpc_exec_ctx_finish(&exec_ctx); return port_num; @@ -334,10 +349,11 @@ error: grpc_tcp_server_unref(&exec_ctx, tcp); } else { if (sc) { + grpc_exec_ctx_flush(&exec_ctx); GRPC_SECURITY_CONNECTOR_UNREF(&sc->base, "server"); } - if (state) { - gpr_free(state); + if (server_state) { + gpr_free(server_state); } } grpc_exec_ctx_finish(&exec_ctx); diff --git a/src/core/lib/iomgr/tcp_server_posix.c b/src/core/lib/iomgr/tcp_server_posix.c index 2d3f6cf9a7d..5f846c8afb1 100644 --- a/src/core/lib/iomgr/tcp_server_posix.c +++ b/src/core/lib/iomgr/tcp_server_posix.c @@ -191,6 +191,9 @@ grpc_error *grpc_tcp_server_create(grpc_closure *shutdown_complete, } static void finish_shutdown(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { + gpr_mu_lock(&s->mu); + GPR_ASSERT(s->shutdown); + gpr_mu_unlock(&s->mu); if (s->shutdown_complete != NULL) { grpc_exec_ctx_sched(exec_ctx, s->shutdown_complete, GRPC_ERROR_NONE, NULL); } @@ -652,6 +655,7 @@ unsigned grpc_tcp_server_port_fd_count(grpc_tcp_server *s, unsigned port_index) { unsigned num_fds = 0; grpc_tcp_listener *sp; + gpr_mu_lock(&s->mu); for (sp = s->head; sp && port_index != 0; sp = sp->next) { if (!sp->is_sibling) { --port_index; @@ -659,12 +663,15 @@ unsigned grpc_tcp_server_port_fd_count(grpc_tcp_server *s, } for (; sp; sp = sp->sibling, ++num_fds) ; + gpr_mu_unlock(&s->mu); return num_fds; } int grpc_tcp_server_port_fd(grpc_tcp_server *s, unsigned port_index, unsigned fd_index) { grpc_tcp_listener *sp; + int fd; + gpr_mu_lock(&s->mu); for (sp = s->head; sp && port_index != 0; sp = sp->next) { if (!sp->is_sibling) { --port_index; @@ -673,10 +680,12 @@ int grpc_tcp_server_port_fd(grpc_tcp_server *s, unsigned port_index, for (; sp && fd_index != 0; sp = sp->sibling, --fd_index) ; if (sp) { - return sp->fd; + fd = sp->fd; } else { - return -1; + fd = -1; } + gpr_mu_unlock(&s->mu); + return fd; } void grpc_tcp_server_start(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s, @@ -722,7 +731,7 @@ void grpc_tcp_server_start(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s, } grpc_tcp_server *grpc_tcp_server_ref(grpc_tcp_server *s) { - gpr_ref(&s->refs); + gpr_ref_non_zero(&s->refs); return s; } @@ -736,18 +745,21 @@ void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server *s, void grpc_tcp_server_unref(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { if (gpr_unref(&s->refs)) { - /* Complete shutdown_starting work before destroying. */ grpc_exec_ctx local_exec_ctx = GRPC_EXEC_CTX_INIT; + bool finish_ctx = false; + /* FIXME: API allows a NULL exec_ctx, although this might cause us to delete + ourself before some enqueued work in some other exec_ctx runs. */ + if (exec_ctx == NULL) { + exec_ctx = &local_exec_ctx; + finish_ctx = true; + } + grpc_tcp_server_shutdown_listeners(exec_ctx, s); gpr_mu_lock(&s->mu); - grpc_exec_ctx_enqueue_list(&local_exec_ctx, &s->shutdown_starting, NULL); + grpc_exec_ctx_enqueue_list(exec_ctx, &s->shutdown_starting, NULL); gpr_mu_unlock(&s->mu); - if (exec_ctx == NULL) { - grpc_exec_ctx_flush(&local_exec_ctx); - tcp_server_destroy(&local_exec_ctx, s); - grpc_exec_ctx_finish(&local_exec_ctx); - } else { - grpc_exec_ctx_finish(&local_exec_ctx); - tcp_server_destroy(exec_ctx, s); + tcp_server_destroy(exec_ctx, s); + if (finish_ctx) { + grpc_exec_ctx_finish(exec_ctx); } } } diff --git a/test/core/iomgr/tcp_server_posix_test.c b/test/core/iomgr/tcp_server_posix_test.c index 6e2d1d0fc9e..6b1dd428a13 100644 --- a/test/core/iomgr/tcp_server_posix_test.c +++ b/test/core/iomgr/tcp_server_posix_test.c @@ -314,11 +314,10 @@ static void test_connect(unsigned n) { GPR_ASSERT(grpc_tcp_server_port_fd(s, 0, 0) >= 0); grpc_tcp_server_unref(&exec_ctx, s); + grpc_exec_ctx_finish(&exec_ctx); /* Weak ref lost. */ GPR_ASSERT(weak_ref.server == NULL); - - grpc_exec_ctx_finish(&exec_ctx); } static void destroy_pollset(grpc_exec_ctx *exec_ctx, void *p, From 966a448a55fa64a5c4654b8cd9656b79cc4b5ba8 Mon Sep 17 00:00:00 2001 From: Dan Born Date: Mon, 26 Sep 2016 15:51:42 -0700 Subject: [PATCH 02/24] Require non-NULL exec_ctx to unref. --- src/core/lib/iomgr/tcp_server.h | 4 ++-- src/core/lib/iomgr/tcp_server_posix.c | 11 ----------- src/core/lib/iomgr/tcp_server_windows.c | 19 +++++++------------ 3 files changed, 9 insertions(+), 25 deletions(-) diff --git a/src/core/lib/iomgr/tcp_server.h b/src/core/lib/iomgr/tcp_server.h index 5a25d39a0c4..9a390699b45 100644 --- a/src/core/lib/iomgr/tcp_server.h +++ b/src/core/lib/iomgr/tcp_server.h @@ -101,8 +101,8 @@ grpc_tcp_server *grpc_tcp_server_ref(grpc_tcp_server *s); void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server *s, grpc_closure *shutdown_starting); -/* If the refcount drops to zero, delete s, and call (exec_ctx==NULL) or enqueue - a call (exec_ctx!=NULL) to shutdown_complete. */ +/* If the refcount drops to zero, enqueue calls on exec_ctx to + shutdown_listeners and delete s. */ void grpc_tcp_server_unref(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s); /* Shutdown the fds of listeners. */ diff --git a/src/core/lib/iomgr/tcp_server_posix.c b/src/core/lib/iomgr/tcp_server_posix.c index 5f846c8afb1..73df5477e66 100644 --- a/src/core/lib/iomgr/tcp_server_posix.c +++ b/src/core/lib/iomgr/tcp_server_posix.c @@ -745,22 +745,11 @@ void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server *s, void grpc_tcp_server_unref(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { if (gpr_unref(&s->refs)) { - grpc_exec_ctx local_exec_ctx = GRPC_EXEC_CTX_INIT; - bool finish_ctx = false; - /* FIXME: API allows a NULL exec_ctx, although this might cause us to delete - ourself before some enqueued work in some other exec_ctx runs. */ - if (exec_ctx == NULL) { - exec_ctx = &local_exec_ctx; - finish_ctx = true; - } grpc_tcp_server_shutdown_listeners(exec_ctx, s); gpr_mu_lock(&s->mu); grpc_exec_ctx_enqueue_list(exec_ctx, &s->shutdown_starting, NULL); gpr_mu_unlock(&s->mu); tcp_server_destroy(exec_ctx, s); - if (finish_ctx) { - grpc_exec_ctx_finish(exec_ctx); - } } } diff --git a/src/core/lib/iomgr/tcp_server_windows.c b/src/core/lib/iomgr/tcp_server_windows.c index 1b125e7005b..35faded993d 100644 --- a/src/core/lib/iomgr/tcp_server_windows.c +++ b/src/core/lib/iomgr/tcp_server_windows.c @@ -121,6 +121,9 @@ grpc_error *grpc_tcp_server_create(grpc_closure *shutdown_complete, } static void finish_shutdown(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { + gpr_mu_lock(&s->mu); + GPR_ASSERT(s->shutdown); + gpr_mu_unlock(&s->mu); if (s->shutdown_complete != NULL) { grpc_exec_ctx_sched(exec_ctx, s->shutdown_complete, GRPC_ERROR_NONE, NULL); } @@ -139,7 +142,7 @@ static void finish_shutdown(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { } grpc_tcp_server *grpc_tcp_server_ref(grpc_tcp_server *s) { - gpr_ref(&s->refs); + gpr_ref_non_zero(&s->refs); return s; } @@ -174,19 +177,11 @@ static void tcp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { void grpc_tcp_server_unref(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { if (gpr_unref(&s->refs)) { - /* Complete shutdown_starting work before destroying. */ - grpc_exec_ctx local_exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_tcp_server_shutdown_listeners(exec_ctx, s); gpr_mu_lock(&s->mu); - grpc_exec_ctx_enqueue_list(&local_exec_ctx, &s->shutdown_starting, NULL); + grpc_exec_ctx_enqueue_list(exec_ctx, &s->shutdown_starting, NULL); gpr_mu_unlock(&s->mu); - if (exec_ctx == NULL) { - grpc_exec_ctx_flush(&local_exec_ctx); - tcp_server_destroy(&local_exec_ctx, s); - grpc_exec_ctx_finish(&local_exec_ctx); - } else { - grpc_exec_ctx_finish(&local_exec_ctx); - tcp_server_destroy(exec_ctx, s); - } + tcp_server_destroy(exec_ctx, s); } } From befac97048f42f55409bb38a34a75c38cbf34241 Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Thu, 22 Sep 2016 17:15:15 -0700 Subject: [PATCH 03/24] fixed local cloning of grpc/grpc submodules on docker --- test/distrib/cpp/run_distrib_test.sh | 6 +++++- .../grpc_check_generated_pb_files/check_pb_files.sh | 6 +++++- .../interoptest/grpc_interop_csharp/build_interop.sh | 6 +++++- .../grpc_interop_csharpcoreclr/build_interop.sh | 6 +++++- .../interoptest/grpc_interop_cxx/build_interop.sh | 6 +++++- .../interoptest/grpc_interop_http2/build_interop.sh | 6 +++++- .../interoptest/grpc_interop_node/build_interop.sh | 6 +++++- .../interoptest/grpc_interop_php/build_interop.sh | 7 ++++++- .../interoptest/grpc_interop_php7/build_interop.sh | 7 ++++++- .../interoptest/grpc_interop_python/build_interop.sh | 6 +++++- .../interoptest/grpc_interop_ruby/build_interop.sh | 7 ++++++- .../grpc_interop_stress_csharp/build_interop_stress.sh | 6 +++++- .../grpc_interop_stress_cxx/build_interop_stress.sh | 6 +++++- .../grpc_interop_stress_go/build_interop_stress.sh | 6 +++++- .../grpc_interop_stress_java/build_interop_stress.sh | 6 +++++- .../grpc_interop_stress_node/build_interop_stress.sh | 6 +++++- .../grpc_interop_stress_php/build_interop_stress.sh | 7 ++++++- .../grpc_interop_stress_python/build_interop_stress.sh | 6 +++++- .../grpc_interop_stress_ruby/build_interop_stress.sh | 7 ++++++- tools/run_tests/dockerize/docker_run.sh | 6 +++++- tools/run_tests/dockerize/docker_run_tests.sh | 6 +++++- 21 files changed, 110 insertions(+), 21 deletions(-) diff --git a/test/distrib/cpp/run_distrib_test.sh b/test/distrib/cpp/run_distrib_test.sh index bc84b84b8f3..cd4158eb5d9 100755 --- a/test/distrib/cpp/run_distrib_test.sh +++ b/test/distrib/cpp/run_distrib_test.sh @@ -30,9 +30,13 @@ set -ex -git clone --recursive $EXTERNAL_GIT_ROOT +git clone $EXTERNAL_GIT_ROOT cd grpc +# clone submodules +git submodule | awk -v EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT '{ system("git \ +submodule update --init --reference " EXTERNAL_GIT_ROOT$2 " " $2) }' + cd third_party/protobuf && ./autogen.sh && \ ./configure && make -j4 && make check && make install && ldconfig diff --git a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh index 62e41755ec1..fa9fd8fc72e 100755 --- a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh +++ b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh @@ -31,10 +31,14 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + # build grpc cpp plugin for generating grpc pb files make grpc_cpp_plugin diff --git a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh index fd5436c44ff..4ec41b9c30a 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh @@ -32,12 +32,16 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + # build C# interop client & server tools/run_tests/run_tests.py -l csharp -c dbg --build_only diff --git a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh index 77cd65cce37..073c4625bc3 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh @@ -32,12 +32,16 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + # build C# interop client & server tools/run_tests/run_tests.py -l csharp -c dbg --compiler coreclr --build_only diff --git a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh index 1c0828d23a6..5de62a41c0b 100755 --- a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh @@ -32,13 +32,17 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + make install-certs # build C++ interop client & server diff --git a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh index 46ddaf929a8..64418bc63de 100755 --- a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh @@ -32,7 +32,11 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc + +# clone gRPC submodules +(cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ +update --init --reference ./../../jenkins/grpc" $2 " " $2) }') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true diff --git a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh index 976f55d9ab5..85750ed91c2 100755 --- a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh @@ -32,13 +32,17 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + # build Node interop client & server npm install -g node-gyp npm install --unsafe-perm --build-from-source diff --git a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh index a84a450221e..ea149049338 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh @@ -32,12 +32,17 @@ set -ex mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc + +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + rvm --default use ruby-2.1 # gRPC core and protobuf need to be installed diff --git a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh index 261dded2821..0e045631c2f 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh @@ -32,12 +32,17 @@ set -ex mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc + +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + rvm --default use ruby-2.1 # gRPC core and protobuf need to be installed diff --git a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh index f29c59da8e8..55d1b6f915a 100755 --- a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh @@ -32,11 +32,15 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + tools/run_tests/run_tests.py -l python -c opt --build_only diff --git a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh index 97b3860f981..0290de92099 100755 --- a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh @@ -32,12 +32,17 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc + +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + rvm --default use ruby-2.1 # build Ruby interop client and server diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh index 1f4bf893cce..a4d7feef95f 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh @@ -32,13 +32,17 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # Copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + # Build C++ metrics client (to query the metrics from csharp stress client) make metrics_client -j diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh index b67b1a1664a..d704f86496b 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh @@ -32,13 +32,17 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + make install-certs BUILD_TYPE=${BUILD_TYPE:=opt} diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh index 919d885c178..2b3b69be6ee 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh @@ -38,7 +38,11 @@ git clone --recursive /var/local/jenkins/grpc-go src/google.golang.org/grpc # Clone the 'grpc' repo. We just need this for the wrapper scripts under # grpc/tools/gcp/stress_tests -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc + +# clone gRPC submodules +(cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ +update --init --reference ./../../jenkins/grpc" $2 " " $2) }') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh index d4fdfbbac96..99d287b21bf 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh @@ -36,7 +36,11 @@ mkdir -p /var/local/git git clone --recursive --depth 1 /var/local/jenkins/grpc-java /var/local/git/grpc-java # grpc repo (for metrics client and for the stress test wrapper scripts) -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc + +# clone gRPC submodules +(cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ +update --init --reference ./../../jenkins/grpc" $2 " " $2) }') # Copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh index 976f55d9ab5..85750ed91c2 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh @@ -32,13 +32,17 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + # build Node interop client & server npm install -g node-gyp npm install --unsafe-perm --build-from-source diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh index 87262f1d629..997cda6a35a 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh @@ -32,12 +32,17 @@ set -ex mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc + +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + rvm --default use ruby-2.1 make install-certs diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh index e65332f2f30..e3ccd8e00d3 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh @@ -32,13 +32,17 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + tools/run_tests/run_tests.py -l python -c opt --build_only # Build c++ interop client diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh index 1b7567d87a6..be39fb484b2 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh @@ -32,12 +32,17 @@ set -e mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc # Copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc + +# clone gRPC submodules +git submodule | awk '{ system("git submodule update --init --reference \ +./../../jenkins/grpc" $2 " " $2) }' + rvm --default use ruby-2.1 # Build Ruby interop client and server diff --git a/tools/run_tests/dockerize/docker_run.sh b/tools/run_tests/dockerize/docker_run.sh index f04b1cfb55b..bb875e275e7 100755 --- a/tools/run_tests/dockerize/docker_run.sh +++ b/tools/run_tests/dockerize/docker_run.sh @@ -36,7 +36,11 @@ set -ex if [ "$RELATIVE_COPY_PATH" == "" ] then mkdir -p /var/local/git - git clone --recursive "$EXTERNAL_GIT_ROOT" /var/local/git/grpc + git clone "$EXTERNAL_GIT_ROOT" /var/local/git/grpc + # clone gRPC submodules + (cd var/local/git/grpc && exec git submodule | awk -v \ + EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT '{ system("git submodule update --init \ + --reference " EXTERNAL_GIT_ROOT$2 " " $2) }') else mkdir -p "/var/local/git/grpc/$RELATIVE_COPY_PATH" cp -r "$EXTERNAL_GIT_ROOT/$RELATIVE_COPY_PATH"/* "/var/local/git/grpc/$RELATIVE_COPY_PATH" diff --git a/tools/run_tests/dockerize/docker_run_tests.sh b/tools/run_tests/dockerize/docker_run_tests.sh index 8c6143d24f9..55371589605 100755 --- a/tools/run_tests/dockerize/docker_run_tests.sh +++ b/tools/run_tests/dockerize/docker_run_tests.sh @@ -42,7 +42,11 @@ export PATH=$PATH:/usr/bin/llvm-symbolizer chown $(whoami) $XDG_CACHE_HOME mkdir -p /var/local/git -git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc +git clone /var/local/jenkins/grpc /var/local/git/grpc + +# clone gRPC submodules +(cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ +update --init --reference ./../../jenkins/grpc" $2 " " $2) }') mkdir -p reports From ce9471c962d95099e417ee7088376ecf8e017a78 Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Thu, 22 Sep 2016 18:15:34 -0700 Subject: [PATCH 04/24] fixed wrong directory in git clone commands --- .../dockerfile/interoptest/grpc_interop_csharp/build_interop.sh | 2 +- .../interoptest/grpc_interop_csharpcoreclr/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh | 2 +- .../dockerfile/interoptest/grpc_interop_http2/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh | 2 +- .../dockerfile/interoptest/grpc_interop_python/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh | 2 +- .../grpc_interop_stress_csharp/build_interop_stress.sh | 2 +- .../stress_test/grpc_interop_stress_cxx/build_interop_stress.sh | 2 +- .../stress_test/grpc_interop_stress_go/build_interop_stress.sh | 2 +- .../grpc_interop_stress_java/build_interop_stress.sh | 2 +- .../grpc_interop_stress_node/build_interop_stress.sh | 2 +- .../stress_test/grpc_interop_stress_php/build_interop_stress.sh | 2 +- .../grpc_interop_stress_python/build_interop_stress.sh | 2 +- .../grpc_interop_stress_ruby/build_interop_stress.sh | 2 +- tools/run_tests/dockerize/docker_run_tests.sh | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh index 4ec41b9c30a..50378032dba 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' # build C# interop client & server tools/run_tests/run_tests.py -l csharp -c dbg --build_only diff --git a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh index 073c4625bc3..c4092743034 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' # build C# interop client & server tools/run_tests/run_tests.py -l csharp -c dbg --compiler coreclr --build_only diff --git a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh index 5de62a41c0b..6f8b41241f9 100755 --- a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' make install-certs diff --git a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh index 64418bc63de..9c99bf56f54 100755 --- a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh @@ -36,7 +36,7 @@ git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ -update --init --reference ./../../jenkins/grpc" $2 " " $2) }') +update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true diff --git a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh index 85750ed91c2..c82972d34e8 100755 --- a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' # build Node interop client & server npm install -g node-gyp diff --git a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh index ea149049338..fcdb28dcdf3 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' rvm --default use ruby-2.1 diff --git a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh index 0e045631c2f..865802e30b6 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' rvm --default use ruby-2.1 diff --git a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh index 55d1b6f915a..917477c8471 100755 --- a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh @@ -41,6 +41,6 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' tools/run_tests/run_tests.py -l python -c opt --build_only diff --git a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh index 0290de92099..449a21ff650 100755 --- a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' rvm --default use ruby-2.1 diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh index a4d7feef95f..e25783a0b3b 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' # Build C++ metrics client (to query the metrics from csharp stress client) make metrics_client -j diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh index d704f86496b..d223653f92f 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' make install-certs diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh index 2b3b69be6ee..a1d243d411d 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh @@ -42,7 +42,7 @@ git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ -update --init --reference ./../../jenkins/grpc" $2 " " $2) }') +update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh index 99d287b21bf..4400e74be54 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh @@ -40,7 +40,7 @@ git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ -update --init --reference ./../../jenkins/grpc" $2 " " $2) }') +update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') # Copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh index 85750ed91c2..c82972d34e8 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' # build Node interop client & server npm install -g node-gyp diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh index 997cda6a35a..d1ac59fd917 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' rvm --default use ruby-2.1 diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh index e3ccd8e00d3..ee70c1f3a9a 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' tools/run_tests/run_tests.py -l python -c opt --build_only diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh index be39fb484b2..5e47bafe859 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh @@ -41,7 +41,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' rvm --default use ruby-2.1 diff --git a/tools/run_tests/dockerize/docker_run_tests.sh b/tools/run_tests/dockerize/docker_run_tests.sh index 55371589605..ee4c1a5f05d 100755 --- a/tools/run_tests/dockerize/docker_run_tests.sh +++ b/tools/run_tests/dockerize/docker_run_tests.sh @@ -46,7 +46,7 @@ git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ -update --init --reference ./../../jenkins/grpc" $2 " " $2) }') +update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') mkdir -p reports From 41a56ac8acec1576dbdbfdbcbbd0b8c4cea4f58e Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Thu, 22 Sep 2016 18:27:01 -0700 Subject: [PATCH 05/24] fixed one more incorrect directory for git clone --- .../dockerfile/grpc_check_generated_pb_files/check_pb_files.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh index fa9fd8fc72e..b112fb11bb6 100755 --- a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh +++ b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh @@ -37,7 +37,7 @@ cd /var/local/git/grpc # clone gRPC submodules git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc" $2 " " $2) }' +./../../jenkins/grpc/" $2 " " $2) }' # build grpc cpp plugin for generating grpc pb files make grpc_cpp_plugin From a436bab47f394c339b6e8978da3317ff94abfdf8 Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Thu, 22 Sep 2016 18:49:24 -0700 Subject: [PATCH 06/24] fixed incorrect directory when using EXTERNAL_GIT_ROOT in Docker cloning var --- test/distrib/cpp/run_distrib_test.sh | 2 +- tools/run_tests/dockerize/docker_run.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/distrib/cpp/run_distrib_test.sh b/test/distrib/cpp/run_distrib_test.sh index cd4158eb5d9..9c8da508334 100755 --- a/test/distrib/cpp/run_distrib_test.sh +++ b/test/distrib/cpp/run_distrib_test.sh @@ -34,7 +34,7 @@ git clone $EXTERNAL_GIT_ROOT cd grpc # clone submodules -git submodule | awk -v EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT '{ system("git \ +git submodule | awk -v EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT/ '{ system("git \ submodule update --init --reference " EXTERNAL_GIT_ROOT$2 " " $2) }' cd third_party/protobuf && ./autogen.sh && \ diff --git a/tools/run_tests/dockerize/docker_run.sh b/tools/run_tests/dockerize/docker_run.sh index bb875e275e7..791ed6d7b00 100755 --- a/tools/run_tests/dockerize/docker_run.sh +++ b/tools/run_tests/dockerize/docker_run.sh @@ -39,7 +39,7 @@ then git clone "$EXTERNAL_GIT_ROOT" /var/local/git/grpc # clone gRPC submodules (cd var/local/git/grpc && exec git submodule | awk -v \ - EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT '{ system("git submodule update --init \ + EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT/ '{ system("git submodule update --init \ --reference " EXTERNAL_GIT_ROOT$2 " " $2) }') else mkdir -p "/var/local/git/grpc/$RELATIVE_COPY_PATH" From 46c7f574bd4a5298f09fd5d72924b93c355e357e Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Fri, 23 Sep 2016 14:36:23 -0700 Subject: [PATCH 07/24] submodule clone comments changed to be more descriptive --- test/distrib/cpp/run_distrib_test.sh | 2 +- .../dockerfile/grpc_check_generated_pb_files/check_pb_files.sh | 2 +- .../dockerfile/interoptest/grpc_interop_csharp/build_interop.sh | 2 +- .../interoptest/grpc_interop_csharpcoreclr/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh | 2 +- .../dockerfile/interoptest/grpc_interop_http2/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh | 2 +- .../dockerfile/interoptest/grpc_interop_python/build_interop.sh | 2 +- tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh | 2 +- .../grpc_interop_stress_csharp/build_interop_stress.sh | 2 +- .../stress_test/grpc_interop_stress_cxx/build_interop_stress.sh | 2 +- .../stress_test/grpc_interop_stress_go/build_interop_stress.sh | 2 +- .../grpc_interop_stress_java/build_interop_stress.sh | 2 +- .../grpc_interop_stress_node/build_interop_stress.sh | 2 +- .../stress_test/grpc_interop_stress_php/build_interop_stress.sh | 2 +- .../grpc_interop_stress_python/build_interop_stress.sh | 2 +- .../grpc_interop_stress_ruby/build_interop_stress.sh | 2 +- tools/run_tests/dockerize/docker_run.sh | 2 +- tools/run_tests/dockerize/docker_run_tests.sh | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/test/distrib/cpp/run_distrib_test.sh b/test/distrib/cpp/run_distrib_test.sh index 9c8da508334..6b2e043491f 100755 --- a/test/distrib/cpp/run_distrib_test.sh +++ b/test/distrib/cpp/run_distrib_test.sh @@ -33,7 +33,7 @@ set -ex git clone $EXTERNAL_GIT_ROOT cd grpc -# clone submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk -v EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT/ '{ system("git \ submodule update --init --reference " EXTERNAL_GIT_ROOT$2 " " $2) }' diff --git a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh index b112fb11bb6..4773a602a4c 100755 --- a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh +++ b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh @@ -35,7 +35,7 @@ git clone /var/local/jenkins/grpc /var/local/git/grpc cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh index 50378032dba..6a0b2ef0605 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh index c4092743034..c2bb64e84b5 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh index 6f8b41241f9..47380c8a125 100755 --- a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh index 9c99bf56f54..3adc8394902 100755 --- a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') diff --git a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh index c82972d34e8..4b73bb56f80 100755 --- a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh index fcdb28dcdf3..48a6444821a 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh index 865802e30b6..c2348f4f666 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh index 917477c8471..e85153f51a0 100755 --- a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh index 449a21ff650..e5edb5335cb 100755 --- a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh index e25783a0b3b..84920860803 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh index d223653f92f..9ab7aa07274 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh index a1d243d411d..de8430d6778 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh @@ -40,7 +40,7 @@ git clone --recursive /var/local/jenkins/grpc-go src/google.golang.org/grpc # grpc/tools/gcp/stress_tests git clone /var/local/jenkins/grpc /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh index 4400e74be54..ffffea18d21 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh @@ -38,7 +38,7 @@ git clone --recursive --depth 1 /var/local/jenkins/grpc-java /var/local/git/grpc # grpc repo (for metrics client and for the stress test wrapper scripts) git clone /var/local/jenkins/grpc /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh index c82972d34e8..4b73bb56f80 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh index d1ac59fd917..78bf32ce519 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh index ee70c1f3a9a..3f85a868032 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh index 5e47bafe859..09b6fb1e117 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh @@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible git submodule | awk '{ system("git submodule update --init --reference \ ./../../jenkins/grpc/" $2 " " $2) }' diff --git a/tools/run_tests/dockerize/docker_run.sh b/tools/run_tests/dockerize/docker_run.sh index 791ed6d7b00..e57ceaf0ac8 100755 --- a/tools/run_tests/dockerize/docker_run.sh +++ b/tools/run_tests/dockerize/docker_run.sh @@ -37,7 +37,7 @@ if [ "$RELATIVE_COPY_PATH" == "" ] then mkdir -p /var/local/git git clone "$EXTERNAL_GIT_ROOT" /var/local/git/grpc - # clone gRPC submodules + # clone gRPC submodules, use data from locally cloned submodules where possible (cd var/local/git/grpc && exec git submodule | awk -v \ EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT/ '{ system("git submodule update --init \ --reference " EXTERNAL_GIT_ROOT$2 " " $2) }') diff --git a/tools/run_tests/dockerize/docker_run_tests.sh b/tools/run_tests/dockerize/docker_run_tests.sh index ee4c1a5f05d..a1e94b29527 100755 --- a/tools/run_tests/dockerize/docker_run_tests.sh +++ b/tools/run_tests/dockerize/docker_run_tests.sh @@ -44,7 +44,7 @@ chown $(whoami) $XDG_CACHE_HOME mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc -# clone gRPC submodules +# clone gRPC submodules, use data from locally cloned submodules where possible (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') From 5d0f24600ef9b985bef3aada69e2f5847467c53c Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Mon, 26 Sep 2016 12:05:05 -0700 Subject: [PATCH 08/24] changed method to local clone submodules to using git submodule foreach from the local copy --- test/distrib/cpp/run_distrib_test.sh | 10 ++++++---- .../grpc_check_generated_pb_files/check_pb_files.sh | 8 ++++---- .../interoptest/grpc_interop_csharp/build_interop.sh | 8 ++++---- .../grpc_interop_csharpcoreclr/build_interop.sh | 8 ++++---- .../interoptest/grpc_interop_cxx/build_interop.sh | 8 ++++---- .../interoptest/grpc_interop_http2/build_interop.sh | 6 +++--- .../interoptest/grpc_interop_node/build_interop.sh | 8 ++++---- .../interoptest/grpc_interop_php/build_interop.sh | 8 ++++---- .../interoptest/grpc_interop_php7/build_interop.sh | 8 ++++---- .../interoptest/grpc_interop_python/build_interop.sh | 8 ++++---- .../interoptest/grpc_interop_ruby/build_interop.sh | 8 ++++---- .../grpc_interop_stress_csharp/build_interop_stress.sh | 8 ++++---- .../grpc_interop_stress_cxx/build_interop_stress.sh | 8 ++++---- .../grpc_interop_stress_go/build_interop_stress.sh | 6 +++--- .../grpc_interop_stress_java/build_interop_stress.sh | 6 +++--- .../grpc_interop_stress_node/build_interop_stress.sh | 8 ++++---- .../grpc_interop_stress_php/build_interop_stress.sh | 8 ++++---- .../grpc_interop_stress_python/build_interop_stress.sh | 8 ++++---- .../grpc_interop_stress_ruby/build_interop_stress.sh | 8 ++++---- tools/run_tests/dockerize/docker_run.sh | 6 +++--- tools/run_tests/dockerize/docker_run_tests.sh | 6 +++--- 21 files changed, 81 insertions(+), 79 deletions(-) diff --git a/test/distrib/cpp/run_distrib_test.sh b/test/distrib/cpp/run_distrib_test.sh index 6b2e043491f..4c5deeaaae9 100755 --- a/test/distrib/cpp/run_distrib_test.sh +++ b/test/distrib/cpp/run_distrib_test.sh @@ -31,11 +31,13 @@ set -ex git clone $EXTERNAL_GIT_ROOT -cd grpc - # clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk -v EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT/ '{ system("git \ -submodule update --init --reference " EXTERNAL_GIT_ROOT$2 " " $2) }' +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') + + +cd grpc cd third_party/protobuf && ./autogen.sh && \ ./configure && make -j4 && make check && make install && ldconfig diff --git a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh index 4773a602a4c..71306bfb676 100755 --- a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh +++ b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh @@ -32,13 +32,13 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - # build grpc cpp plugin for generating grpc pb files make grpc_cpp_plugin diff --git a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh index 6a0b2ef0605..8f7be9ba134 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh @@ -33,15 +33,15 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - # build C# interop client & server tools/run_tests/run_tests.py -l csharp -c dbg --build_only diff --git a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh index c2bb64e84b5..476b69b09ae 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh @@ -33,15 +33,15 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - # build C# interop client & server tools/run_tests/run_tests.py -l csharp -c dbg --compiler coreclr --build_only diff --git a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh index 47380c8a125..0822ed31052 100755 --- a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh @@ -33,16 +33,16 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - make install-certs # build C++ interop client & server diff --git a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh index 3adc8394902..907ee6b3642 100755 --- a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh @@ -33,10 +33,10 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc - # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ -update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true diff --git a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh index 4b73bb56f80..30dc8a67046 100755 --- a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh @@ -33,16 +33,16 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - # build Node interop client & server npm install -g node-gyp npm install --unsafe-perm --build-from-source diff --git a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh index 48a6444821a..0fef66e512b 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh @@ -33,16 +33,16 @@ set -ex mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - rvm --default use ruby-2.1 # gRPC core and protobuf need to be installed diff --git a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh index c2348f4f666..5d891c6c0b3 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh @@ -33,16 +33,16 @@ set -ex mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - rvm --default use ruby-2.1 # gRPC core and protobuf need to be installed diff --git a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh index e85153f51a0..4ffd2a63c39 100755 --- a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh @@ -33,14 +33,14 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - tools/run_tests/run_tests.py -l python -c opt --build_only diff --git a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh index e5edb5335cb..68aa7a1643a 100755 --- a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh @@ -33,16 +33,16 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - rvm --default use ruby-2.1 # build Ruby interop client and server diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh index 84920860803..7f2d587e59a 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh @@ -33,16 +33,16 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # Copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - # Build C++ metrics client (to query the metrics from csharp stress client) make metrics_client -j diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh index 9ab7aa07274..7332a8c1bbe 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh @@ -33,16 +33,16 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - make install-certs BUILD_TYPE=${BUILD_TYPE:=opt} diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh index de8430d6778..f0a54a43626 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh @@ -39,10 +39,10 @@ git clone --recursive /var/local/jenkins/grpc-go src/google.golang.org/grpc # Clone the 'grpc' repo. We just need this for the wrapper scripts under # grpc/tools/gcp/stress_tests git clone /var/local/jenkins/grpc /var/local/git/grpc - # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ -update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh index ffffea18d21..dcd3a0644a2 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh @@ -37,10 +37,10 @@ git clone --recursive --depth 1 /var/local/jenkins/grpc-java /var/local/git/grpc # grpc repo (for metrics client and for the stress test wrapper scripts) git clone /var/local/jenkins/grpc /var/local/git/grpc - # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ -update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # Copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh index 4b73bb56f80..30dc8a67046 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh @@ -33,16 +33,16 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - # build Node interop client & server npm install -g node-gyp npm install --unsafe-perm --build-from-source diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh index 78bf32ce519..0f624bf3217 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh @@ -33,16 +33,16 @@ set -ex mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - rvm --default use ruby-2.1 make install-certs diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh index 3f85a868032..57b916ca4dd 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh @@ -33,16 +33,16 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - tools/run_tests/run_tests.py -l python -c opt --build_only # Build c++ interop client diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh index 09b6fb1e117..bb4d2fcd224 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh @@ -33,16 +33,16 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') # Copy service account keys if available cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -git submodule | awk '{ system("git submodule update --init --reference \ -./../../jenkins/grpc/" $2 " " $2) }' - rvm --default use ruby-2.1 # Build Ruby interop client and server diff --git a/tools/run_tests/dockerize/docker_run.sh b/tools/run_tests/dockerize/docker_run.sh index e57ceaf0ac8..d50ea81750b 100755 --- a/tools/run_tests/dockerize/docker_run.sh +++ b/tools/run_tests/dockerize/docker_run.sh @@ -38,9 +38,9 @@ then mkdir -p /var/local/git git clone "$EXTERNAL_GIT_ROOT" /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible - (cd var/local/git/grpc && exec git submodule | awk -v \ - EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT/ '{ system("git submodule update --init \ - --reference " EXTERNAL_GIT_ROOT$2 " " $2) }') + (cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ + && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ + ${name}') else mkdir -p "/var/local/git/grpc/$RELATIVE_COPY_PATH" cp -r "$EXTERNAL_GIT_ROOT/$RELATIVE_COPY_PATH"/* "/var/local/git/grpc/$RELATIVE_COPY_PATH" diff --git a/tools/run_tests/dockerize/docker_run_tests.sh b/tools/run_tests/dockerize/docker_run_tests.sh index a1e94b29527..41d93e444d4 100755 --- a/tools/run_tests/dockerize/docker_run_tests.sh +++ b/tools/run_tests/dockerize/docker_run_tests.sh @@ -43,10 +43,10 @@ chown $(whoami) $XDG_CACHE_HOME mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc - # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \ -update --init --reference ./../../jenkins/grpc/" $2 " " $2) }') +(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') mkdir -p reports From 10dcccadfb1400bdc016ad2861b601a9d2574d04 Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Wed, 28 Sep 2016 16:52:34 -0700 Subject: [PATCH 09/24] fixed whitespacing and docker_run_tests.sh now clones submodule via network --- test/distrib/cpp/run_distrib_test.sh | 5 ++--- .../check_pb_files.sh | 2 +- .../grpc_interop_csharp/build_interop.sh | 2 +- .../build_interop.sh | 2 +- .../grpc_interop_cxx/build_interop.sh | 2 +- .../grpc_interop_http2/build_interop.sh | 2 +- .../grpc_interop_node/build_interop.sh | 2 +- .../grpc_interop_php/build_interop.sh | 3 +-- .../grpc_interop_php7/build_interop.sh | 3 +-- .../grpc_interop_python/build_interop.sh | 2 +- .../grpc_interop_ruby/build_interop.sh | 3 +-- .../build_interop_stress.sh | 2 +- .../build_interop_stress.sh | 2 +- .../build_interop_stress.sh | 2 +- .../build_interop_stress.sh | 2 +- .../build_interop_stress.sh | 2 +- .../build_interop_stress.sh | 3 +-- .../build_interop_stress.sh | 3 +-- .../build_interop_stress.sh | 3 +-- tools/run_tests/dockerize/docker_run.sh | 6 +++--- tools/run_tests/dockerize/docker_run_tests.sh | 18 ++++++++++++++---- 21 files changed, 37 insertions(+), 34 deletions(-) diff --git a/test/distrib/cpp/run_distrib_test.sh b/test/distrib/cpp/run_distrib_test.sh index 4c5deeaaae9..15fbf281074 100755 --- a/test/distrib/cpp/run_distrib_test.sh +++ b/test/distrib/cpp/run_distrib_test.sh @@ -32,10 +32,9 @@ set -ex git clone $EXTERNAL_GIT_ROOT # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ -&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +(cd ${EXTERNAL_GIT_ROOT} && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference ${EXTERNAL_GIT_ROOT}/${name} \ ${name}') - cd grpc diff --git a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh index 71306bfb676..9db7aae9eba 100755 --- a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh +++ b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh @@ -33,7 +33,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh index 8f7be9ba134..e37070904d3 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh index 476b69b09ae..d90c899569f 100755 --- a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh index 0822ed31052..7a7ca0d3d1c 100755 --- a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh index 907ee6b3642..a1d668d69fc 100755 --- a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh index 30dc8a67046..4116f842ff1 100755 --- a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh index 0fef66e512b..ea2f88f2d2d 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh @@ -34,7 +34,7 @@ set -ex mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') @@ -42,7 +42,6 @@ ${name}') cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc - rvm --default use ruby-2.1 # gRPC core and protobuf need to be installed diff --git a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh index 5d891c6c0b3..259b7e09750 100755 --- a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh @@ -34,7 +34,7 @@ set -ex mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') @@ -42,7 +42,6 @@ ${name}') cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc - rvm --default use ruby-2.1 # gRPC core and protobuf need to be installed diff --git a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh index 4ffd2a63c39..a6f8c7bfe6b 100755 --- a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh index 68aa7a1643a..6cd2fa2b147 100755 --- a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh +++ b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') @@ -42,7 +42,6 @@ ${name}') cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc - rvm --default use ruby-2.1 # build Ruby interop client and server diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh index 7f2d587e59a..345196894ef 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh index 7332a8c1bbe..92d1f80fe60 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh index f0a54a43626..9e4769cf334 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh @@ -40,7 +40,7 @@ git clone --recursive /var/local/jenkins/grpc-go src/google.golang.org/grpc # grpc/tools/gcp/stress_tests git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh index dcd3a0644a2..0194860d101 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh @@ -38,7 +38,7 @@ git clone --recursive --depth 1 /var/local/jenkins/grpc-java /var/local/git/grpc # grpc repo (for metrics client and for the stress test wrapper scripts) git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh index 30dc8a67046..4116f842ff1 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh index 0f624bf3217..c6d03ea28e0 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh @@ -34,7 +34,7 @@ set -ex mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') @@ -42,7 +42,6 @@ ${name}') cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc - rvm --default use ruby-2.1 make install-certs diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh index 57b916ca4dd..1c7dc2bd577 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') @@ -42,7 +42,6 @@ ${name}') cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc - tools/run_tests/run_tests.py -l python -c opt --build_only # Build c++ interop client diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh index bb4d2fcd224..019f0a44e4c 100755 --- a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh @@ -34,7 +34,7 @@ set -e mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ ${name}') @@ -42,7 +42,6 @@ ${name}') cp -r /var/local/jenkins/service_account $HOME || true cd /var/local/git/grpc - rvm --default use ruby-2.1 # Build Ruby interop client and server diff --git a/tools/run_tests/dockerize/docker_run.sh b/tools/run_tests/dockerize/docker_run.sh index d50ea81750b..ee8d288fb2a 100755 --- a/tools/run_tests/dockerize/docker_run.sh +++ b/tools/run_tests/dockerize/docker_run.sh @@ -36,10 +36,10 @@ set -ex if [ "$RELATIVE_COPY_PATH" == "" ] then mkdir -p /var/local/git - git clone "$EXTERNAL_GIT_ROOT" /var/local/git/grpc + git clone $EXTERNAL_GIT_ROOT /var/local/git/grpc # clone gRPC submodules, use data from locally cloned submodules where possible - (cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ - && git submodule update --init --reference /var/local/jenkins/grpc/${name} \ + (cd ${EXTERNAL_GIT_ROOT} && git submodule foreach 'cd /var/local/git/grpc \ + && git submodule update --init --reference ${EXTERNAL_GIT_ROOT}/${name} \ ${name}') else mkdir -p "/var/local/git/grpc/$RELATIVE_COPY_PATH" diff --git a/tools/run_tests/dockerize/docker_run_tests.sh b/tools/run_tests/dockerize/docker_run_tests.sh index 41d93e444d4..3bab7ffd903 100755 --- a/tools/run_tests/dockerize/docker_run_tests.sh +++ b/tools/run_tests/dockerize/docker_run_tests.sh @@ -43,10 +43,20 @@ chown $(whoami) $XDG_CACHE_HOME mkdir -p /var/local/git git clone /var/local/jenkins/grpc /var/local/git/grpc -# clone gRPC submodules, use data from locally cloned submodules where possible -(cd /var/local/jenkins/grpc / && git submodule foreach 'cd /var/local/git/grpc \ -&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ -${name}') + +# (todo (mattkwong): the /var/local/jenkins/grpc has no submodules and boringssl +# has non-submodule files in it. Figure out how to fix this for local cloning +## this prints to console "reports reports.zip" +# ls /var/local/jenkins/grpc/third_party/boringssl +## none of these print anything (empty directory) +# ls /var/local/jenkins/grpc/third_party/gflags +# ls /var/local/jenkins/grpc/third_party/googletest +# ls /var/local/jenkins/grpc/third_party/nanopb +# ls /var/local/jenkins/grpc/third_party/protobuf +# ls /var/local/jenkins/grpc/third_party/thrift +# ls /var/local/jenkins/grpc/third_party/zlib + +(cd /var/local/git/grpc && git submodule update --init --recursive ) mkdir -p reports From 66a1eea681b1337340e33abd211a8fb1233e8eab Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Thu, 29 Sep 2016 18:30:19 -0700 Subject: [PATCH 10/24] changed wheezy dockerfile to install git version > 1.7 to support local submodule cloning --- .../dockerfile/test/cxx_wheezy_x64/Dockerfile | 7 +++++++ tools/run_tests/dockerize/docker_run_tests.sh | 20 +++++-------------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile b/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile index c25033387f9..503a4357070 100644 --- a/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile +++ b/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile @@ -63,6 +63,13 @@ RUN apt-get update && apt-get install -y \ # Build profiling RUN apt-get update && apt-get install -y time && apt-get clean +#================ +# Add backport to Debian sources.list and update git to version > 1.7 +RUN echo "deb http://http.debian.net/debian wheezy-backports main" \ + >/etc/apt/sources.list.d/wheezy-backports.list +RUN apt-get update -qq +RUN apt-get -t wheezy-backports install -y -qq git mercurial + #==================== # Python dependencies diff --git a/tools/run_tests/dockerize/docker_run_tests.sh b/tools/run_tests/dockerize/docker_run_tests.sh index 3bab7ffd903..7108964a9bc 100755 --- a/tools/run_tests/dockerize/docker_run_tests.sh +++ b/tools/run_tests/dockerize/docker_run_tests.sh @@ -42,21 +42,11 @@ export PATH=$PATH:/usr/bin/llvm-symbolizer chown $(whoami) $XDG_CACHE_HOME mkdir -p /var/local/git -git clone /var/local/jenkins/grpc /var/local/git/grpc - -# (todo (mattkwong): the /var/local/jenkins/grpc has no submodules and boringssl -# has non-submodule files in it. Figure out how to fix this for local cloning -## this prints to console "reports reports.zip" -# ls /var/local/jenkins/grpc/third_party/boringssl -## none of these print anything (empty directory) -# ls /var/local/jenkins/grpc/third_party/gflags -# ls /var/local/jenkins/grpc/third_party/googletest -# ls /var/local/jenkins/grpc/third_party/nanopb -# ls /var/local/jenkins/grpc/third_party/protobuf -# ls /var/local/jenkins/grpc/third_party/thrift -# ls /var/local/jenkins/grpc/third_party/zlib - -(cd /var/local/git/grpc && git submodule update --init --recursive ) +git clone /var/local/jenkins/grpc /var/local/git/grpc +# clone gRPC submodules, use data from locally cloned submodules where possible +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') mkdir -p reports From 8725870c5822a8d2f96e275e46475594567d5ccd Mon Sep 17 00:00:00 2001 From: Dan Born Date: Mon, 3 Oct 2016 12:46:16 -0700 Subject: [PATCH 11/24] Fix Windows server --- src/core/lib/iomgr/tcp_server_windows.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/core/lib/iomgr/tcp_server_windows.c b/src/core/lib/iomgr/tcp_server_windows.c index 35faded993d..4ff05601fa8 100644 --- a/src/core/lib/iomgr/tcp_server_windows.c +++ b/src/core/lib/iomgr/tcp_server_windows.c @@ -121,9 +121,6 @@ grpc_error *grpc_tcp_server_create(grpc_closure *shutdown_complete, } static void finish_shutdown(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { - gpr_mu_lock(&s->mu); - GPR_ASSERT(s->shutdown); - gpr_mu_unlock(&s->mu); if (s->shutdown_complete != NULL) { grpc_exec_ctx_sched(exec_ctx, s->shutdown_complete, GRPC_ERROR_NONE, NULL); } From 2b39808e1c998f67b32d3c2bda0b7bb64a92db76 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 7 Oct 2016 14:40:30 +0200 Subject: [PATCH 12/24] fix building ruby artifact --- src/core/ext/lb_policy/grpclb/grpclb.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/core/ext/lb_policy/grpclb/grpclb.c b/src/core/ext/lb_policy/grpclb/grpclb.c index 63af774ea6d..a64414877f0 100644 --- a/src/core/ext/lb_policy/grpclb/grpclb.c +++ b/src/core/ext/lb_policy/grpclb/grpclb.c @@ -329,8 +329,8 @@ static bool is_server_valid(const grpc_grpclb_server *server, size_t idx, if (server->port >> 16 != 0) { if (log) { gpr_log(GPR_ERROR, - "Invalid port '%d' at index %zu of serverlist. Ignoring.", - server->port, idx); + "Invalid port '%d' at index %lu of serverlist. Ignoring.", + server->port, (unsigned long)idx); } return false; } @@ -338,9 +338,9 @@ static bool is_server_valid(const grpc_grpclb_server *server, size_t idx, if (ip->size != 4 && ip->size != 16) { if (log) { gpr_log(GPR_ERROR, - "Expected IP to be 4 or 16 bytes, got %d at index %zu of " + "Expected IP to be 4 or 16 bytes, got %d at index %lu of " "serverlist. Ignoring", - ip->size, idx); + ip->size, (unsigned long)idx); } return false; } @@ -1070,8 +1070,8 @@ static void res_recv_cb(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { if (serverlist != NULL) { gpr_slice_unref(response_slice); if (grpc_lb_glb_trace) { - gpr_log(GPR_INFO, "Serverlist with %zu servers received", - serverlist->num_servers); + gpr_log(GPR_INFO, "Serverlist with %lu servers received", + (unsigned long)serverlist->num_servers); } /* update serverlist */ @@ -1155,10 +1155,10 @@ static void srv_status_rcvd_cb(grpc_exec_ctx *exec_ctx, void *arg, if (grpc_lb_glb_trace) { gpr_log(GPR_INFO, "status from lb server received. Status = %d, Details = '%s', " - "Capaticy " - "= %zu", + "Capacity " + "= %lu", lb_client->status, lb_client->status_details, - lb_client->status_details_capacity); + (unsigned long)lb_client->status_details_capacity); } /* TODO(dgq): deal with stream termination properly (fire up another one? * fail the original call?) */ From 517503746c65944e9783b00ef004c403b6bd18a9 Mon Sep 17 00:00:00 2001 From: Robbie Shade Date: Mon, 10 Oct 2016 14:49:55 -0400 Subject: [PATCH 13/24] Check for the correct number of orphan callbacks in udp_server_test --- test/core/iomgr/udp_server_test.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/core/iomgr/udp_server_test.c b/test/core/iomgr/udp_server_test.c index 2a304275043..71d2fb5bd44 100644 --- a/test/core/iomgr/udp_server_test.c +++ b/test/core/iomgr/udp_server_test.c @@ -131,8 +131,9 @@ static void test_no_op_with_port_and_start(void) { grpc_udp_server_destroy(&exec_ctx, s, NULL); grpc_exec_ctx_finish(&exec_ctx); - /* The server had a single FD, which should have been orphaned. */ - GPR_ASSERT(g_number_of_orphan_calls == 1); + /* The server had a single FD, which is orphaned once in * + * deactivated_all_ports, and once in grpc_udp_server_destroy. */ + GPR_ASSERT(g_number_of_orphan_calls == 2); } static void test_receive(int number_of_clients) { @@ -196,8 +197,9 @@ static void test_receive(int number_of_clients) { grpc_udp_server_destroy(&exec_ctx, s, NULL); grpc_exec_ctx_finish(&exec_ctx); - /* The server had a single FD, which should have been orphaned. */ - GPR_ASSERT(g_number_of_orphan_calls == 1); + /* The server had a single FD, which is orphaned once in * + * deactivated_all_ports, and once in grpc_udp_server_destroy. */ + GPR_ASSERT(g_number_of_orphan_calls == 2); } static void destroy_pollset(grpc_exec_ctx *exec_ctx, void *p, From 41c06a2ed563e31add33212dd861f554fc426c2b Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Tue, 11 Oct 2016 13:49:23 -0700 Subject: [PATCH 14/24] move changes from dockerfile to template --- .../test/cxx_wheezy_x64/Dockerfile.template | 6 ++++++ tools/dockerfile/test/cxx_wheezy_x64/Dockerfile | 12 +++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/templates/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile.template b/templates/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile.template index b6a3b0d5d21..5c38e9a0e92 100644 --- a/templates/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile.template @@ -41,6 +41,12 @@ g++-4.4 ${'\\'} g++-4.4-multilib + # set up backport to allow installation of Git version > 1.7 + RUN echo "deb http://http.debian.net/debian wheezy-backports main" \ + >/etc/apt/sources.list.d/wheezy-backports.list + RUN apt-get update -qq + RUN apt-get -t wheezy-backports install -qq git + RUN wget ${openssl_fallback.base_uri + openssl_fallback.tarball} ENV POST_GIT_STEP tools/dockerfile/test/cxx_wheezy_x64/post-git-setup.sh diff --git a/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile b/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile index 503a4357070..f22fcacc139 100644 --- a/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile +++ b/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile @@ -63,13 +63,6 @@ RUN apt-get update && apt-get install -y \ # Build profiling RUN apt-get update && apt-get install -y time && apt-get clean -#================ -# Add backport to Debian sources.list and update git to version > 1.7 -RUN echo "deb http://http.debian.net/debian wheezy-backports main" \ - >/etc/apt/sources.list.d/wheezy-backports.list -RUN apt-get update -qq -RUN apt-get -t wheezy-backports install -y -qq git mercurial - #==================== # Python dependencies @@ -96,6 +89,11 @@ RUN apt-get update && apt-get install -y \ g++-4.4 \ g++-4.4-multilib +# set up backport to allow installation of Git version > 1.7 +RUN echo "deb http://http.debian.net/debian wheezy-backports main" >/etc/apt/sources.list.d/wheezy-backports.list +RUN apt-get update -qq +RUN apt-get -t wheezy-backports install -qq git + RUN wget https://openssl.org/source/old/1.0.2/openssl-1.0.2f.tar.gz ENV POST_GIT_STEP tools/dockerfile/test/cxx_wheezy_x64/post-git-setup.sh From 580e976b5fb23cc394d710a511d896f75fc9ce31 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 17:42:55 +0200 Subject: [PATCH 15/24] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e9b0454871c..70cf9fcc30e 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ See [tools/run_tests](tools/run_tests) for more guidance on how to run various t This repository contains source code for gRPC libraries for multiple languages written on top of shared C core library [src/core] (src/core). -Libraries in different languages are in different states of development. We are seeking contributions for all of these libraries. +Libraries in different languages may be in different states of development. We are seeking contributions for all of these libraries. | Language | Source | Status | |-------------------------|-------------------------------------|---------| From 10edbe5485add0cb1b1e4b71045d783f1a1ed3b8 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 17:48:59 +0200 Subject: [PATCH 16/24] Update README.md --- src/core/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/core/README.md b/src/core/README.md index 0d8c0d5bd90..62865d0c13e 100644 --- a/src/core/README.md +++ b/src/core/README.md @@ -2,7 +2,3 @@ This directory contains source code for shared C library. Libraries in other languages in this repository (C++, Ruby, Python, PHP, NodeJS, Objective-C) are layered on top of this library. - -#Status - -Beta From 7a82301a2ea55fd534bb0e43c68c0d7e94878dff Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 17:55:57 +0200 Subject: [PATCH 17/24] Update README.md --- src/core/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/README.md b/src/core/README.md index 62865d0c13e..44c6f247725 100644 --- a/src/core/README.md +++ b/src/core/README.md @@ -1,4 +1,4 @@ #Overview -This directory contains source code for shared C library. Libraries in other languages in this repository (C++, Ruby, +This directory contains source code for C library (a.k.a the *gRPC C core*) that provides all gRPC's core functionality through a low level API. Libraries in other languages in this repository (C++, Ruby, Python, PHP, NodeJS, Objective-C) are layered on top of this library. From 5b2e172e5785bcd73c425192ca3d670a96044d27 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 18:00:39 +0200 Subject: [PATCH 18/24] Create README.md --- src/compiler/README.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/compiler/README.md diff --git a/src/compiler/README.md b/src/compiler/README.md new file mode 100644 index 00000000000..a2f49b3cd53 --- /dev/null +++ b/src/compiler/README.md @@ -0,0 +1,4 @@ +#Overview + +This directory contains source code for gRPC protocol buffer compiler (*protoc*) plugins. Along with `protoc`, +these plugins are used to generate gRPC client and server stubs from `.proto` files. From 9cece7ca992c6594ed163dc9996a3f879f3d7a1f Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 18:01:41 +0200 Subject: [PATCH 19/24] Update README.md --- src/cpp/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/cpp/README.md b/src/cpp/README.md index 8c0f85e5ff7..d9b521317a6 100644 --- a/src/cpp/README.md +++ b/src/cpp/README.md @@ -3,10 +3,6 @@ This directory contains source code for C++ implementation of gRPC. -#Status - -Beta - #Pre-requisites ##Linux From 9633bd356f2fd90c1bccf0be58f406316155ca54 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 18:02:32 +0200 Subject: [PATCH 20/24] Update README.md --- src/csharp/README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/csharp/README.md b/src/csharp/README.md index 18d5945a8a1..a04172dad4f 100644 --- a/src/csharp/README.md +++ b/src/csharp/README.md @@ -4,11 +4,6 @@ gRPC C# A C# implementation of gRPC. -Status ------- - -Beta - PREREQUISITES -------------- From d1395d9a667b43807b6f068eff06f4fb53cf43d0 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 18:03:00 +0200 Subject: [PATCH 21/24] Update README.md --- src/node/README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/node/README.md b/src/node/README.md index 15d4c6d02f7..fc407435cd7 100644 --- a/src/node/README.md +++ b/src/node/README.md @@ -1,9 +1,6 @@ [![npm](https://img.shields.io/npm/v/grpc.svg)](https://www.npmjs.com/package/grpc) # Node.js gRPC Library -## Status -Beta - ## PREREQUISITES - `node`: This requires `node` to be installed, version `0.12` or above. If you instead have the `nodejs` executable on Debian, you should install the [`nodejs-legacy`](https://packages.debian.org/sid/nodejs-legacy) package. From 45775fd8a13a4a92310739672d6eba29a8e8e0e6 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 18:03:47 +0200 Subject: [PATCH 22/24] Update README.md --- src/php/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/php/README.md b/src/php/README.md index 7e9819b256d..f2ad96f7a89 100644 --- a/src/php/README.md +++ b/src/php/README.md @@ -3,10 +3,6 @@ This directory contains source code for PHP implementation of gRPC layered on shared C library. -#Status - -GA - ## Environment Prerequisite: From 5d77c964fc881df3f8c2f2cff274b46134d48943 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 18:04:37 +0200 Subject: [PATCH 23/24] Update README.md --- src/ruby/README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/ruby/README.md b/src/ruby/README.md index 31795754866..a4d7b56b4ec 100644 --- a/src/ruby/README.md +++ b/src/ruby/README.md @@ -4,11 +4,6 @@ gRPC Ruby A Ruby implementation of gRPC. -Status ------- - -Beta - PREREQUISITES ------------- From 0dc8d354e9546bb15fd5b3342637ed8b1d1cd10d Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 12 Oct 2016 18:22:39 +0200 Subject: [PATCH 24/24] Update README.md --- src/csharp/README.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/csharp/README.md b/src/csharp/README.md index a04172dad4f..0405ff88a01 100644 --- a/src/csharp/README.md +++ b/src/csharp/README.md @@ -4,6 +4,14 @@ gRPC C# A C# implementation of gRPC. +SUPPORTED PLATFORMS +------------------ + +- .NET Framework 4.5+ (Windows) +- [.NET Core](https://dotnet.github.io/) on Linux, Windows and Mac OS X (starting from version 1.0.1) +- Mono 4+ on Linux, Windows and Mac OS X + + PREREQUISITES -------------- @@ -11,6 +19,7 @@ PREREQUISITES - Linux: Mono 4+, MonoDevelop 5.9+ (with NuGet add-in installed) - Mac OS X: Xamarin Studio 5.9+ + HOW TO USE -------------- @@ -64,12 +73,6 @@ different languages. tools/run_tests/run_tests.py -l csharp ``` -ON .NET CORE SUPPORT ------------------- - -We are committed to providing full support for [.NET Core](https://dotnet.github.io/) in near future, -but currently, the support is for .NET Core is experimental/work-in-progress. - DOCUMENTATION ------------- - [API Reference][] @@ -97,9 +100,7 @@ CONTENTS THE NATIVE DEPENDENCY --------------- -Internally, gRPC C# uses a native library written in C (gRPC C core) and invokes its functionality via P/Invoke. `grpc_csharp_ext` library is a native extension library that facilitates this by wrapping some C core API into a form that's more digestible for P/Invoke. - -Prior to version 0.13, installing `grpc_csharp_ext` was required to make gRPC work on Linux and MacOS. Starting with version 0.13, we have improved the packaging story significantly and precompiled versions of the native library for all supported platforms are now shipped with the NuGet package. Just installing the `Grpc` NuGet package should be the only step needed to use gRPC C#, regardless of your platform (Windows, Linux or Mac) and the bitness (32 or 64bit). +Internally, gRPC C# uses a native library written in C (gRPC C core) and invokes its functionality via P/Invoke. The fact that a native library is used should be fully transparent to the users and just installing the `Grpc.Core` NuGet package is the only step needed to use gRPC C# on all supported platforms. [API Reference]: http://www.grpc.io/grpc/csharp/ [Helloworld Example]: ../../examples/csharp/helloworld