From 1bedf9ef60a0f3bfdf43e04cb7db3d9ca1aa7439 Mon Sep 17 00:00:00 2001 From: Alexandre Lissy Date: Fri, 20 Mar 2020 17:17:06 +0100 Subject: [PATCH] Add CI for Android 8.0, 9.0 and 10.0 We limit ourselves to x86_64 because it seems Google does not provide any system images after API level 25 for arm64-v8a and armeabi-v7a. There is also no system image for API level 27 for x86_64. --- taskcluster/.shared.yml | 12 ++++++++++ .../android-cache-x86_64-android-26.yml | 14 +++++++++++ .../android-cache-x86_64-android-28.yml | 14 +++++++++++ .../android-cache-x86_64-android-29.yml | 14 +++++++++++ ...led => test-apk-android-26-x86_64-opt.yml} | 11 ++++++++- ...led => test-apk-android-28-x86_64-opt.yml} | 11 ++++++++- .../test-apk-android-29-x86_64-opt.yml | 23 +++++++++++++++++++ 7 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 taskcluster/android-cache-x86_64-android-26.yml create mode 100644 taskcluster/android-cache-x86_64-android-28.yml create mode 100644 taskcluster/android-cache-x86_64-android-29.yml rename taskcluster/{test-apk-android-26-x86_64-opt.yml.disabled => test-apk-android-26-x86_64-opt.yml} (57%) rename taskcluster/{test-apk-android-28-x86_64-opt.yml.disabled => test-apk-android-28-x86_64-opt.yml} (57%) create mode 100644 taskcluster/test-apk-android-29-x86_64-opt.yml diff --git a/taskcluster/.shared.yml b/taskcluster/.shared.yml index bae8b779..31ca23c0 100644 --- a/taskcluster/.shared.yml +++ b/taskcluster/.shared.yml @@ -83,6 +83,18 @@ system: android_25: url: 'https://community-tc.services.mozilla.com/api/index/v1/task/project.deepspeech.android_cache.x86_64.android-25.4/artifacts/public/android_cache.tar.gz' namespace: 'project.deepspeech.android_cache.x86_64.android-25.4' + android_26: + url: 'https://community-tc.services.mozilla.com/api/index/v1/task/project.deepspeech.android_cache.x86_64.android-26.0/artifacts/public/android_cache.tar.gz' + namespace: 'project.deepspeech.android_cache.x86_64.android-26.0' + android_27: + url: 'https://community-tc.services.mozilla.com/api/index/v1/task/project.deepspeech.android_cache.x86_64.android-27.0/artifacts/public/android_cache.tar.gz' + namespace: 'project.deepspeech.android_cache.x86_64.android-27.0' + android_28: + url: 'https://community-tc.services.mozilla.com/api/index/v1/task/project.deepspeech.android_cache.x86_64.android-28.0/artifacts/public/android_cache.tar.gz' + namespace: 'project.deepspeech.android_cache.x86_64.android-28.0' + android_29: + url: 'https://community-tc.services.mozilla.com/api/index/v1/task/project.deepspeech.android_cache.x86_64.android-29.0/artifacts/public/android_cache.tar.gz' + namespace: 'project.deepspeech.android_cache.x86_64.android-29.0' sdk: android_27: url: 'https://community-tc.services.mozilla.com/api/index/v1/task/project.deepspeech.android_cache.sdk.android-27.4/artifacts/public/android_cache.tar.gz' diff --git a/taskcluster/android-cache-x86_64-android-26.yml b/taskcluster/android-cache-x86_64-android-26.yml new file mode 100644 index 00000000..ec711ede --- /dev/null +++ b/taskcluster/android-cache-x86_64-android-26.yml @@ -0,0 +1,14 @@ +build: + template_file: android_cache-opt-base.tyml + system_setup: + > + ${java.packages_trusty.apt} + cache: + url: ${system.android_cache.x86_64.android_26.url} + namespace: ${system.android_cache.x86_64.android_26.namespace} + scripts: + build: "taskcluster/android_cache-build.sh x86_64 android-26" + package: "taskcluster/android_cache-package.sh" + metadata: + name: "Builds Android cache x86_64 / android-26" + description: "Setup an Android SDK / emulator cache for Android / x86_64 android-26" diff --git a/taskcluster/android-cache-x86_64-android-28.yml b/taskcluster/android-cache-x86_64-android-28.yml new file mode 100644 index 00000000..471f33b9 --- /dev/null +++ b/taskcluster/android-cache-x86_64-android-28.yml @@ -0,0 +1,14 @@ +build: + template_file: android_cache-opt-base.tyml + system_setup: + > + ${java.packages_trusty.apt} + cache: + url: ${system.android_cache.x86_64.android_28.url} + namespace: ${system.android_cache.x86_64.android_28.namespace} + scripts: + build: "taskcluster/android_cache-build.sh x86_64 android-28" + package: "taskcluster/android_cache-package.sh" + metadata: + name: "Builds Android cache x86_64 / android-28" + description: "Setup an Android SDK / emulator cache for Android / x86_64 android-28" diff --git a/taskcluster/android-cache-x86_64-android-29.yml b/taskcluster/android-cache-x86_64-android-29.yml new file mode 100644 index 00000000..835453f9 --- /dev/null +++ b/taskcluster/android-cache-x86_64-android-29.yml @@ -0,0 +1,14 @@ +build: + template_file: android_cache-opt-base.tyml + system_setup: + > + ${java.packages_trusty.apt} + cache: + url: ${system.android_cache.x86_64.android_29.url} + namespace: ${system.android_cache.x86_64.android_29.namespace} + scripts: + build: "taskcluster/android_cache-build.sh x86_64 android-29" + package: "taskcluster/android_cache-package.sh" + metadata: + name: "Builds Android cache x86_64 / android-29" + description: "Setup an Android SDK / emulator cache for Android / x86_64 android-29" diff --git a/taskcluster/test-apk-android-26-x86_64-opt.yml.disabled b/taskcluster/test-apk-android-26-x86_64-opt.yml similarity index 57% rename from taskcluster/test-apk-android-26-x86_64-opt.yml.disabled rename to taskcluster/test-apk-android-26-x86_64-opt.yml index cddd767e..4fbc90e4 100644 --- a/taskcluster/test-apk-android-26-x86_64-opt.yml.disabled +++ b/taskcluster/test-apk-android-26-x86_64-opt.yml @@ -1,12 +1,21 @@ -# disabled because too intermittent to be reliable until we have some KVM-backed infra build: template_file: test-android-opt-base.tyml dependencies: - "android-x86_64-cpu-opt" - "test-training_16k-linux-amd64-py36m-opt" + - "swig-linux-amd64" + - "gradle-cache" + - "android-cache-x86_64-android-26" + test_model_task: "test-training_16k-linux-amd64-py36m-opt" system_setup: > apt-get -qq -y install curl make python + cache: + url: ${system.android_cache.x86_64.android_26.url} + namespace: ${system.android_cache.x86_64.android_26.namespace} + gradle_cache: + url: ${system.gradle_cache.url} + namespace: ${system.gradle_cache.namespace} args: tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/taskcluster/tc-android-apk-tests.sh x86_64 android-26" metadata: diff --git a/taskcluster/test-apk-android-28-x86_64-opt.yml.disabled b/taskcluster/test-apk-android-28-x86_64-opt.yml similarity index 57% rename from taskcluster/test-apk-android-28-x86_64-opt.yml.disabled rename to taskcluster/test-apk-android-28-x86_64-opt.yml index ebf1d996..793b5472 100644 --- a/taskcluster/test-apk-android-28-x86_64-opt.yml.disabled +++ b/taskcluster/test-apk-android-28-x86_64-opt.yml @@ -1,12 +1,21 @@ -# disabled because too intermittent to be reliable until we have some KVM-backed infra build: template_file: test-android-opt-base.tyml dependencies: - "android-x86_64-cpu-opt" - "test-training_16k-linux-amd64-py36m-opt" + - "swig-linux-amd64" + - "gradle-cache" + - "android-cache-x86_64-android-28" + test_model_task: "test-training_16k-linux-amd64-py36m-opt" system_setup: > apt-get -qq -y install curl make python + cache: + url: ${system.android_cache.x86_64.android_28.url} + namespace: ${system.android_cache.x86_64.android_28.namespace} + gradle_cache: + url: ${system.gradle_cache.url} + namespace: ${system.gradle_cache.namespace} args: tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/taskcluster/tc-android-apk-tests.sh x86_64 android-28" metadata: diff --git a/taskcluster/test-apk-android-29-x86_64-opt.yml b/taskcluster/test-apk-android-29-x86_64-opt.yml new file mode 100644 index 00000000..00aa6ef8 --- /dev/null +++ b/taskcluster/test-apk-android-29-x86_64-opt.yml @@ -0,0 +1,23 @@ +build: + template_file: test-android-opt-base.tyml + dependencies: + - "android-x86_64-cpu-opt" + - "test-training_16k-linux-amd64-py36m-opt" + - "swig-linux-amd64" + - "gradle-cache" + - "android-cache-x86_64-android-29" + test_model_task: "test-training_16k-linux-amd64-py36m-opt" + system_setup: + > + apt-get -qq -y install curl make python + cache: + url: ${system.android_cache.x86_64.android_29.url} + namespace: ${system.android_cache.x86_64.android_29.namespace} + gradle_cache: + url: ${system.gradle_cache.url} + namespace: ${system.gradle_cache.namespace} + args: + tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/taskcluster/tc-android-apk-tests.sh x86_64 android-29" + metadata: + name: "DeepSpeech Android 10.0 x86_64 Google Pixel APK/Java tests" + description: "Testing DeepSpeech APK/Java for Android 10.0 x86_64 Google Pixel, optimized version"