diff options
Diffstat (limited to 'tools/run_tests/artifacts')
-rw-r--r-- | tools/run_tests/artifacts/artifact_targets.py | 46 | ||||
-rw-r--r-- | tools/run_tests/artifacts/build_artifact_node.bat | 48 | ||||
-rwxr-xr-x | tools/run_tests/artifacts/build_artifact_node.sh | 51 | ||||
-rwxr-xr-x | tools/run_tests/artifacts/build_package_node.sh | 84 | ||||
-rw-r--r-- | tools/run_tests/artifacts/distribtest_targets.py | 52 | ||||
-rw-r--r-- | tools/run_tests/artifacts/package_targets.py | 19 |
6 files changed, 1 insertions, 299 deletions
diff --git a/tools/run_tests/artifacts/artifact_targets.py b/tools/run_tests/artifacts/artifact_targets.py index 2cc0dfceab..ea202edb30 100644 --- a/tools/run_tests/artifacts/artifact_targets.py +++ b/tools/run_tests/artifacts/artifact_targets.py @@ -230,50 +230,6 @@ class CSharpExtArtifact: def __str__(self): return self.name - -node_gyp_arch_map = { - 'x86': 'ia32', - 'x64': 'x64' -} - -class NodeExtArtifact: - """Builds Node native extension""" - - def __init__(self, platform, arch): - self.name = 'node_ext_{0}_{1}'.format(platform, arch) - self.platform = platform - self.arch = arch - self.gyp_arch = node_gyp_arch_map[arch] - self.labels = ['artifact', 'node', platform, arch] - - def pre_build_jobspecs(self): - return [] - - def build_jobspec(self): - if self.platform == 'windows': - # Simultaneous builds of node on the same windows machine are flaky. - # Set x86 build as exclusive to make sure there is only one node build - # at a time. See https://github.com/grpc/grpc/issues/8293 - cpu_cost = 1e6 if self.arch != 'x64' else 1.0 - return create_jobspec(self.name, - ['tools\\run_tests\\artifacts\\build_artifact_node.bat', - self.gyp_arch], - use_workspace=True, - timeout_seconds=45*60, - cpu_cost=cpu_cost) - else: - if self.platform == 'linux': - return create_docker_jobspec( - self.name, - 'tools/dockerfile/grpc_artifact_linux_{}'.format(self.arch), - 'tools/run_tests/artifacts/build_artifact_node.sh {} {}'.format( - self.gyp_arch, self.platform)) - else: - return create_jobspec(self.name, - ['tools/run_tests/artifacts/build_artifact_node.sh', - self.gyp_arch, self.platform], - use_workspace=True) - class PHPArtifact: """Builds PHP PECL package""" @@ -344,7 +300,7 @@ class ProtocArtifact: def targets(): """Gets list of supported targets""" return ([Cls(platform, arch) - for Cls in (CSharpExtArtifact, NodeExtArtifact, ProtocArtifact) + for Cls in (CSharpExtArtifact, ProtocArtifact) for platform in ('linux', 'macos', 'windows') for arch in ('x86', 'x64')] + [PythonArtifact('linux', 'x86', 'cp27-cp27m'), diff --git a/tools/run_tests/artifacts/build_artifact_node.bat b/tools/run_tests/artifacts/build_artifact_node.bat deleted file mode 100644 index 7f1d1aad23..0000000000 --- a/tools/run_tests/artifacts/build_artifact_node.bat +++ /dev/null @@ -1,48 +0,0 @@ -@rem Copyright 2016 gRPC authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem http://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. - -set node_versions=4.0.0 5.0.0 6.0.0 7.0.0 8.0.0 - -set electron_versions=1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 - -set PATH=%PATH%;C:\Program Files\nodejs\;%APPDATA%\npm - -del /f /q BUILD || rmdir build /s /q - -call npm update || goto :error - -mkdir -p %ARTIFACTS_OUT% - -for %%v in (%node_versions%) do ( - call .\node_modules\.bin\node-pre-gyp.cmd configure build --target=%%v --target_arch=%1 - -@rem Try again after removing openssl headers - rmdir "%USERPROFILE%\.node-gyp\%%v\include\node\openssl" /S /Q - rmdir "%USERPROFILE%\.node-gyp\iojs-%%v\include\node\openssl" /S /Q - call .\node_modules\.bin\node-pre-gyp.cmd build package --target=%%v --target_arch=%1 || goto :error - - xcopy /Y /I /S build\stage\* %ARTIFACTS_OUT%\ || goto :error -) - -for %%v in (%electron_versions%) do ( - cmd /V /C "set "HOME=%USERPROFILE%\electron-gyp" && call .\node_modules\.bin\node-pre-gyp.cmd configure rebuild package --runtime=electron --target=%%v --target_arch=%1 --disturl=https://atom.io/download/electron" || goto :error - - xcopy /Y /I /S build\stage\* %ARTIFACTS_OUT%\ || goto :error -) -if %errorlevel% neq 0 exit /b %errorlevel% - -goto :EOF - -:error -exit /b 1 diff --git a/tools/run_tests/artifacts/build_artifact_node.sh b/tools/run_tests/artifacts/build_artifact_node.sh deleted file mode 100755 index 628d880f16..0000000000 --- a/tools/run_tests/artifacts/build_artifact_node.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -# Copyright 2016 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -NODE_TARGET_ARCH=$1 -NODE_TARGET_OS=$2 -source ~/.nvm/nvm.sh - -nvm use 8 -set -ex - -cd $(dirname $0)/../../.. - -rm -rf build || true - -mkdir -p "${ARTIFACTS_OUT}" - -npm update - -node_versions=( 4.0.0 5.0.0 6.0.0 7.0.0 8.0.0 ) - -electron_versions=( 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 ) - -for version in ${node_versions[@]} -do - ./node_modules/.bin/node-pre-gyp configure rebuild package --target=$version --target_arch=$NODE_TARGET_ARCH --grpc_alpine=true - cp -r build/stage/* "${ARTIFACTS_OUT}"/ - if [ "$NODE_TARGET_ARCH" == 'x64' ] && [ "$NODE_TARGET_OS" == 'linux' ] - then - # Cross compile for ARM on x64 - CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ LD=arm-linux-gnueabihf-g++ ./node_modules/.bin/node-pre-gyp configure rebuild package testpackage --target=$version --target_arch=arm - cp -r build/stage/* "${ARTIFACTS_OUT}"/ - fi -done - -for version in ${electron_versions[@]} -do - HOME=~/.electron-gyp ./node_modules/.bin/node-pre-gyp configure rebuild package --runtime=electron --target=$version --target_arch=$NODE_TARGET_ARCH --disturl=https://atom.io/download/electron - cp -r build/stage/* "${ARTIFACTS_OUT}"/ -done diff --git a/tools/run_tests/artifacts/build_package_node.sh b/tools/run_tests/artifacts/build_package_node.sh deleted file mode 100755 index 2860f68bc4..0000000000 --- a/tools/run_tests/artifacts/build_package_node.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash -# Copyright 2016 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -source ~/.nvm/nvm.sh - -nvm use 8 -set -ex - -cd $(dirname $0)/../../.. - -base=$(pwd) - -artifacts=$base/artifacts - -mkdir -p $artifacts -cp -r $EXTERNAL_GIT_ROOT/platform={windows,linux,macos}/artifacts/node_ext_*/* $artifacts/ || true - -npm update -npm pack - -cp grpc-*.tgz $artifacts/grpc.tgz - -mkdir -p bin - -cd $base/src/node/health_check -npm pack -cp grpc-health-check-*.tgz $artifacts/ - -cd $base/src/node/tools -npm update -npm pack -cp grpc-tools-*.tgz $artifacts/ -tools_version=$(npm list | grep -oP '(?<=grpc-tools@)\S+') - -output_dir=$artifacts/grpc-precompiled-binaries/node/grpc-tools/v$tools_version -mkdir -p $output_dir - -well_known_protos=( any api compiler/plugin descriptor duration empty field_mask source_context struct timestamp type wrappers ) - -for arch in {x86,x64}; do - case $arch in - x86) - node_arch=ia32 - ;; - *) - node_arch=$arch - ;; - esac - for plat in {windows,linux,macos}; do - case $plat in - windows) - node_plat=win32 - ;; - macos) - node_plat=darwin - ;; - *) - node_plat=$plat - ;; - esac - rm -r bin/* - input_dir="$EXTERNAL_GIT_ROOT/platform=${plat}/artifacts/protoc_${plat}_${arch}" - cp $input_dir/protoc* bin/ - cp $input_dir/grpc_node_plugin* bin/ - mkdir -p bin/google/protobuf - mkdir -p bin/google/protobuf/compiler # needed for plugin.proto - for proto in "${well_known_protos[@]}"; do - cp $base/third_party/protobuf/src/google/protobuf/$proto.proto bin/google/protobuf/$proto.proto - done - tar -czf $output_dir/$node_plat-$node_arch.tar.gz bin/ - done -done diff --git a/tools/run_tests/artifacts/distribtest_targets.py b/tools/run_tests/artifacts/distribtest_targets.py index 797ed51c7f..9959651b6c 100644 --- a/tools/run_tests/artifacts/distribtest_targets.py +++ b/tools/run_tests/artifacts/distribtest_targets.py @@ -121,50 +121,6 @@ class CSharpDistribTest(object): def __str__(self): return self.name -class NodeDistribTest(object): - """Tests Node package""" - - def __init__(self, platform, arch, docker_suffix, node_version): - self.name = 'node_npm_%s_%s_%s' % (platform, arch, node_version) - self.platform = platform - self.arch = arch - self.node_version = node_version - self.labels = ['distribtest', 'node', platform, arch, - 'node-%s' % node_version] - if docker_suffix is not None: - self.name += '_%s' % docker_suffix - self.docker_suffix = docker_suffix - self.labels.append(docker_suffix) - - def pre_build_jobspecs(self): - return [] - - def build_jobspec(self): - if self.platform == 'linux': - linux32 = '' - if self.arch == 'x86': - linux32 = 'linux32' - return create_docker_jobspec(self.name, - 'tools/dockerfile/distribtest/node_%s_%s' % ( - self.docker_suffix, - self.arch), - '%s test/distrib/node/run_distrib_test.sh %s' % ( - linux32, - self.node_version), - copy_rel_path='test/distrib') - elif self.platform == 'macos': - return create_jobspec(self.name, - ['test/distrib/node/run_distrib_test.sh', - str(self.node_version)], - environ={'EXTERNAL_GIT_ROOT': '../../../..'}, - use_workspace=True) - else: - raise Exception("Not supported yet.") - - def __str__(self): - return self.name - - class PythonDistribTest(object): """Tests Python package""" @@ -329,14 +285,6 @@ def targets(): RubyDistribTest('linux', 'x64', 'ubuntu1504'), RubyDistribTest('linux', 'x64', 'ubuntu1510'), RubyDistribTest('linux', 'x64', 'ubuntu1604'), - NodeDistribTest('macos', 'x64', None, '4'), - NodeDistribTest('macos', 'x64', None, '5'), - NodeDistribTest('linux', 'x86', 'jessie', '4'), PHPDistribTest('linux', 'x64', 'jessie'), PHPDistribTest('macos', 'x64'), - ] + [ - NodeDistribTest('linux', 'x64', os, version) - for os in ('wheezy', 'jessie', 'ubuntu1204', 'ubuntu1404', - 'ubuntu1504', 'ubuntu1510', 'ubuntu1604') - for version in ('4', '5') ] diff --git a/tools/run_tests/artifacts/package_targets.py b/tools/run_tests/artifacts/package_targets.py index 671d0f7b45..ff93bb30e8 100644 --- a/tools/run_tests/artifacts/package_targets.py +++ b/tools/run_tests/artifacts/package_targets.py @@ -89,24 +89,6 @@ class CSharpPackage: def __str__(self): return self.name - -class NodePackage: - """Builds Node NPM package and collects precompiled binaries""" - - def __init__(self): - self.name = 'node_package' - self.labels = ['package', 'node', 'linux'] - - def pre_build_jobspecs(self): - return [] - - def build_jobspec(self): - return create_docker_jobspec( - self.name, - 'tools/dockerfile/grpc_artifact_linux_x64', - 'tools/run_tests/artifacts/build_package_node.sh') - - class RubyPackage: """Collects ruby gems created in the artifact phase""" @@ -162,7 +144,6 @@ def targets(): """Gets list of supported targets""" return [CSharpPackage(), CSharpPackage(linux=True), - NodePackage(), RubyPackage(), PythonPackage(), PHPPackage()] |