Skip to content

Commit

Permalink
Add NodeJS Windows tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexandre Lissy committed Mar 20, 2019
1 parent fd133c4 commit 0c68532
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 18 deletions.
14 changes: 14 additions & 0 deletions native_client/javascript/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,22 @@ const binary = require('node-pre-gyp');
const path = require('path')
// 'lib', 'binding', 'v0.1.1', ['node', 'v' + process.versions.modules, process.platform, process.arch].join('-'), 'deepspeech-bingings.node')
const binding_path = binary.find(path.resolve(path.join(__dirname, 'package.json')));

// On Windows, we can't rely on RPATH being set to $ORIGIN/../ or on
// @loader_path/../ but we can change the PATH to include the proper directory
// for the dynamic linker
if (process.platform === 'win32') {
const dslib_path = path.resolve(path.join(binding_path, '../..'));
var oldPath = process.env.PATH;
process.env['PATH'] = `${dslib_path};${process.env.PATH}`;
}

const binding = require(binding_path);

if (process.platform === 'win32') {
process.env['PATH'] = oldPath;
}

function Model() {
this._impl = null;

Expand Down
4 changes: 4 additions & 0 deletions taskcluster/.shared.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ nodejs:
prep_9: 'nvm install 9.11.2 && nvm use 9.11.2'
prep_10: 'nvm install 10.12.0 && nvm use 10.12.0'
prep_11: 'nvm install 11.0.0 && nvm use 11.0.0'
win:
sox: 'wget https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.zip/download -O sox-14.4.2-win32.zip && ""C:\Program Files\7-zip\7z.exe"" x -o$TASKCLUSTER_TASK_DIR/bin/ -tzip -aoa sox-14.4.2-win32.zip && rm sox-*zip && export PATH=$TASKCLUSTER_TASK_DIR/bin/sox-14.4.2/:$PATH'
prep_10: 'wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-win-x64.zip && ""C:\Program Files\7-zip\7z.exe"" x -o$TASKCLUSTER_TASK_DIR/bin/ -tzip -aoa node-v10.15.3-win-x64.zip && rm node-*.zip && export PATH=$TASKCLUSTER_TASK_DIR/bin/node-v10.15.3-win-x64/:$PATH'
## swig -javascript requires swig >= 3.0.7 (14.04 provides 2.0.11)
## force 3.0.10 for nodejs V8 API compatibility
swig:
Expand Down Expand Up @@ -81,6 +84,7 @@ system:
homedir:
linux: '/home/build-user'
osx: '/Users/build-user'
win: '/c/builds/tc-workdir'
notifications:
irc: '#machinelearning'
aptEc2Mirrors: 'echo "deb http://archive.ubuntu.com/ubuntu/ trusty-updates main" > /etc/apt/sources.list.d/trusty-updates.list && sed -ri -e "s|archive.ubuntu.com|${TASKCLUSTER_WORKER_GROUP}.ec2.archive.ubuntu.com|g" -e "s|security.ubuntu.com|${TASKCLUSTER_WORKER_GROUP}.ec2.archive.ubuntu.com|g" /etc/apt/sources.list && apt-get -qq update && apt-get -qq -y upgrade'
13 changes: 13 additions & 0 deletions taskcluster/test-nodejs_10x-win-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
build:
template_file: test-win-opt-base.tyml
dependencies:
- "node-package-cpu"
- "test-training_upstream-linux-amd64-py27mu-opt"
system_setup:
>
${nodejs.win.sox} && ${nodejs.win.prep_10}
args:
tests_cmdline: "${system.homedir.win}/DeepSpeech/ds/tc-node-tests.sh 10.x"
metadata:
name: "DeepSpeech Windows AMD64 CPU NodeJS 10.x tests"
description: "Testing DeepSpeech for Windows/AMD64 on NodeJS v10.x, CPU only, optimized version"
37 changes: 20 additions & 17 deletions taskcluster/test-win-opt-base.tyml
Original file line number Diff line number Diff line change
Expand Up @@ -55,23 +55,26 @@ then:
"C:\Program Files\7-zip\7z.exe" x -o%USERPROFILE% -ttar -aoa -si
- .\msys64\usr\bin\bash.exe --login -cx "exit"
- .\msys64\usr\bin\bash.exe --login -cx "pacman --noconfirm -Syu"
- .\msys64\usr\bin\bash.exe --login -cxe "
export LC_ALL=C &&
export PATH=\"/c/builds/tc-workdir/msys64/usr/bin:/c/Python36:/c/Program Files/Git/bin:/c/Program Files/7-Zip/:$PATH\" &&
export TASKCLUSTER_ARTIFACTS=\"$USERPROFILE/public\" &&
export TASKCLUSTER_TASK_DIR=\"/c/builds/tc-workdir/\" &&
export TASKCLUSTER_TMP_DIR="$TASKCLUSTER_TASK_DIR/tmp" &&
export PIP_DEFAULT_TIMEOUT=60 &&
(mkdir $TASKCLUSTER_TASK_DIR || rm -fr $TASKCLUSTER_TASK_DIR/*) && cd $TASKCLUSTER_TASK_DIR &&
env &&
ln -s $USERPROFILE/msys64 $TASKCLUSTER_TASK_DIR/msys64 &&
git clone --quiet ${event.head.repo.url} $TASKCLUSTER_TASK_DIR/DeepSpeech/ds/ &&
cd $TASKCLUSTER_TASK_DIR/DeepSpeech/ds && git checkout --quiet ${event.head.sha} &&
cd $TASKCLUSTER_TASK_DIR &&
pacman --noconfirm -R bsdtar &&
pacman --noconfirm -S tar vim &&
/bin/bash ${build.args.tests_cmdline} ;
cd $TASKCLUSTER_TASK_DIR/../ && rm -fr tc-workdir/ && exit $TASKCLUSTER_TASK_EXIT_CODE"
- $let:
extraSystemSetup: { $eval: strip(str(build.system_setup)) }
in: >
.\msys64\usr\bin\bash.exe --login -cxe "export LC_ALL=C &&
export PATH=\"/c/builds/tc-workdir/msys64/usr/bin:/c/Python36:/c/Program Files/Git/bin:/c/Program Files/7-Zip/:$PATH\" &&
export TASKCLUSTER_ARTIFACTS=\"$USERPROFILE/public\" &&
export TASKCLUSTER_TASK_DIR=\"/c/builds/tc-workdir/\" &&
export TASKCLUSTER_TMP_DIR="$TASKCLUSTER_TASK_DIR/tmp" &&
export PIP_DEFAULT_TIMEOUT=60 &&
(mkdir $TASKCLUSTER_TASK_DIR || rm -fr $TASKCLUSTER_TASK_DIR/*) && cd $TASKCLUSTER_TASK_DIR &&
env &&
ln -s $USERPROFILE/msys64 $TASKCLUSTER_TASK_DIR/msys64 &&
git clone --quiet ${event.head.repo.url} $TASKCLUSTER_TASK_DIR/DeepSpeech/ds/ &&
cd $TASKCLUSTER_TASK_DIR/DeepSpeech/ds && git checkout --quiet ${event.head.sha} &&
cd $TASKCLUSTER_TASK_DIR &&
pacman --noconfirm -R bsdtar &&
pacman --noconfirm -S tar vim &&
${extraSystemSetup} &&
/bin/bash ${build.args.tests_cmdline} ;
cd $TASKCLUSTER_TASK_DIR/../ && rm -fr tc-workdir/ && exit $TASKCLUSTER_TASK_EXIT_CODE"

metadata:
name: ${build.metadata.name}
Expand Down
2 changes: 1 addition & 1 deletion tc-node-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ npm --version

NODE_ROOT="${DS_ROOT_TASK}/ds-test/"
export NODE_PATH="${NODE_ROOT}/node_modules/"
export PATH="${NODE_PATH}/.bin/:$PATH"
export PATH="${NODE_ROOT}:${NODE_PATH}/.bin/:$PATH"

npm install --prefix ${NODE_ROOT} ${DEEPSPEECH_NODEJS}/deepspeech-${DS_VERSION}.tgz

Expand Down

0 comments on commit 0c68532

Please sign in to comment.