mirror of
https://github.com/mozilla/DeepSpeech.git
synced 2025-10-26 11:19:39 +00:00
Merge pull request #1312 from lissyx/rpi3-test
Enable C++ tests on RPi3
This commit is contained in:
commit
c84d3c5d66
@ -30,6 +30,7 @@ tasks:
|
||||
"queue:create-task:lowest:{{ taskcluster.docker.provisionerId }}/deepspeech-worker",
|
||||
"queue:create-task:lowest:deepspeech-provisioner/ds-macos-light",
|
||||
"queue:create-task:lowest:deepspeech-provisioner/ds-scriptworker",
|
||||
"queue:create-task:lowest:deepspeech-provisioner/ds-rpi3",
|
||||
"queue:route:index.project.deepspeech.*",
|
||||
"queue:route:notify.irc-channel.*",
|
||||
"queue:scheduler-id:taskcluster-github",
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
### $ make -C native_client/ TARGET=rpi3 TFDIR=../../tensorflow/tensorflow/
|
||||
###
|
||||
|
||||
.PHONY: clean run bindings
|
||||
.PHONY: clean run bindings print-toolchain
|
||||
|
||||
include definitions.mk
|
||||
|
||||
@ -32,7 +32,7 @@ bindings-clean:
|
||||
|
||||
bindings-build:
|
||||
pip install --quiet $(PYTHON_PACKAGES) wheel
|
||||
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED) $(RPATH_PYTHON)" MODEL_LDFLAGS="$(LDFLAGS_DIRS)" UTILS_LDFLAGS="-L${TFDIR}/bazel-bin/native_client" MODEL_LIBS="$(LIBS)" $(NUMPY_INCLUDE) python ./setup.py build_ext $(PYTHON_PLATFORM_NAME)
|
||||
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED) $(RPATH_PYTHON)" MODEL_LDFLAGS="$(LDFLAGS_DIRS)" UTILS_LDFLAGS="-L${TFDIR}/bazel-bin/native_client" MODEL_LIBS="$(LIBS)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py build_ext $(PYTHON_PLATFORM_NAME)
|
||||
|
||||
MANIFEST.in: bindings-build
|
||||
> $@
|
||||
@ -41,7 +41,7 @@ MANIFEST.in: bindings-build
|
||||
bindings-package: MANIFEST.in
|
||||
cat MANIFEST.in
|
||||
rm temp_build/python/*_wrap.o
|
||||
$(NUMPY_INCLUDE) python ./setup.py bdist_wheel $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
||||
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED) $(RPATH_PYTHON)" MODEL_LDFLAGS="$(LDFLAGS_DIRS)" UTILS_LDFLAGS="-L${TFDIR}/bazel-bin/native_client" MODEL_LIBS="$(LIBS)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py bdist_wheel $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
||||
|
||||
bindings: bindings-build bindings-package
|
||||
|
||||
@ -64,3 +64,6 @@ uninstall:
|
||||
rm -f ${PREFIX}/lib/libdeepspeech_utils.so
|
||||
rm -f ${PREFIX}/lib/libdeepspeech.so
|
||||
rmdir --ignore-fail-on-non-empty ${PREFIX}/lib
|
||||
|
||||
print-toolchain:
|
||||
@echo $(TOOLCHAIN)
|
||||
|
||||
@ -8,6 +8,7 @@ SO_SEARCH ?= $(TFDIR)/bazel-bin/
|
||||
ifeq ($(TARGET),host)
|
||||
TOOLCHAIN :=
|
||||
CFLAGS :=
|
||||
CXXFLAGS :=
|
||||
LDFLAGS :=
|
||||
SOX_CFLAGS := `pkg-config --cflags sox`
|
||||
SOX_LDFLAGS := `pkg-config --libs sox`
|
||||
@ -20,7 +21,8 @@ endif
|
||||
ifeq ($(TARGET),rpi3)
|
||||
TOOLCHAIN ?= ${TFDIR}/bazel-$(shell basename "${TFDIR}")/external/LinaroArmGcc49/bin/arm-linux-gnueabihf-
|
||||
RASPBIAN ?= $(abspath $(NC_DIR)/../multistrap-raspbian-stretch)
|
||||
CFLAGS := -D_GLIBCXX_USE_CXX11_ABI=0 -isystem $(RASPBIAN)/usr/include -isystem $(RASPBIAN)/usr/include/arm-linux-gnueabihf
|
||||
CFLAGS := -march=armv7-a -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -D_GLIBCXX_USE_CXX11_ABI=0 -isystem $(RASPBIAN)/usr/include -isystem $(RASPBIAN)/usr/include/arm-linux-gnueabihf
|
||||
CXXFLAGS := $(CXXFLAGS)
|
||||
LDFLAGS := $(RASPBIAN)/lib/arm-linux-gnueabihf/libc.so.6 -Wl,-rpath-link,$(RASPBIAN)/lib/arm-linux-gnueabihf/ -Wl,-rpath-link,$(RASPBIAN)/usr/lib/arm-linux-gnueabihf/
|
||||
|
||||
SOX_CFLAGS :=
|
||||
@ -28,7 +30,8 @@ SOX_LDFLAGS := $(RASPBIAN)/usr/lib/arm-linux-gnueabihf/libsox.so
|
||||
|
||||
PYVER := $(shell python -c "import platform; maj, min, _ = platform.python_version_tuple(); print(maj+'.'+min);")
|
||||
PYTHON_PACKAGES :=
|
||||
NUMPY_INCLUDE := NUMPY_INCLUDE=$(RASPBIAN)/usr/include/python$(PYVER)/
|
||||
PYTHON_PATH := PYTHONPATH=$(RASPBIAN)/usr/lib/python$(PYVER)/:$(RASPBIAN)/usr/lib/python$(PYVER)/plat-arm-linux-gnueabihf/:$(RASPBIAN)/usr/lib/python3/dist-packages/
|
||||
NUMPY_INCLUDE := NUMPY_INCLUDE=$(RASPBIAN)/usr/include/python3.5/
|
||||
PYTHON_PLATFORM_NAME := --plat-name linux_armv7l
|
||||
NODE_PLATFORM_TARGET := --target_arch=arm --target_platform=linux
|
||||
TOOLCHAIN_LDD_OPTS := --root $(RASPBIAN)/
|
||||
@ -47,10 +50,11 @@ LDFLAGS_NEEDED :=
|
||||
LDFLAGS_RPATH := -Wl,-rpath,@executable_path
|
||||
endif
|
||||
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
LIBS := -ldeepspeech -ldeepspeech_utils $(EXTRA_LIBS)
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
CXXFLAGS += $(EXTRA_CXXFLAGS)
|
||||
LIBS := -ldeepspeech -ldeepspeech_utils $(EXTRA_LIBS)
|
||||
LDFLAGS_DIRS := -L${TFDIR}/bazel-bin/native_client $(EXTRA_LDFLAGS)
|
||||
LDFLAGS += $(LDFLAGS_NEEDED) $(LDFLAGS_RPATH) $(LDFLAGS_DIRS) $(LIBS)
|
||||
LDFLAGS += $(LDFLAGS_NEEDED) $(LDFLAGS_RPATH) $(LDFLAGS_DIRS) $(LIBS)
|
||||
|
||||
AS := $(TOOLCHAIN)as
|
||||
CC := $(TOOLCHAIN)gcc
|
||||
|
||||
@ -25,7 +25,7 @@ configure: deepspeech_wrap.cxx package.json
|
||||
$(NODE_BUILD_TOOL) configure $(NODE_BUILD_VERBOSE)
|
||||
|
||||
build: configure deepspeech_wrap.cxx
|
||||
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS)" LDFLAGS="$(RPATH_NODEJS) $(LDFLAGS)" LIBS="$(LIBS)" $(NODE_BUILD_TOOL) $(NODE_PLATFORM_TARGET) $(NODE_ABI_TARGET) rebuild $(NODE_BUILD_VERBOSE)
|
||||
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(RPATH_NODEJS) $(LDFLAGS)" LIBS="$(LIBS)" $(NODE_BUILD_TOOL) $(NODE_PLATFORM_TARGET) $(NODE_ABI_TARGET) rebuild $(NODE_BUILD_VERBOSE)
|
||||
|
||||
copy-deps: build
|
||||
$(call copy_missing_libs,lib/binding/*/*/*/deepspeech.node,lib/binding/*/*/)
|
||||
|
||||
@ -7,8 +7,8 @@ aptsources=Raspbian
|
||||
cleanup=true
|
||||
|
||||
[Raspbian]
|
||||
packages=libc6 libc6-dev libstdc++-6-dev linux-libc-dev libpython2.7-dev libpython3.4-dev libsox-dev python-numpy
|
||||
source=http://mirrordirector.raspbian.org/raspbian/
|
||||
packages=libc6 libc6-dev libstdc++-6-dev linux-libc-dev libpython3.4-dev libpython3.5-dev libsox-dev python3-numpy python3-setuptools
|
||||
source=http://raspbian.raspberrypi.org/raspbian/
|
||||
keyring=raspbian-archive-keyring
|
||||
components=main
|
||||
suite=stretch
|
||||
|
||||
362
native_client/xldd
Executable file
362
native_client/xldd
Executable file
@ -0,0 +1,362 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ldd drop-in replacement for cross-compilation toolchains.
|
||||
|
||||
# This file is a slightly modified version of xldd.in from
|
||||
# crosstool-ng 1.22.0
|
||||
|
||||
# In order to use it, copy it in same directory than other
|
||||
# toolchain binaries and rename it with same tuple.
|
||||
# (i.e. /opt/arm-sysmic-linux-gnueabihf/bin/arm-sysmic-linux-gnueabihf-ldd)
|
||||
# Thus, this will automaticaly detect necessary information
|
||||
# about your toolchain.
|
||||
|
||||
export LC_ALL=C
|
||||
version="forked from crosstool-ng 1.22.0"
|
||||
# Change it to 64 if necessary
|
||||
bits="32"
|
||||
sed="${SED:-sed}"
|
||||
grep="${GREP:-grep}"
|
||||
|
||||
my_name="$( basename "${0}" )"
|
||||
prefix="${0%-ldd}"
|
||||
gcc="${prefix}-gcc"
|
||||
readelf="${prefix}-readelf"
|
||||
fake_load_addr_root="$((0xdeadbeef))"
|
||||
fake_load_addr_rpath="$((0xdeadc0de))"
|
||||
fake_load_addr_sysroot="$((0x8badf00d))"
|
||||
ld_library_path="/lib:/usr/lib"
|
||||
|
||||
do_error() {
|
||||
printf "%s: %s\n" "${my_name}" "$*" >&2
|
||||
}
|
||||
|
||||
do_opt_error() {
|
||||
do_error "$@"
|
||||
printf "Try \`%s --help' for more information\n" "${my_name}" >&2
|
||||
}
|
||||
|
||||
do_trace() {
|
||||
local depth=0
|
||||
|
||||
[ -z "${CT_XLDD_VERBOSE}" ] && return 0
|
||||
|
||||
for((depth=0; "${#FUNCNAME[$((depth+1))]}" != 0; depth++)); do :; done
|
||||
printf "%*s" $((4*(depth-1))) "" >&2
|
||||
printf -- "$@" >&2
|
||||
}
|
||||
|
||||
show_version() {
|
||||
# Fake a real ldd, just in case some dumb script would check
|
||||
cat <<_EOF_
|
||||
ldd (crosstool-NG) ${version}
|
||||
Copyright (C) 2010 "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
Licensed under the GPLv2, see the file LICENSES in the top-directory of the
|
||||
sources for this package.
|
||||
_EOF_
|
||||
}
|
||||
|
||||
show_help() {
|
||||
cat <<_EOF_
|
||||
Usage: ${my_name} [OPTION]... --root DIR FILE...
|
||||
--help print this help and exit
|
||||
--version print version information and exit
|
||||
--root dir treat dir as being the root of the target
|
||||
-s, --show-system mark libs from the sysroot with a trailing '[*]'
|
||||
and libs found via RPATH with a trailing '[+]'
|
||||
|
||||
_EOF_
|
||||
cat <<_EOF_ |fmt
|
||||
${my_name} tries to mimick the behavior of a real native ldd, but can be
|
||||
used in a cross-development environment. Here is how it differs from a
|
||||
real native ldd:
|
||||
|
||||
If the CT_XLDD_VERBOSE variable is set and non-empty, then ${my_name} will
|
||||
print a lot of debug messages, explaining how it builds the library
|
||||
search path, and how each library was found and why.
|
||||
|
||||
The LD_LIBRARY_PATH variable is not used, as it can not reliably be
|
||||
guessed except at runtime, and we can't run.
|
||||
|
||||
${my_name} does not scan /etc/ld.so.cache, but instead uses /etc/ld.so.conf
|
||||
(it understands the include directives therein for libces that have that).
|
||||
|
||||
${my_name} also interprets (tries to!) the RPATH/RUNPATH records found in
|
||||
the dynamic ELF section. Such paths are searched for only relative to
|
||||
the specified root, not from the sysroot (see below). Also, those paths
|
||||
are searched for not only for the file they appear in, but also for its
|
||||
dependencies.
|
||||
|
||||
${my_name} will search the directory specified with --root for libraries
|
||||
to resolve the NEEDED tags. If --root is not set, then ${my_name} will
|
||||
use the value in the environment variable \${CT_XLDD_ROOT}. If neither
|
||||
is set, then this is an error.
|
||||
|
||||
If NEEDED libraries can't be found in the specified root directory, then
|
||||
${my_name} will also look in the sysroot of the toolchain to see if it
|
||||
can find them.
|
||||
|
||||
For NEEDED libraries that were found, the output will look like:
|
||||
libneeded.so => /path/to/libneeded.so (0xloadaddr)
|
||||
|
||||
and for those that were not found, the output will look like:
|
||||
libneeded.so not found
|
||||
|
||||
The paths are relative to the specified root directory, or to the sysroot
|
||||
(eg. /lib/libneeded.so, /usr/lib/libneeded.so, and so on...).
|
||||
|
||||
The expected load address 'loadaddr' is a faked address to match the output
|
||||
of the real ldd, but has no actual meaning (set to some constants for now,
|
||||
0x8badf00d for libraries from the sysroot, 0xdeadc0de for those found via
|
||||
the RPATH/RUNPATH records, and 0xdeadbeef for others).
|
||||
_EOF_
|
||||
|
||||
# Unimplemeted yet:
|
||||
# -d, --data-relocs process data relocations
|
||||
# -r, --function-relocs process data and function relocations
|
||||
# -u, --unused print unused direct dependencies
|
||||
# -v, --verbose print all information
|
||||
|
||||
# See also this thread:
|
||||
# http://sourceware.org/ml/crossgcc/2008-09/msg00057.html
|
||||
}
|
||||
|
||||
# Parse command line options
|
||||
root="${CT_XLDD_ROOT}"
|
||||
show_system=
|
||||
while true; do
|
||||
case "${1}" in
|
||||
--help)
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
--version)
|
||||
show_version
|
||||
exit 0
|
||||
;;
|
||||
--root)
|
||||
root="$2"
|
||||
shift
|
||||
;;
|
||||
--root=*)
|
||||
root="${1#--root=}"
|
||||
;;
|
||||
--show-system|-s)
|
||||
show_system=1
|
||||
;;
|
||||
-*)
|
||||
do_opt_error "unrecognized option \`${1}'"
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Sanity checks
|
||||
sysroot="$( "${gcc}" -print-sysroot 2>/dev/null )"
|
||||
if [ -z "${sysroot}" ]; then
|
||||
sysroot="$( "${gcc}" -print-file-name=libc.so 2>/dev/null \
|
||||
|${sed} -r -e 's:/usr/lib/libc.so$::;' \
|
||||
)"
|
||||
fi
|
||||
if [ -z "${sysroot}" ]; then
|
||||
do_error "unable to find sysroot for \`${gcc}'"
|
||||
fi
|
||||
|
||||
if [ -z "${root}" ]; then
|
||||
root=${sysroot}
|
||||
fi
|
||||
if [ ! -d "${root}" ]; then
|
||||
do_error "\`${root}': no such file or directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
do_report_needed_found() {
|
||||
local needed="${1}"
|
||||
local path="${2}"
|
||||
local origin="${3}"
|
||||
local loadaddr
|
||||
local sys
|
||||
|
||||
case "${origin}" in
|
||||
root)
|
||||
loadaddr="${fake_load_addr_root}"
|
||||
;;
|
||||
rpath)
|
||||
loadaddr="${fake_load_addr_rpath}"
|
||||
if [ -n "${show_system}" ]; then
|
||||
sys=" [+]"
|
||||
fi
|
||||
;;
|
||||
sysroot)
|
||||
loadaddr="${fake_load_addr_sysroot}"
|
||||
if [ -n "${show_system}" ]; then
|
||||
sys=" [*]"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
printf "%8s%s => %s (0x%0*x)%s\n" \
|
||||
"" \
|
||||
"${needed}" \
|
||||
"${path}" \
|
||||
"$((bits/4))" \
|
||||
"${loadaddr}" \
|
||||
"${sys}"
|
||||
}
|
||||
|
||||
# Search a needed file, scanning ${lib_dir} in the root directory
|
||||
do_find_needed() {
|
||||
local needed="${1}"
|
||||
local -a list
|
||||
local -a dirs
|
||||
local found
|
||||
local where
|
||||
local base
|
||||
local d i
|
||||
|
||||
do_trace "Searching for '%s'\n" "${needed}"
|
||||
|
||||
# rpath shall come first!
|
||||
list=( \
|
||||
"rpath:${root}" \
|
||||
"root:${root}" \
|
||||
"sysroot:${sysroot}" \
|
||||
)
|
||||
|
||||
for i in "${list[@]}"; do
|
||||
where="${i%%:*}"
|
||||
base="${i#*:}"
|
||||
if [ "${where}" = "rpath" ]; then
|
||||
dirs=( "${search_rpath[@]}" )
|
||||
else
|
||||
dirs=( "${needed_search_path[@]}" )
|
||||
fi
|
||||
for d in "${dirs[@]}"; do
|
||||
do_trace "-> looking in '%s' (%s)\n" "${d}" "${where}"
|
||||
if [ -f "${base}${d}/${needed}" ]; then
|
||||
found="${d}/${needed}"
|
||||
do_trace "---> found\n"
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
if [ -n "${found}" ]; then
|
||||
do_report_needed_found "${needed}" "${found}" "${where}"
|
||||
do_process_file "${base}${found}"
|
||||
else
|
||||
printf "%8s%s not found\n" "" "${needed}"
|
||||
fi
|
||||
|
||||
do_trace "Done searching for '%s'\n" "${needed}"
|
||||
}
|
||||
|
||||
# Scan a file for all NEEDED tags
|
||||
do_process_file() {
|
||||
local file="${1}"
|
||||
local -a save_search_rpath
|
||||
local n m
|
||||
local found
|
||||
|
||||
do_trace "Parsing file '%s'\n" "${file}"
|
||||
|
||||
save_search_rpath=( "${search_rpath[@]}" )
|
||||
for n in $( "${readelf}" -d "${file}" \
|
||||
|"${grep}" -E '\((RPATH|RUNPATH)\)' \
|
||||
|"${sed}" -r -e 's/^.*Library r(|un)path:[[:space:]]+\[(.*)\]$/\2/;'\
|
||||
); do
|
||||
do_trace "-> adding rpath '%s'\n" "${n}"
|
||||
search_rpath+=( "${n}" )
|
||||
done
|
||||
do_trace ": search path:\n"
|
||||
for n in "${search_rpath[@]}" "${needed_search_path[@]}"; do
|
||||
do_trace ": - '%s'\n" "${n}"
|
||||
done
|
||||
do_trace ": end search path\n"
|
||||
|
||||
for n in $( "${readelf}" -d "${file}" \
|
||||
|"${grep}" -E '\(NEEDED\)' \
|
||||
|"${sed}" -r -e 's/^.*Shared library:[[:space:]]+\[([^]]+)\].*/\1/;' \
|
||||
); do
|
||||
found=0
|
||||
for m in "${needed_list[@]}"; do
|
||||
[ "${n}" = "${m}" ] && found=1 && break
|
||||
done
|
||||
if [ ${found} -ne 0 ]; then
|
||||
do_trace "-> skipping already known dependency '%s'\n" "${n}"
|
||||
continue
|
||||
fi
|
||||
do_trace "-> handling new dependency '%s'\n" "${n}"
|
||||
needed_list+=( "${n}" )
|
||||
do_find_needed "${n}"
|
||||
do_trace "-> done handling dependency '%s'\n" "${n}"
|
||||
done
|
||||
|
||||
search_rpath=( "${save_search_rpath[@]}" )
|
||||
|
||||
do_trace "Finished parsing file '%s'\n" "${file}"
|
||||
}
|
||||
|
||||
# Recursively scan a /etc/ld.so.conf file
|
||||
do_scan_etc_ldsoconf() {
|
||||
local ldsoconf="${1}"
|
||||
local g
|
||||
local f
|
||||
|
||||
[ -f "${ldsoconf}" ] || return 0
|
||||
do_trace "Parsing ld.so.conf: '%s'\n" "${ldsoconf}"
|
||||
|
||||
while read line; do
|
||||
case "${line}" in
|
||||
include\ *)
|
||||
g="${root}${line#include }"
|
||||
do_trace "-> handling include directive '%s'\n" "${g}"
|
||||
for f in ${g}; do
|
||||
do_scan_etc_ldsoconf "${f}"
|
||||
done
|
||||
do_trace "-> finished handling include directive '%s'\n" "${g}"
|
||||
;;
|
||||
\#*|"")
|
||||
;;
|
||||
*)
|
||||
do_trace "-> adding search dir '%s'\n" "${line}"
|
||||
needed_search_path+=( "${line}" )
|
||||
;;
|
||||
esac
|
||||
done <"${ldsoconf}"
|
||||
|
||||
do_trace "Finished parsing ld.so.conf: '%s'\n" "${ldsoconf}"
|
||||
}
|
||||
|
||||
# Build up the full list of search directories
|
||||
declare -a needed_search_path
|
||||
do_trace "Adding basic lib dirs\n"
|
||||
ld_library_path="${ld_library_path}:"
|
||||
while [ -n "${ld_library_path}" ]; do
|
||||
d="${ld_library_path%%:*}"
|
||||
if [ -n "${d}" ]; then
|
||||
do_trace "-> adding search dir '%s'\n" "${d}"
|
||||
needed_search_path+=( "${d}" )
|
||||
fi
|
||||
ld_library_path="${ld_library_path#*:}"
|
||||
done
|
||||
do_trace "Done adding basic lib dirs\n"
|
||||
do_trace "Scanning '/etc/ld.so.conf'\n"
|
||||
do_scan_etc_ldsoconf "${root}/etc/ld.so.conf"
|
||||
do_trace "Done scanning '/etc/ld.so.conf'\n"
|
||||
do_trace "Search path:\n"
|
||||
for p in "${needed_search_path[@]}"; do
|
||||
do_trace "-> '%s'\n" "${p}"
|
||||
done
|
||||
|
||||
declare -a needed_list
|
||||
declare -a search_rpath
|
||||
do_trace "Scanning file '%s'\n" "${1}"
|
||||
do_process_file "${1}"
|
||||
do_trace "Done scanning file '%s'\n" "${1}"
|
||||
@ -1,11 +1,13 @@
|
||||
python:
|
||||
packages:
|
||||
packages_trusty:
|
||||
apt: 'make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev'
|
||||
packages_stretch:
|
||||
apt: 'make build-essential libssl1.0-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev'
|
||||
brew:
|
||||
setup: 'install_local_homebrew "python-ds-test" && install_pkg_local_homebrew "sox"'
|
||||
env: 'export EXTRA_ENV="PATH=$TASKCLUSTER_TASK_DIR/python-ds-test.brew/bin/:$PATH"'
|
||||
nodejs:
|
||||
packages:
|
||||
packages_trusty:
|
||||
apt: 'nodejs sox'
|
||||
prep_4: 'echo "deb http://deb.nodesource.com/node_4.x trusty main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
prep_5: 'echo "deb http://deb.nodesource.com/node_5.x trusty main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
@ -13,6 +15,14 @@ nodejs:
|
||||
prep_7: 'echo "deb http://deb.nodesource.com/node_7.x trusty main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
prep_8: 'echo "deb http://deb.nodesource.com/node_8.x trusty main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
prep_9: 'echo "deb http://deb.nodesource.com/node_9.x trusty main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
packages_stretch:
|
||||
apt: 'nodejs sox'
|
||||
prep_4: 'echo "deb http://deb.nodesource.com/node_4.x stretch main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
prep_5: 'echo "deb http://deb.nodesource.com/node_5.x stretch main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
prep_6: 'echo "deb http://deb.nodesource.com/node_6.x stretch main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
prep_7: 'echo "deb http://deb.nodesource.com/node_7.x stretch main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
prep_8: 'echo "deb http://deb.nodesource.com/node_8.x stretch main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
prep_9: 'echo "deb http://deb.nodesource.com/node_9.x stretch main" > /etc/apt/sources.list.d/nodesource.list && wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -'
|
||||
brew:
|
||||
# Using 'nvm' from homebrew results in installing v0.33.6 which seems to
|
||||
# suffer from a bug making it unable to work as of now:
|
||||
@ -32,7 +42,7 @@ nodejs:
|
||||
## force 3.0.10 for nodejs V8 API compatibility
|
||||
swig:
|
||||
packages:
|
||||
install_script: 'wget http://mirrors.kernel.org/ubuntu/pool/universe/s/swig/swig_3.0.10-1.2_amd64.deb -O /tmp/swig_3.0.10-1.2_amd64.deb && wget http://mirrors.kernel.org/ubuntu/pool/universe/s/swig/swig3.0_3.0.10-1.2_amd64.deb -O /tmp/swig3.0_3.0.10-1.2_amd64.deb && dpkg -i /tmp/swig_3.0.10-1.2_amd64.deb /tmp/swig3.0_3.0.10-1.2_amd64.deb'
|
||||
install_script: 'wget http://mirrors.kernel.org/ubuntu/pool/universe/s/swig/swig_3.0.12-1_amd64.deb -O /tmp/swig_3.0.12-1_amd64.deb && wget http://mirrors.kernel.org/ubuntu/pool/universe/s/swig/swig3.0_3.0.12-1_amd64.deb -O /tmp/swig3.0_3.0.12-1_amd64.deb && dpkg -i /tmp/swig_3.0.12-1_amd64.deb /tmp/swig3.0_3.0.12-1_amd64.deb'
|
||||
patch_nodejs:
|
||||
linux: '(for patch_file in /home/build-user/DeepSpeech/ds/native_client/swig_node_v7x-v8x-v9x_*.patch; do patch -d /usr/share/swig3.0/ -p2 < $patch_file; done)'
|
||||
# Test if we can reverse patch #2:
|
||||
@ -62,4 +72,4 @@ system:
|
||||
osx: '/Users/build-user'
|
||||
notifications:
|
||||
irc: '#machinelearning'
|
||||
aptEc2Mirrors: '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'
|
||||
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'
|
||||
|
||||
@ -8,8 +8,8 @@ build:
|
||||
summarize_graph: "https://index.taskcluster.net/v1/task/project.deepspeech.tensorflow.pip.r1.6.e4869c8460b8e806428fbba7240c78fc669959f5.cpu/artifacts/public/summarize_graph"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages.apt} && ${swig.packages.install_script}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages_trusty.apt} && ${swig.packages.install_script}
|
||||
system_config:
|
||||
>
|
||||
${swig.patch_nodejs.linux}
|
||||
|
||||
@ -10,8 +10,8 @@ build:
|
||||
summarize_graph: "https://index.taskcluster.net/v1/task/project.deepspeech.tensorflow.pip.r1.6.e4869c8460b8e806428fbba7240c78fc669959f5.cpu/artifacts/public/summarize_graph"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages.apt} && ${swig.packages.install_script}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages_trusty.apt} && ${swig.packages.install_script}
|
||||
system_config:
|
||||
>
|
||||
${swig.patch_nodejs.linux}
|
||||
|
||||
@ -8,8 +8,8 @@ build:
|
||||
- "notify.irc-channel.${notifications.irc}.on-failed"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages.apt} && ${swig.packages.install_script}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages_trusty.apt} && ${swig.packages.install_script}
|
||||
system_config:
|
||||
>
|
||||
${swig.patch_nodejs.linux}
|
||||
|
||||
@ -6,8 +6,8 @@ build:
|
||||
- "index.project.deepspeech.deepspeech.native_client.gpu.${event.head.sha}"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages.apt} && ${swig.packages.install_script}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages_trusty.apt} && ${swig.packages.install_script}
|
||||
system_config:
|
||||
>
|
||||
${swig.patch_nodejs.linux}
|
||||
|
||||
@ -12,8 +12,8 @@ build:
|
||||
apt-get -qq -y install gdebi git pixz &&
|
||||
wget http://mirrors.kernel.org/ubuntu/pool/universe/m/multistrap/multistrap_2.2.0ubuntu2_all.deb -O /tmp/multistrap_2.2.0ubuntu2_all.deb &&
|
||||
echo "y" | gdebi /tmp/multistrap_2.2.0ubuntu2_all.deb &&
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages.apt} && ${swig.packages.install_script}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages_trusty.apt} && ${swig.packages.install_script}
|
||||
system_config:
|
||||
>
|
||||
multistrap -d /tmp/multistrap-raspbian-jessie/ -f ${system.homedir.linux}/DeepSpeech/ds/native_client/multistrap.conf &&
|
||||
@ -22,5 +22,5 @@ build:
|
||||
build: "taskcluster/rpi3-build.sh --aot"
|
||||
package: "taskcluster/package.sh"
|
||||
metadata:
|
||||
name: "DeepSpeech Linux RPi3/ARMv6 CPU AOT"
|
||||
description: "Building DeepSpeech for Linux RPi3 ARMv6, AOT model, CPU only, optimized version"
|
||||
name: "DeepSpeech Linux RPi3/ARMv7 CPU AOT"
|
||||
description: "Building DeepSpeech for Linux RPi3 ARMv7, AOT model, CPU only, optimized version"
|
||||
|
||||
@ -12,8 +12,8 @@ build:
|
||||
apt-get -qq -y install gdebi git pixz &&
|
||||
wget http://mirrors.kernel.org/ubuntu/pool/universe/m/multistrap/multistrap_2.2.0ubuntu2_all.deb -O /tmp/multistrap_2.2.0ubuntu2_all.deb &&
|
||||
echo "y" | gdebi /tmp/multistrap_2.2.0ubuntu2_all.deb &&
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages.apt} && ${swig.packages.install_script}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages_trusty.apt} && ${swig.packages.install_script}
|
||||
system_config:
|
||||
>
|
||||
multistrap -d /tmp/multistrap-raspbian-jessie/ -f ${system.homedir.linux}/DeepSpeech/ds/native_client/multistrap.conf &&
|
||||
@ -22,5 +22,5 @@ build:
|
||||
build: "taskcluster/rpi3-build.sh"
|
||||
package: "taskcluster/package.sh"
|
||||
metadata:
|
||||
name: "DeepSpeech Linux RPi3/ARMv6 CPU"
|
||||
description: "Building DeepSpeech for Linux RPi3 ARMv6, CPU only, optimized version"
|
||||
name: "DeepSpeech Linux RPi3/ARMv7 CPU"
|
||||
description: "Building DeepSpeech for Linux RPi3 ARMv7, CPU only, optimized version"
|
||||
|
||||
@ -9,8 +9,8 @@ build:
|
||||
- "notify.irc-channel.${notifications.irc}.on-failed"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages.apt} && ${swig.packages.install_script}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install nodejs python-yaml &&
|
||||
apt-get -qq -y install ${python.packages_trusty.apt} && ${swig.packages.install_script}
|
||||
system_config:
|
||||
>
|
||||
${swig.patch_nodejs.linux}
|
||||
|
||||
@ -27,11 +27,13 @@ if [ $1 = "--aot" ]; then
|
||||
BAZEL_BUILD_FLAGS="${BAZEL_BUILD_FLAGS} ${BAZEL_AOT_BUILD_FLAGS} ${AOT_MODEL_PARAMS}"
|
||||
fi;
|
||||
|
||||
maybe_install_xldd
|
||||
|
||||
do_bazel_build
|
||||
|
||||
do_deepspeech_binary_build
|
||||
|
||||
export SUPPORTED_PYTHON_VERSIONS="2.7.14:ucs4 3.4.8:ucs4"
|
||||
export SUPPORTED_PYTHON_VERSIONS="3.4.8:ucs4 3.5.3:ucs4"
|
||||
do_deepspeech_python_build
|
||||
|
||||
do_deepspeech_nodejs_build
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt} zip
|
||||
apt-get -qq -y install ${python.packages_trusty.apt} zip
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-benchmark-tests.sh --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt} zip
|
||||
apt-get -qq -y install ${python.packages_trusty.apt} zip
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-benchmark-tests.sh"
|
||||
metadata:
|
||||
|
||||
10
taskcluster/test-cpp-raspbian-rpi3-aot_test-opt.yml
Normal file
10
taskcluster/test-cpp-raspbian-rpi3-aot_test-opt.yml
Normal file
@ -0,0 +1,10 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "linux-rpi3-cpu-aot_prod-opt"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-cpp-ds-tests.sh --aot"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU C++ tests AOT (Test)"
|
||||
description: "Testing DeepSpeech C++ for Raspbian RPi3/ARMv7, AOT Model (test), CPU only, optimized version"
|
||||
10
taskcluster/test-cpp-raspbian-rpi3-opt.yml
Normal file
10
taskcluster/test-cpp-raspbian-rpi3-opt.yml
Normal file
@ -0,0 +1,10 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "linux-rpi3-cpu-opt"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-cpp-ds-tests.sh"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU C++ tests"
|
||||
description: "Testing DeepSpeech C++ for Raspbian RPi3/ARMv7, CPU only, optimized version"
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_4} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_4} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 4.x --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_4} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_4} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 4.x"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_4} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_4} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests-prod.sh 4.x"
|
||||
metadata:
|
||||
|
||||
13
taskcluster/test-nodejs_4x-raspbian-rpi3-opt.yml
Normal file
13
taskcluster/test-nodejs_4x-raspbian-rpi3-opt.yml
Normal file
@ -0,0 +1,13 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "node-package"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages_stretch.prep_4} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_stretch.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 4.x"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU NodeJS 4.x tests"
|
||||
description: "Testing DeepSpeech for Raspbian RPi3/ARMv7 on NodeJS v4.x, CPU only, optimized version"
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_5} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_5} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 5.x --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_5} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_5} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 5.x"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_5} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_5} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests-prod.sh 5.x"
|
||||
metadata:
|
||||
|
||||
13
taskcluster/test-nodejs_5x-raspbian-rpi3-opt.yml-disabled
Normal file
13
taskcluster/test-nodejs_5x-raspbian-rpi3-opt.yml-disabled
Normal file
@ -0,0 +1,13 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "node-package"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages_stretch.prep_5} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_stretch.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 5.x"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU NodeJS 5.x tests"
|
||||
description: "Testing DeepSpeech for Raspbian RPi3/ARMv7 on NodeJS v5.x, CPU only, optimized version"
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 6.x --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 6.x"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_6} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_6} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests-prod.sh 6.x"
|
||||
metadata:
|
||||
|
||||
13
taskcluster/test-nodejs_6x-raspbian-rpi3-opt.yml
Normal file
13
taskcluster/test-nodejs_6x-raspbian-rpi3-opt.yml
Normal file
@ -0,0 +1,13 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "node-package"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages_stretch.prep_6} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_stretch.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 6.x"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU NodeJS 6.x tests"
|
||||
description: "Testing DeepSpeech for Raspbian RPi3/ARMv7 on NodeJS v6.x, CPU only, optimized version"
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_7} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_7} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 7.x --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_7} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_7} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 7.x"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_7} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_7} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests-prod.sh 7.x"
|
||||
metadata:
|
||||
|
||||
13
taskcluster/test-nodejs_7x-raspbian-rpi3-opt.yml
Normal file
13
taskcluster/test-nodejs_7x-raspbian-rpi3-opt.yml
Normal file
@ -0,0 +1,13 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "node-package"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages_stretch.prep_7} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_stretch.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 7.x"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU NodeJS 7.x tests"
|
||||
description: "Testing DeepSpeech for Raspbian RPi3/ARMv7 on NodeJS v7.x, CPU only, optimized version"
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_8} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_8} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 8.x --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_8} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_8} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 8.x"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_8} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_8} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests-prod.sh 8.x"
|
||||
metadata:
|
||||
|
||||
13
taskcluster/test-nodejs_8x-raspbian-rpi3-opt.yml
Normal file
13
taskcluster/test-nodejs_8x-raspbian-rpi3-opt.yml
Normal file
@ -0,0 +1,13 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "node-package"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages_stretch.prep_8} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_stretch.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 8.x"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU NodeJS 8.x tests"
|
||||
description: "Testing DeepSpeech for Raspbian RPi3/ARMv7 on NodeJS v8.x, CPU only, optimized version"
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_9} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_9} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 9.x --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_9} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_9} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 9.x"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages.prep_9} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages.apt}
|
||||
${nodejs.packages_trusty.prep_9} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests-prod.sh 9.x"
|
||||
metadata:
|
||||
|
||||
13
taskcluster/test-nodejs_9x-raspbian-rpi3-opt.yml
Normal file
13
taskcluster/test-nodejs_9x-raspbian-rpi3-opt.yml
Normal file
@ -0,0 +1,13 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "node-package"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
${nodejs.packages_stretch.prep_9} && apt-get -qq update && apt-get -qq -y install ${nodejs.packages_stretch.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-node-tests.sh 9.x"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU NodeJS 9.x tests"
|
||||
description: "Testing DeepSpeech for Raspbian RPi3/ARMv7 on NodeJS v9.x, CPU only, optimized version"
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 2.7.14:m --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 2.7.14:m"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests-prod.sh 2.7.14:m"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 2.7.14:mu --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 2.7.14:mu"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests-prod.sh 2.7.14:mu"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 3.4.8:m --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 3.4.8:m"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests-prod.sh 3.4.8:m"
|
||||
metadata:
|
||||
|
||||
13
taskcluster/test-python_34m-raspbian-rpi3-opt.yml
Normal file
13
taskcluster/test-python_34m-raspbian-rpi3-opt.yml
Normal file
@ -0,0 +1,13 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "linux-rpi3-cpu-opt"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages_stretch.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 3.4.8:m"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU Python v3.4 tests"
|
||||
description: "Testing DeepSpeech for Raspbian RPi3/ARMv7 on Python v3.4, CPU only, optimized version"
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 3.5.5:m --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 3.5.5:m"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests-prod.sh 3.5.5:m"
|
||||
metadata:
|
||||
|
||||
13
taskcluster/test-python_35m-raspbian-rpi3-opt.yml
Normal file
13
taskcluster/test-python_35m-raspbian-rpi3-opt.yml
Normal file
@ -0,0 +1,13 @@
|
||||
build:
|
||||
template_file: test-raspbian-opt-base.tyml
|
||||
dependencies:
|
||||
- "linux-rpi3-cpu-opt"
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages_stretch.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 3.5.5:m"
|
||||
metadata:
|
||||
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU Python v3.5 tests"
|
||||
description: "Testing DeepSpeech for Raspbian RPi3/ARMv7 on Python v3.5, CPU only, optimized version"
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 3.6.4:m --aot"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests.sh 3.6.4:m"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "test-training_upstream-linux-amd64-py27mu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-python-tests-prod.sh 3.6.4:m"
|
||||
metadata:
|
||||
|
||||
76
taskcluster/test-raspbian-opt-base.tyml
Normal file
76
taskcluster/test-raspbian-opt-base.tyml
Normal file
@ -0,0 +1,76 @@
|
||||
$if: 'event.event != "push"'
|
||||
then:
|
||||
taskId: ${taskcluster.taskId}
|
||||
provisionerId: ${taskcluster.dockerrpi3.provisionerId}
|
||||
workerType: ${taskcluster.dockerrpi3.workerType}
|
||||
taskGroupId: ${taskcluster.taskGroupId}
|
||||
schedulerId: ${taskcluster.schedulerId}
|
||||
dependencies:
|
||||
$map: { $eval: build.dependencies }
|
||||
each(b):
|
||||
$eval: as_slugid(b)
|
||||
created: { $fromNow: '0 sec' }
|
||||
deadline: { $fromNow: '1 day' }
|
||||
expires: { $fromNow: '7 days' }
|
||||
|
||||
extra:
|
||||
github:
|
||||
{ $eval: taskcluster.github_events.pull_request }
|
||||
|
||||
routes:
|
||||
- "notify.irc-channel.${notifications.irc}.on-exception"
|
||||
- "notify.irc-channel.${notifications.irc}.on-failed"
|
||||
|
||||
scopes: [
|
||||
"queue:route:notify.irc-channel.*"
|
||||
]
|
||||
|
||||
payload:
|
||||
maxRunTime: { $eval: to_int(build.maxRunTime) }
|
||||
image: "resin/rpi-raspbian:stretch-20180228"
|
||||
|
||||
env:
|
||||
$let:
|
||||
training: { $eval: as_slugid("test-training_upstream-linux-amd64-py27mu-opt") }
|
||||
linux_rpi3_aot_prod: { $eval: as_slugid("linux-rpi3-cpu-aot_prod-opt") }
|
||||
linux_rpi3_build: { $eval: as_slugid("linux-rpi3-cpu-opt") }
|
||||
node_package: { $eval: as_slugid("node-package") }
|
||||
in:
|
||||
CONVERT_GRAPHDEF_MEMMAPPED: ${build.convert_graphdef}
|
||||
DEEPSPEECH_ARTIFACTS_ROOT: https://queue.taskcluster.net/v1/task/${linux_rpi3_build}/artifacts/public
|
||||
DEEPSPEECH_PYTHON_PACKAGE: https://queue.taskcluster.net/v1/task/${linux_rpi3_build}/artifacts/public/${build.deepspeech_pkg_name}
|
||||
DEEPSPEECH_NODEJS: https://queue.taskcluster.net/v1/task/${node_package}/artifacts/public
|
||||
DEEPSPEECH_AOT_ARTIFACTS_ROOT: https://queue.taskcluster.net/v1/task/${linux_rpi3_aot_prod}/artifacts/public
|
||||
DEEPSPEECH_TEST_MODEL: https://queue.taskcluster.net/v1/task/${training}/artifacts/public/output_graph.pb
|
||||
DEEPSPEECH_PROD_MODEL: https://s3.amazonaws.com/deep-speech/mmap/output_graph.pb
|
||||
DEEPSPEECH_PROD_MODEL_MMAP: https://s3.amazonaws.com/deep-speech/mmap/output_graph.pbmm
|
||||
PIP_DEFAULT_TIMEOUT: 60
|
||||
PIP_EXTRA_INDEX_URL: "https://www.piwheels.org/simple"
|
||||
EXTRA_PYTHON_CONFIGURE_OPTS: "--with-fpectl" # Required by Raspbian Stretch / PiWheels
|
||||
EXPECTED_TENSORFLOW_VERSION: "TensorFlow: v1.6.0-14-ge4869c8"
|
||||
|
||||
command:
|
||||
- "/bin/bash"
|
||||
- "--login"
|
||||
- "-cxe"
|
||||
- $let:
|
||||
extraSystemSetup: { $eval: strip(str(build.system_setup)) }
|
||||
in: >
|
||||
apt-get -qq update && apt-get -qq -y install git pixz sox wget libatlas3-base && ${extraSystemSetup} &&
|
||||
adduser --system --home ${system.homedir.linux} ${system.username} &&
|
||||
cd ${system.homedir.linux} &&
|
||||
echo -e "#!/bin/bash\nset -xe\n env && id && mkdir ~/DeepSpeech/ && git clone --quiet ${event.head.repo.url} ~/DeepSpeech/ds/ && cd ~/DeepSpeech/ds && git checkout --quiet ${event.head.sha}" > /tmp/clone.sh && chmod +x /tmp/clone.sh &&
|
||||
sudo -H -u ${system.username} /bin/bash /tmp/clone.sh &&
|
||||
sudo -H -u ${system.username} --preserve-env /bin/bash ${build.args.tests_cmdline}
|
||||
|
||||
artifacts:
|
||||
"public":
|
||||
type: "directory"
|
||||
path: "/tmp/artifacts/"
|
||||
expires: { $fromNow: '7 days' }
|
||||
|
||||
metadata:
|
||||
name: ${build.metadata.name}
|
||||
description: ${build.metadata.description}
|
||||
owner: ${event.head.user.email}
|
||||
source: ${event.head.repo.url}
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "linux-amd64-cpu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 2.7.14:mu mozilla deepspeech"
|
||||
deepspeech_pkg_name: 'deepspeech-0.1.1-cp27-cp27mu-manylinux1_x86_64.whl'
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "linux-amd64-cpu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 3.6.4:m mozilla deepspeech"
|
||||
deepspeech_pkg_name: 'deepspeech-0.1.1-cp36-cp36m-manylinux1_x86_64.whl'
|
||||
|
||||
@ -4,7 +4,7 @@ build:
|
||||
- "linux-amd64-ctc-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 2.7.14:mu mozilla"
|
||||
metadata:
|
||||
|
||||
@ -4,7 +4,7 @@ build:
|
||||
- "linux-amd64-ctc-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 3.4.8:m mozilla"
|
||||
metadata:
|
||||
|
||||
@ -4,7 +4,7 @@ build:
|
||||
- "linux-amd64-ctc-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 3.5.5:m mozilla"
|
||||
metadata:
|
||||
|
||||
@ -4,7 +4,7 @@ build:
|
||||
- "linux-amd64-ctc-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 3.6.4:m mozilla"
|
||||
metadata:
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "linux-amd64-cpu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 2.7.14:mu upstream deepspeech"
|
||||
deepspeech_pkg_name: 'deepspeech-0.1.1-cp27-cp27mu-manylinux1_x86_64.whl'
|
||||
|
||||
@ -5,7 +5,7 @@ build:
|
||||
- "linux-amd64-cpu-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 3.6.4:m upstream deepspeech"
|
||||
deepspeech_pkg_name: 'deepspeech-0.1.1-cp36-cp36m-manylinux1_x86_64.whl'
|
||||
|
||||
@ -4,7 +4,7 @@ build:
|
||||
- "linux-amd64-ctc-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 2.7.14:mu upstream"
|
||||
convert_graphdef: "https://index.taskcluster.net/v1/task/project.deepspeech.tensorflow.pip.r1.6.e4869c8460b8e806428fbba7240c78fc669959f5.cpu/artifacts/public/convert_graphdef_memmapped_format"
|
||||
|
||||
@ -4,7 +4,7 @@ build:
|
||||
- "linux-amd64-ctc-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 3.4.8:m upstream"
|
||||
metadata:
|
||||
|
||||
@ -4,7 +4,7 @@ build:
|
||||
- "linux-amd64-ctc-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 3.5.5:m upstream"
|
||||
metadata:
|
||||
|
||||
@ -4,7 +4,7 @@ build:
|
||||
- "linux-amd64-ctc-opt"
|
||||
system_setup:
|
||||
>
|
||||
apt-get -qq -y install ${python.packages.apt}
|
||||
apt-get -qq -y install ${python.packages_trusty.apt}
|
||||
args:
|
||||
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/tc-train-tests.sh 3.6.4:m upstream"
|
||||
metadata:
|
||||
|
||||
@ -3,6 +3,9 @@ taskcluster:
|
||||
docker:
|
||||
provisionerId: aws-provisioner-v1
|
||||
workerType: deepspeech-worker
|
||||
dockerrpi3:
|
||||
provisionerId: deepspeech-provisioner
|
||||
workerType: ds-rpi3
|
||||
generic:
|
||||
provisionerId: deepspeech-provisioner
|
||||
workerType: ds-macos-light
|
||||
|
||||
@ -42,14 +42,14 @@ install_pyenv "${PYENV_ROOT}"
|
||||
install_pyenv_virtualenv "$(pyenv root)/plugins/pyenv-virtualenv"
|
||||
|
||||
PYENV_NAME=deepspeech-test
|
||||
PYTHON_CONFIGURE_OPTS="--enable-unicode=${pyconf}" pyenv install ${pyver}
|
||||
PYTHON_CONFIGURE_OPTS="--enable-unicode=${pyconf} ${EXTRA_PYTHON_CONFIGURE_OPTS}" pyenv install ${pyver}
|
||||
pyenv virtualenv ${pyver} ${PYENV_NAME}
|
||||
source ${PYENV_ROOT}/versions/${pyver}/envs/${PYENV_NAME}/bin/activate
|
||||
|
||||
platform=$(python -c 'import sys; import platform; plat = platform.system().lower(); plat = "manylinux1" if plat == "linux" else plat; sys.stdout.write("%s_%s" % (plat, platform.machine()));')
|
||||
platform=$(python -c 'import sys; import platform; plat = platform.system().lower(); arch = platform.machine().lower(); plat = "manylinux1" if plat == "linux" and arch == "x86_64" else plat; plat = "macosx_10_10" if plat == "darwin" else plat; sys.stdout.write("%s_%s" % (plat, platform.machine()));')
|
||||
deepspeech_pkg="deepspeech-0.1.1-cp${pyver_pkg}-cp${pyver_pkg}${py_unicode_type}-${platform}.whl"
|
||||
|
||||
pip install --upgrade ${DEEPSPEECH_ARTIFACTS_ROOT}/${deepspeech_pkg} | cat
|
||||
pip install --only-binary :all: --upgrade ${DEEPSPEECH_ARTIFACTS_ROOT}/${deepspeech_pkg} | cat
|
||||
|
||||
run_prod_inference_tests
|
||||
|
||||
|
||||
@ -37,11 +37,11 @@ install_pyenv "${PYENV_ROOT}"
|
||||
install_pyenv_virtualenv "$(pyenv root)/plugins/pyenv-virtualenv"
|
||||
|
||||
PYENV_NAME=deepspeech-test
|
||||
PYTHON_CONFIGURE_OPTS="--enable-unicode=${pyconf}" pyenv install ${pyver}
|
||||
PYTHON_CONFIGURE_OPTS="--enable-unicode=${pyconf} ${EXTRA_PYTHON_CONFIGURE_OPTS}" pyenv install ${pyver}
|
||||
pyenv virtualenv ${pyver} ${PYENV_NAME}
|
||||
source ${PYENV_ROOT}/versions/${pyver}/envs/${PYENV_NAME}/bin/activate
|
||||
|
||||
platform=$(python -c 'import sys; import platform; plat = platform.system().lower(); plat = "manylinux1" if plat == "linux" else plat; plat = "macosx_10_10" if plat == "darwin" else plat; sys.stdout.write("%s_%s" % (plat, platform.machine()));')
|
||||
platform=$(python -c 'import sys; import platform; plat = platform.system().lower(); arch = platform.machine().lower(); plat = "manylinux1" if plat == "linux" and arch == "x86_64" else plat; plat = "macosx_10_10" if plat == "darwin" else plat; sys.stdout.write("%s_%s" % (plat, platform.machine()));')
|
||||
deepspeech_pkg="deepspeech-0.1.1-cp${pyver_pkg}-cp${pyver_pkg}${py_unicode_type}-${platform}.whl"
|
||||
|
||||
if [ "${aot_model}" = "--aot" ]; then
|
||||
@ -49,7 +49,7 @@ if [ "${aot_model}" = "--aot" ]; then
|
||||
else
|
||||
deepspeech_pkg_url=${DEEPSPEECH_ARTIFACTS_ROOT}/${deepspeech_pkg}
|
||||
fi
|
||||
pip install --upgrade ${deepspeech_pkg_url} | cat
|
||||
pip install --only-binary :all: --upgrade ${deepspeech_pkg_url} | cat
|
||||
|
||||
run_all_inference_tests
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ model_name_mmap="$(basename -s ".pb" "${model_source}").pbmm"
|
||||
model_source_mmap="$(dirname "${model_source}")/${model_name_mmap}"
|
||||
|
||||
SUPPORTED_PYTHON_VERSIONS=${SUPPORTED_PYTHON_VERSIONS:-2.7.14:ucs2 2.7.14:ucs4 3.4.8:ucs4 3.5.5:ucs4 3.6.4:ucs4}
|
||||
SUPPORTED_NODEJS_VERSIONS=${SUPPORTED_NODEJS_VERSIONS:-4.8.6 5.12.0 6.12.0 7.10.1 8.9.1 9.2.0}
|
||||
SUPPORTED_NODEJS_VERSIONS=${SUPPORTED_NODEJS_VERSIONS:-4.9.1 5.12.0 6.14.1 7.10.1 8.11.1 9.11.1}
|
||||
|
||||
# This verify exact inference result
|
||||
assert_correct_inference()
|
||||
@ -367,6 +367,15 @@ install_pyenv_virtualenv()
|
||||
eval "$(pyenv virtualenv-init -)"
|
||||
}
|
||||
|
||||
maybe_install_xldd()
|
||||
{
|
||||
# -s required to avoid the noisy output like "Entering / Leaving directories"
|
||||
toolchain=$(make -s -C ${DS_DSDIR}/native_client/ TARGET=${SYSTEM_TARGET} TFDIR=${DS_TFDIR} print-toolchain)
|
||||
if [ ! -x "${toolchain}ldd" ]; then
|
||||
cp "${DS_DSDIR}/native_client/xldd" "${toolchain}ldd" && chmod +x "${toolchain}ldd"
|
||||
fi
|
||||
}
|
||||
|
||||
do_get_model_parameters()
|
||||
{
|
||||
local __result=$2
|
||||
@ -415,6 +424,10 @@ verify_bazel_rebuild()
|
||||
exit 1
|
||||
fi;
|
||||
|
||||
mkdir -p ${TASKCLUSTER_ARTIFACTS} || true
|
||||
|
||||
cp ${DS_ROOT_TASK}/DeepSpeech/tf/bazel*.log ${TASKCLUSTER_ARTIFACTS}/
|
||||
|
||||
spurious_rebuilds=$(grep 'Executing action' "${bazel_explain_file}" | grep 'Compiling' | grep -v -E 'no entry in the cache|unconditional execution is requested' | wc -l)
|
||||
if [ "${spurious_rebuilds}" -ne 0 ]; then
|
||||
echo "Bazel rebuilds some file it should not, please check."
|
||||
|
||||
Loading…
Reference in New Issue
Block a user