Add Android TaskCluster build
This commit is contained in:
parent
c10cdf08ca
commit
6e245ce5bf
21
taskcluster/android-arm64-cpu-opt.yml
Normal file
21
taskcluster/android-arm64-cpu-opt.yml
Normal file
@ -0,0 +1,21 @@
|
||||
build:
|
||||
template_file: linux-opt-base.tyml
|
||||
routes:
|
||||
- "index.project.deepspeech.deepspeech.native_client.${event.head.branchortag}.android-arm64"
|
||||
- "index.project.deepspeech.deepspeech.native_client.${event.head.branchortag}.${event.head.sha}.android-arm64"
|
||||
- "index.project.deepspeech.deepspeech.native_client.android-arm64.${event.head.sha}"
|
||||
- "notify.irc-channel.${notifications.irc}.on-exception"
|
||||
- "notify.irc-channel.${notifications.irc}.on-failed"
|
||||
system_setup:
|
||||
>
|
||||
${swig.packages.install_script}
|
||||
system_config:
|
||||
>
|
||||
${swig.patch_nodejs.linux}
|
||||
tensorflow: "https://index.taskcluster.net/v1/task/project.deepspeech.tensorflow.pip.r1.12.bea86c1e884730cf7f8615eb24d31872c198c766.android-arm64/artifacts/public/home.tar.xz"
|
||||
scripts:
|
||||
build: "taskcluster/android-build.sh arm64-v8a"
|
||||
package: "taskcluster/android-package.sh arm64-v8a"
|
||||
metadata:
|
||||
name: "DeepSpeech Android ARM64"
|
||||
description: "Building DeepSpeech for Android ARM64, optimized version"
|
21
taskcluster/android-armv7-cpu-opt.yml
Normal file
21
taskcluster/android-armv7-cpu-opt.yml
Normal file
@ -0,0 +1,21 @@
|
||||
build:
|
||||
template_file: linux-opt-base.tyml
|
||||
routes:
|
||||
- "index.project.deepspeech.deepspeech.native_client.${event.head.branchortag}.android-armv7"
|
||||
- "index.project.deepspeech.deepspeech.native_client.${event.head.branchortag}.${event.head.sha}.android-armv7"
|
||||
- "index.project.deepspeech.deepspeech.native_client.android-armv7.${event.head.sha}"
|
||||
- "notify.irc-channel.${notifications.irc}.on-exception"
|
||||
- "notify.irc-channel.${notifications.irc}.on-failed"
|
||||
system_setup:
|
||||
>
|
||||
${swig.packages.install_script}
|
||||
system_config:
|
||||
>
|
||||
${swig.patch_nodejs.linux}
|
||||
tensorflow: "https://index.taskcluster.net/v1/task/project.deepspeech.tensorflow.pip.r1.12.bea86c1e884730cf7f8615eb24d31872c198c766.android-armv7/artifacts/public/home.tar.xz"
|
||||
scripts:
|
||||
build: "taskcluster/android-build.sh armeabi-v7a"
|
||||
package: "taskcluster/android-package.sh armeabi-v7a"
|
||||
metadata:
|
||||
name: "DeepSpeech Android ARMv7"
|
||||
description: "Building DeepSpeech for Android ARMv7, optimized version"
|
30
taskcluster/android-build.sh
Normal file
30
taskcluster/android-build.sh
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -xe
|
||||
|
||||
arm_flavor=$1
|
||||
|
||||
source $(dirname "$0")/../tc-tests-utils.sh
|
||||
|
||||
source ${DS_ROOT_TASK}/DeepSpeech/tf/tc-vars.sh
|
||||
|
||||
BAZEL_TARGETS="
|
||||
//native_client:libdeepspeech.so
|
||||
"
|
||||
|
||||
if [ "${arm_flavor}" = "armeabi-v7a" ]; then
|
||||
LOCAL_ANDROID_FLAGS="${BAZEL_ANDROID_ARM_FLAGS}"
|
||||
fi
|
||||
|
||||
if [ "${arm_flavor}" = "arm64-v8a" ]; then
|
||||
LOCAL_ANDROID_FLAGS="${BAZEL_ANDROID_ARM64_FLAGS}"
|
||||
fi
|
||||
|
||||
BAZEL_BUILD_FLAGS="${LOCAL_ANDROID_FLAGS} ${BAZEL_EXTRA_FLAGS}"
|
||||
BAZEL_ENV_FLAGS="TF_NEED_CUDA=0"
|
||||
SYSTEM_TARGET=
|
||||
SYSTEM_RASPBIAN=
|
||||
|
||||
do_bazel_build
|
||||
|
||||
do_deepspeech_ndk_build "${arm_flavor}"
|
13
taskcluster/android-package.sh
Executable file
13
taskcluster/android-package.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -xe
|
||||
|
||||
arm_flavor=$1
|
||||
|
||||
source $(dirname "$0")/../tc-tests-utils.sh
|
||||
|
||||
mkdir -p ${TASKCLUSTER_ARTIFACTS} || true
|
||||
|
||||
cp ${DS_ROOT_TASK}/DeepSpeech/tf/bazel*.log ${TASKCLUSTER_ARTIFACTS}/
|
||||
|
||||
package_native_client_ndk "native_client.tar.xz" "${arm_flavor}"
|
@ -413,6 +413,21 @@ do_deepspeech_binary_build()
|
||||
deepspeech
|
||||
}
|
||||
|
||||
do_deepspeech_ndk_build()
|
||||
{
|
||||
arch_abi=$1
|
||||
|
||||
cd ${DS_DSDIR}/native_client/
|
||||
|
||||
${ANDROID_NDK_HOME}/ndk-build \
|
||||
APP_PLATFORM=android-21 \
|
||||
APP_BUILD_SCRIPT=$(pwd)/Android.mk \
|
||||
NDK_PROJECT_PATH=$(pwd) \
|
||||
APP_STL=c++_shared \
|
||||
TFDIR=${DS_TFDIR} \
|
||||
TARGET_ARCH_ABI=${arch_abi}
|
||||
}
|
||||
|
||||
# Hack to extract Ubuntu's 16.04 libssl 1.0.2 packages and use them during the
|
||||
# local build of Python.
|
||||
#
|
||||
@ -636,22 +651,42 @@ package_native_client()
|
||||
echo "Please specify artifact name."
|
||||
fi;
|
||||
|
||||
if [ -f "${tensorflow_dir}/bazel-bin/native_client/libdeepspeech_model.so" ]; then
|
||||
tar -cf - \
|
||||
-C ${tensorflow_dir}/bazel-bin/native_client/ generate_trie \
|
||||
-C ${tensorflow_dir}/bazel-bin/native_client/ libdeepspeech.so \
|
||||
-C ${tensorflow_dir}/bazel-bin/native_client/ libdeepspeech_model.so \
|
||||
-C ${deepspeech_dir}/ LICENSE \
|
||||
-C ${deepspeech_dir}/native_client/ deepspeech \
|
||||
-C ${deepspeech_dir}/native_client/kenlm/ README.mozilla \
|
||||
| pixz -9 > "${artifacts_dir}/${artifact_name}"
|
||||
else
|
||||
tar -cf - \
|
||||
-C ${tensorflow_dir}/bazel-bin/native_client/ generate_trie \
|
||||
-C ${tensorflow_dir}/bazel-bin/native_client/ libdeepspeech.so \
|
||||
-C ${deepspeech_dir}/ LICENSE \
|
||||
-C ${deepspeech_dir}/native_client/ deepspeech \
|
||||
-C ${deepspeech_dir}/native_client/kenlm/ README.mozilla \
|
||||
| pixz -9 > "${artifacts_dir}/${artifact_name}"
|
||||
fi;
|
||||
tar -cf - \
|
||||
-C ${tensorflow_dir}/bazel-bin/native_client/ generate_trie \
|
||||
-C ${tensorflow_dir}/bazel-bin/native_client/ libdeepspeech.so \
|
||||
-C ${deepspeech_dir}/ LICENSE \
|
||||
-C ${deepspeech_dir}/native_client/ deepspeech \
|
||||
-C ${deepspeech_dir}/native_client/kenlm/ README.mozilla \
|
||||
| pixz -9 > "${artifacts_dir}/${artifact_name}"
|
||||
}
|
||||
|
||||
package_native_client_ndk()
|
||||
{
|
||||
deepspeech_dir=${DS_DSDIR}
|
||||
artifacts_dir=${TASKCLUSTER_ARTIFACTS}
|
||||
artifact_name=$1
|
||||
arch_abi=$2
|
||||
|
||||
if [ ! -d ${deepspeech_dir} -o ! -d ${artifacts_dir} ]; then
|
||||
echo "Missing directory. Please check:"
|
||||
echo "deepspeech_dir=${deepspeech_dir}"
|
||||
echo "artifacts_dir=${artifacts_dir}"
|
||||
exit 1
|
||||
fi;
|
||||
|
||||
if [ -z "${artifact_name}" ]; then
|
||||
echo "Please specify artifact name."
|
||||
fi;
|
||||
|
||||
if [ -z "${arch_abi}" ]; then
|
||||
echo "Please specify arch abi."
|
||||
fi;
|
||||
|
||||
tar -cf - \
|
||||
-C ${deepspeech_dir}/native_client/libs/${arch_abi}/ deepspeech \
|
||||
-C ${deepspeech_dir}/native_client/libs/${arch_abi}/ libdeepspeech.so \
|
||||
-C ${deepspeech_dir}/native_client/libs/${arch_abi}/ libc++_shared.so \
|
||||
-C ${deepspeech_dir}/ LICENSE \
|
||||
-C ${deepspeech_dir}/native_client/kenlm/ README.mozilla \
|
||||
| pixz -9 > "${artifacts_dir}/${artifact_name}"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user