bump NDK packages to r19-beta2
Originally this started as a bump to r18, the latest stable release.
That's why each packages goes up two versions, from r17 -> r18 ->
r19-beta2.
But our ASAN bots started failing with r18, and despite quite a bit of
investigating, I've been unable to find anything wrong with our code.
Luckily, r19 is coming soon, and it looks like its beta2 works fine.
I think we should just skip r18.
Original change's description:
> bump NDK packages to r18
>
> Newer Clang, GCC is gone.
>
> Clang now supports half-float math on ARMv8, which is pretty neat.
>
> They've dropped support for everything below NDK version 16,
> which happens to be what we target for 32-bit ARM.
>
> Change-Id: Idd1b1b557c5ecaabec4040026fd2ad5adfee5ee7
> Reviewed-on: https://skia-review.googlesource.com/157260
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
Cq-Include-Trybots: skia.primary:Test-Android-Clang-Pixel-CPU-Snapdragon821-arm64-Release-All-Android_ASAN
Change-Id: I0736558fc9b732113854b1b295642e1708b04581
Reviewed-on: https://skia-review.googlesource.com/c/157761
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
diff --git a/infra/bots/assets/android_ndk_darwin/VERSION b/infra/bots/assets/android_ndk_darwin/VERSION
index 7813681..c793025 100644
--- a/infra/bots/assets/android_ndk_darwin/VERSION
+++ b/infra/bots/assets/android_ndk_darwin/VERSION
@@ -1 +1 @@
-5
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/infra/bots/assets/android_ndk_darwin/create.py b/infra/bots/assets/android_ndk_darwin/create.py
index 809f755..2b5faea 100755
--- a/infra/bots/assets/android_ndk_darwin/create.py
+++ b/infra/bots/assets/android_ndk_darwin/create.py
@@ -15,7 +15,7 @@
import shutil
import subprocess
-NDK_VER = "android-ndk-r17"
+NDK_VER = "android-ndk-r19-beta2"
NDK_URL = \
"https://dl.google.com/android/repository/%s-darwin-x86_64.zip" % NDK_VER
diff --git a/infra/bots/assets/android_ndk_linux/VERSION b/infra/bots/assets/android_ndk_linux/VERSION
index 9d60796..ca7bf83 100644
--- a/infra/bots/assets/android_ndk_linux/VERSION
+++ b/infra/bots/assets/android_ndk_linux/VERSION
@@ -1 +1 @@
-11
\ No newline at end of file
+13
\ No newline at end of file
diff --git a/infra/bots/assets/android_ndk_linux/create.py b/infra/bots/assets/android_ndk_linux/create.py
index 2af2905..50f118c 100755
--- a/infra/bots/assets/android_ndk_linux/create.py
+++ b/infra/bots/assets/android_ndk_linux/create.py
@@ -15,7 +15,7 @@
import shutil
import subprocess
-NDK_VER = "android-ndk-r17"
+NDK_VER = "android-ndk-r19-beta2"
NDK_URL = \
"https://dl.google.com/android/repository/%s-linux-x86_64.zip" % NDK_VER
diff --git a/infra/bots/assets/android_ndk_windows/VERSION b/infra/bots/assets/android_ndk_windows/VERSION
index 62f9457..301160a 100644
--- a/infra/bots/assets/android_ndk_windows/VERSION
+++ b/infra/bots/assets/android_ndk_windows/VERSION
@@ -1 +1 @@
-6
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/infra/bots/assets/android_ndk_windows/create.py b/infra/bots/assets/android_ndk_windows/create.py
index 9336a5e..30ae2ba 100755
--- a/infra/bots/assets/android_ndk_windows/create.py
+++ b/infra/bots/assets/android_ndk_windows/create.py
@@ -15,7 +15,7 @@
import shutil
import subprocess
-NDK_VER = "android-ndk-r17"
+NDK_VER = "android-ndk-r19-beta2"
NDK_URL = \
"https://dl.google.com/android/repository/%s-windows-x86_64.zip" % NDK_VER
diff --git a/infra/bots/recipe_modules/flavor/android.py b/infra/bots/recipe_modules/flavor/android.py
index 1fd07e1..2eb5b90 100644
--- a/infra/bots/recipe_modules/flavor/android.py
+++ b/infra/bots/recipe_modules/flavor/android.py
@@ -350,7 +350,7 @@
if 'ASAN' in self.m.vars.extra_tokens:
asan_setup = self.m.vars.slave_dir.join(
'android_ndk_linux', 'toolchains', 'llvm', 'prebuilt',
- 'linux-x86_64', 'lib64', 'clang', '6.0.2', 'bin',
+ 'linux-x86_64', 'lib64', 'clang', '8.0.2', 'bin',
'asan_device_setup')
self.m.run(self.m.python.inline, 'Setting up device to run ASAN',
program="""
diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_ASAN.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_ASAN.json
index 12501c7..9b43aaf 100644
--- a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_ASAN.json
+++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_ASAN.json
@@ -114,7 +114,7 @@
"-u",
"\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\nASAN_SETUP = sys.argv[2]\n\ndef wait_for_device():\n while True:\n time.sleep(5)\n print 'Waiting for device'\n subprocess.check_output([ADB, 'wait-for-device'])\n bit1 = subprocess.check_output([ADB, 'shell', 'getprop',\n 'dev.bootcomplete'])\n bit2 = subprocess.check_output([ADB, 'shell', 'getprop',\n 'sys.boot_completed'])\n if '1' in bit1 and '1' in bit2:\n print 'Device detected'\n break\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\noutput = subprocess.check_output([ADB, 'disable-verity'])\nprint output\n\nif 'already disabled' not in output:\n print 'Rebooting device'\n subprocess.check_output([ADB, 'reboot'])\n wait_for_device()\n\ndef installASAN(revert=False):\n # ASAN setup script is idempotent, either it installs it or\n # says it's installed. Returns True on success, false otherwise.\n out = subprocess.check_output([ADB, 'wait-for-device'])\n print out\n cmd = [ASAN_SETUP]\n if revert:\n cmd = [ASAN_SETUP, '--revert']\n process = subprocess.Popen(cmd, env={'ADB': ADB},\n stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n\n # this also blocks until command finishes\n (stdout, stderr) = process.communicate()\n print stdout\n print 'Stderr: %s' % stderr\n return process.returncode == 0\n\nif not installASAN():\n print 'Trying to revert the ASAN install and then re-install'\n # ASAN script sometimes has issues if it was interrupted or partially applied\n # Try reverting it, then re-enabling it\n if not installASAN(revert=True):\n raise Exception('reverting ASAN install failed')\n\n # Sleep because device does not reboot instantly\n time.sleep(10)\n\n if not installASAN():\n raise Exception('Tried twice to setup ASAN and failed.')\n\n# Sleep because device does not reboot instantly\ntime.sleep(10)\nwait_for_device()\n",
"/opt/infra-android/tools/adb",
- "[START_DIR]/android_ndk_linux/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/bin/asan_device_setup"
+ "[START_DIR]/android_ndk_linux/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/8.0.2/bin/asan_device_setup"
],
"env": {
"CHROME_HEADLESS": "1",
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm-Debug-All-Android_ASAN.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm-Debug-All-Android_ASAN.json
index d550f8f..0e7070d 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm-Debug-All-Android_ASAN.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm-Debug-All-Android_ASAN.json
@@ -51,7 +51,7 @@
"-u",
"\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\nASAN_SETUP = sys.argv[2]\n\ndef wait_for_device():\n while True:\n time.sleep(5)\n print 'Waiting for device'\n subprocess.check_output([ADB, 'wait-for-device'])\n bit1 = subprocess.check_output([ADB, 'shell', 'getprop',\n 'dev.bootcomplete'])\n bit2 = subprocess.check_output([ADB, 'shell', 'getprop',\n 'sys.boot_completed'])\n if '1' in bit1 and '1' in bit2:\n print 'Device detected'\n break\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\noutput = subprocess.check_output([ADB, 'disable-verity'])\nprint output\n\nif 'already disabled' not in output:\n print 'Rebooting device'\n subprocess.check_output([ADB, 'reboot'])\n wait_for_device()\n\ndef installASAN(revert=False):\n # ASAN setup script is idempotent, either it installs it or\n # says it's installed. Returns True on success, false otherwise.\n out = subprocess.check_output([ADB, 'wait-for-device'])\n print out\n cmd = [ASAN_SETUP]\n if revert:\n cmd = [ASAN_SETUP, '--revert']\n process = subprocess.Popen(cmd, env={'ADB': ADB},\n stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n\n # this also blocks until command finishes\n (stdout, stderr) = process.communicate()\n print stdout\n print 'Stderr: %s' % stderr\n return process.returncode == 0\n\nif not installASAN():\n print 'Trying to revert the ASAN install and then re-install'\n # ASAN script sometimes has issues if it was interrupted or partially applied\n # Try reverting it, then re-enabling it\n if not installASAN(revert=True):\n raise Exception('reverting ASAN install failed')\n\n # Sleep because device does not reboot instantly\n time.sleep(10)\n\n if not installASAN():\n raise Exception('Tried twice to setup ASAN and failed.')\n\n# Sleep because device does not reboot instantly\ntime.sleep(10)\nwait_for_device()\n",
"/usr/bin/adb.1.0.35",
- "[START_DIR]/android_ndk_linux/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/bin/asan_device_setup"
+ "[START_DIR]/android_ndk_linux/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/8.0.2/bin/asan_device_setup"
],
"env": {
"CHROME_HEADLESS": "1",
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index 8fdc1da..c1cba7c 100755
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -13223,7 +13223,7 @@
{
"name": "skia/bots/android_ndk_darwin",
"path": "android_ndk_darwin",
- "version": "version:5"
+ "version": "version:7"
}
],
"command": [
@@ -15214,7 +15214,7 @@
{
"name": "skia/bots/android_ndk_windows",
"path": "n",
- "version": "version:6"
+ "version": "version:8"
}
],
"command": [
@@ -19948,7 +19948,7 @@
{
"name": "skia/bots/android_ndk_linux",
"path": "android_ndk_linux",
- "version": "version:11"
+ "version": "version:13"
}
],
"command": [