aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/run_tests/artifacts
diff options
context:
space:
mode:
Diffstat (limited to 'tools/run_tests/artifacts')
-rw-r--r--tools/run_tests/artifacts/artifact_targets.py46
-rw-r--r--tools/run_tests/artifacts/build_artifact_node.bat48
-rwxr-xr-xtools/run_tests/artifacts/build_artifact_node.sh51
-rwxr-xr-xtools/run_tests/artifacts/build_package_node.sh84
-rw-r--r--tools/run_tests/artifacts/distribtest_targets.py52
-rw-r--r--tools/run_tests/artifacts/package_targets.py19
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()]