From 968a706a891469bbcc6889c670f5b9f4e8f47cf1 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Fri, 18 May 2018 09:22:07 +0200 Subject: [PATCH] Split native and cross compilers into two docker images. --- .../artifacts/build_all_linux_artifacts.sh | 28 +++++++++++++++---- tools/release/{kokoro => cross}/Dockerfile | 0 tools/release/kokoro.sh | 7 +++-- tools/release/native/Dockerfile | 10 +++++++ 4 files changed, 38 insertions(+), 7 deletions(-) rename tools/release/{kokoro => cross}/Dockerfile (100%) create mode 100644 tools/release/native/Dockerfile diff --git a/packages/grpc-native-core/tools/run_tests/artifacts/build_all_linux_artifacts.sh b/packages/grpc-native-core/tools/run_tests/artifacts/build_all_linux_artifacts.sh index 64d3d8627..2276b3e56 100755 --- a/packages/grpc-native-core/tools/run_tests/artifacts/build_all_linux_artifacts.sh +++ b/packages/grpc-native-core/tools/run_tests/artifacts/build_all_linux_artifacts.sh @@ -20,6 +20,21 @@ npm install -g npm # https://github.com/mapbox/node-pre-gyp/issues/362 npm install -g node-gyp +DO_NATIVE=true +DO_CROSS=true + +while [ $# -gt 0 ] ; do + case $1 in + --native-only) + DO_CROSS=false + ;; + --cross-only) + DO_NATIVE=false + ;; + esac + shift +done + set -ex cd $(dirname $0) @@ -34,10 +49,13 @@ rm -rf build || true mkdir -p "${ARTIFACTS_OUT}" -docker build -t alpine_node_artifact $base_dir/tools/docker/alpine_artifact - -$tool_dir/build_artifact_node.sh +if [ "$DO_NATIVE" = "true" ] ; then + $tool_dir/build_artifact_node.sh +fi -$tool_dir/build_artifact_node_arm.sh +if [ "$DO_CROSS" = "true" ] ; then + $tool_dir/build_artifact_node_arm.sh -docker run -e JOBS=8 -e ARTIFACTS_OUT=/var/grpc/artifacts -v $base_dir:/var/grpc alpine_node_artifact /var/grpc/tools/run_tests/artifacts/build_artifact_node.sh --with-alpine + docker build -t alpine_node_artifact $base_dir/tools/docker/alpine_artifact + docker run -e JOBS=8 -e ARTIFACTS_OUT=/var/grpc/artifacts -v $base_dir:/var/grpc alpine_node_artifact /var/grpc/tools/run_tests/artifacts/build_artifact_node.sh --with-alpine +fi diff --git a/tools/release/kokoro/Dockerfile b/tools/release/cross/Dockerfile similarity index 100% rename from tools/release/kokoro/Dockerfile rename to tools/release/cross/Dockerfile diff --git a/tools/release/kokoro.sh b/tools/release/kokoro.sh index 5a2a63e21..97677af15 100755 --- a/tools/release/kokoro.sh +++ b/tools/release/kokoro.sh @@ -38,8 +38,11 @@ OS=`uname` case $OS in Linux) - docker build -t kokoro-image tools/release/kokoro - docker run -v /var/run/docker.sock:/var/run/docker.sock -v $base_dir:$base_dir kokoro-image $base_dir/packages/grpc-native-core/tools/run_tests/artifacts/build_all_linux_artifacts.sh + docker build -t kokoro-native-image tools/release/native + docker build -t kokoro-cross-image tools/release/cross + docker run -v /var/run/docker.sock:/var/run/docker.sock -v $base_dir:$base_dir kokoro-native-image $base_dir/packages/grpc-native-core/tools/run_tests/artifacts/build_all_linux_artifacts.sh --native-only + cp -rv packages/grpc-native-core/artifacts . + docker run -v /var/run/docker.sock:/var/run/docker.sock -v $base_dir:$base_dir kokoro-cross-image $base_dir/packages/grpc-native-core/tools/run_tests/artifacts/build_all_linux_artifacts.sh --cross-only cp -rv packages/grpc-native-core/artifacts . ;; Darwin) diff --git a/tools/release/native/Dockerfile b/tools/release/native/Dockerfile new file mode 100644 index 000000000..35e841ccc --- /dev/null +++ b/tools/release/native/Dockerfile @@ -0,0 +1,10 @@ +FROM debian:jessie + +RUN apt-get update +RUN apt-get install -y curl build-essential python libc6-dev-i386 lib32stdc++-4.9-dev +RUN curl -fsSL get.docker.com | bash + +RUN mkdir /usr/local/nvm +ENV NVM_DIR /usr/local/nvm + +RUN curl curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash