@ -673,7 +673,7 @@ _grpc_build_proto_bins_args() {
}
# grpc_build_proto_bins
#
#
# - rebuilds the dist_proto docker image
# * doing this builds the protoc and the ruby, python and cpp bins statically
#
@ -693,11 +693,11 @@ grpc_build_proto_bins() {
gce_has_instance $grpc_project $host || return 1;
local project_opt = " --project $grpc_project "
local zone_opt = " --zone $grpc_zone "
# rebuild the dist_proto image
local label = 'dist_proto'
grpc_update_image -- -h $host $label || return 1
# run a command to copy the generated archive to the docker host
local docker_prefix = 'sudo docker run -v /tmp:/tmp/proto_bins_out'
local tar_name = 'proto-bins*.tar.gz'
@ -715,6 +715,58 @@ grpc_build_proto_bins() {
gcloud compute copy-files $rmt_tar $local_copy $project_opt $zone_opt || return 1
}
_grpc_build_debs_args( ) {
[ [ -n $1 ] ] && { # host
host = $1
shift
} || {
host = 'grpc-docker-builder'
}
}
# grpc_build_debs
#
# - rebuilds the build_debs
# * doing this builds a deb package for release debs
#
# - runs a docker command that copies the debs from the docker instance to its
# host
# - copies the debs from the host to the local machine
grpc_build_debs( ) {
_grpc_ensure_gcloud_ssh || return 1;
# declare vars local so that they don't pollute the shell environment
# where this func is used.
local grpc_zone grpc_project dry_run # set by _grpc_set_project_and_zone
# set by _grpc_build_debs_args
local host
# set the project zone and check that all necessary args are provided
_grpc_set_project_and_zone -f _grpc_build_debs_args " $@ " || return 1
gce_has_instance $grpc_project $host || return 1;
local project_opt = " --project $grpc_project "
local zone_opt = " --zone $grpc_zone "
# rebuild the build_deb image
local label = 'build_deb'
grpc_update_image -- -h $host $label || return 1
# run a command to copy the debs from the docker instance to the host.
local docker_prefix = 'sudo docker run -v /tmp:/tmp/host_deb_out'
local cp_cmd = "/bin/bash -c 'cp -v /tmp/deb_out/*.deb /tmp/host_deb_out'"
local cmd = " $docker_prefix grpc/ $label $cp_cmd "
local ssh_cmd = " bash -l -c \" $cmd \" "
echo "will run:"
echo " $ssh_cmd "
echo " on $host "
gcloud compute $project_opt ssh $zone_opt $host --command " $cmd " || return 1
# copy the debs from host machine to the local one.
local rmt_debs = " $host :/tmp/*.deb "
local local_copy = " $( pwd ) "
gcloud compute copy-files $rmt_debs $local_copy $project_opt $zone_opt || return 1
}
_grpc_launch_servers_args( ) {
[ [ -n $1 ] ] && { # host
host = $1
@ -1310,5 +1362,3 @@ _grpc_default_creds_test_flags() {
_grpc_gce_test_flags( ) {
echo " --default_service_account=155450119199-r5aaqa2vqoa9g5mv2m6s3m1l293rlmel@developer.gserviceaccount.com --oauth_scope=https://www.googleapis.com/auth/xapi.zoo"
}
# TODO(grpc-team): add grpc_interop_gen_xxx_cmd for python