From 02c1e4e836410544d52e7af3785ddbbbff25284c Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Mon, 21 Mar 2016 02:00:52 -0400 Subject: [PATCH 1/6] Rename Servo build dependency sls files This change groups the various sls files that set up the Servo build environment into a single folder to: - make their purpose more clear in the top.sls file - make it easier to add auxiliary files (i.e. map.jinja) Also, don't install the Servo build dependencies on the Buildbot master, but make sure to keep git installed to update the Salt file tree. --- git/init.sls | 5 +++++ .../android.sls | 0 .../arm.sls | 0 .../gonk.sls | 0 .../init.sls | 0 top.sls | 14 +++++++++----- 6 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 git/init.sls rename android-dependencies.sls => servo-build-dependencies/android.sls (100%) rename arm-dependencies.sls => servo-build-dependencies/arm.sls (100%) rename gonk-dependencies.sls => servo-build-dependencies/gonk.sls (100%) rename servo-dependencies.sls => servo-build-dependencies/init.sls (100%) diff --git a/git/init.sls b/git/init.sls new file mode 100644 index 00000000..19c05d55 --- /dev/null +++ b/git/init.sls @@ -0,0 +1,5 @@ +# Used to keep the Salt tree up to date on the master +git: + pkg.installed: + - pkgs: + - git diff --git a/android-dependencies.sls b/servo-build-dependencies/android.sls similarity index 100% rename from android-dependencies.sls rename to servo-build-dependencies/android.sls diff --git a/arm-dependencies.sls b/servo-build-dependencies/arm.sls similarity index 100% rename from arm-dependencies.sls rename to servo-build-dependencies/arm.sls diff --git a/gonk-dependencies.sls b/servo-build-dependencies/gonk.sls similarity index 100% rename from gonk-dependencies.sls rename to servo-build-dependencies/gonk.sls diff --git a/servo-dependencies.sls b/servo-build-dependencies/init.sls similarity index 100% rename from servo-dependencies.sls rename to servo-build-dependencies/init.sls diff --git a/top.sls b/top.sls index c25cc611..97f4715d 100644 --- a/top.sls +++ b/top.sls @@ -3,7 +3,6 @@ base: '*': - common - - servo-dependencies - salt.common 'os:Ubuntu': @@ -12,26 +11,31 @@ base: 'servo-head': - buildbot.slave - - android-dependencies + - servo-build-dependencies + - servo-build-dependencies.android 'servo-linux-cross\d+': - match: pcre - buildbot.slave - - android-dependencies - - gonk-dependencies - - arm-dependencies + - servo-build-dependencies + - servo-build-dependencies.android + - servo-build-dependencies.gonk + - servo-build-dependencies.arm 'servo-(mac|macpro)\d+': - match: pcre - osx - buildbot.slave + - servo-build-dependencies 'servo-linux\d+': - match: pcre - buildbot.slave + - servo-build-dependencies - xvfb 'servo-master': + - git - buildbot.master - homu - nginx From a067bd99ca1733fa5e68669655b47b3378ce5b30 Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Sun, 13 Mar 2016 00:39:42 -0500 Subject: [PATCH 2/6] Upgrade to SHA512 hashes everywhere Use a SHA512 hash instead of a SHA1 hash to verify the B2G download. Update the style guide. --- STYLE_GUIDE.md | 6 ++++++ buildbot/master.sls | 6 +++++- buildbot/master/master.cfg | 4 ++-- servo-build-dependencies/gonk.sls | 21 ++++++++++----------- servo-build-dependencies/map.jinja | 5 +++++ 5 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 servo-build-dependencies/map.jinja diff --git a/STYLE_GUIDE.md b/STYLE_GUIDE.md index 2863316d..f8c4b764 100644 --- a/STYLE_GUIDE.md +++ b/STYLE_GUIDE.md @@ -4,6 +4,12 @@ Style guide for Salt states (and other code) in this repo. Unfortunately, no linter exists yet for Salt states, so there is no automated way to check for compliance with this guide. +## General + +### Hash functions + +Hashes used for download/file verification should be SHA512 or stronger. + ## Jinja Usage ### Imports diff --git a/buildbot/master.sls b/buildbot/master.sls index e465cb19..cf77cfea 100644 --- a/buildbot/master.sls +++ b/buildbot/master.sls @@ -1,3 +1,5 @@ +{% from 'common/map.jinja' import common %} + buildbot-master: pip.installed: - pkgs: @@ -17,11 +19,13 @@ buildbot-master: /home/servo/buildbot/master: file.recurse: - source: salt://buildbot/master - - template: jinja - user: servo - group: servo - dir_mode: 755 - file_mode: 644 + - template: jinja + - context: + common: {{ common }} /etc/init/buildbot-master.conf: file.managed: diff --git a/buildbot/master/master.cfg b/buildbot/master/master.cfg index 15203e24..e209bd8c 100644 --- a/buildbot/master/master.cfg +++ b/buildbot/master/master.cfg @@ -233,8 +233,8 @@ android_nightly_factory = create_servo_factory([ gonk_compile_env = dict({'ANDROID_SDK': '/home/servo/android-sdk-linux/', 'ANDROID_NDK': '/home/servo/android-ndk-r10e/', 'ANDROID_TOOLCHAIN': '/home/servo/ndk-toolchain/', - 'GONKDIR': '/home/servo/B2G/', - 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin:/home/servo/B2G/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin'}, + 'GONKDIR': '{{ common.servo_home }}/B2G/', + 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin:{{ common.servo_home }}/B2G/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin'}, **linux_test_env) gonk_factory = create_servo_factory([ diff --git a/servo-build-dependencies/gonk.sls b/servo-build-dependencies/gonk.sls index 3829ae07..9cb2337c 100644 --- a/servo-build-dependencies/gonk.sls +++ b/servo-build-dependencies/gonk.sls @@ -1,12 +1,11 @@ -b2g-download: - file.managed: - - name: /home/servo/B2G.tgz +{% from 'common/map.jinja' import common %} +{% from tpldir ~ '/map.jinja' import b2g %} + +b2g: + archive.extracted: + - name: {{ common.servo_home }} - source: https://servo-rust.s3.amazonaws.com/B2G/B2G.tgz - - source_hash: sha1=2f871c23ddff795938cf9f4764f926bcf91b5938 - - user: servo - - group: servo - cmd.wait: - - name: tar xzf /home/servo/B2G.tgz - - user: servo - - watch: - - file: b2g-download + - source_hash: sha512={{ b2g.sha512 }} + - archive_format: tar + - archive_user: servo + - if_missing: {{ common.servo_home }}/B2G diff --git a/servo-build-dependencies/map.jinja b/servo-build-dependencies/map.jinja new file mode 100644 index 00000000..b0fc8fa4 --- /dev/null +++ b/servo-build-dependencies/map.jinja @@ -0,0 +1,5 @@ +{% + set b2g = { + 'sha512': '092a3c9210ce4eae864dc07a4a17f5fc38aebdd0179d64d7b77a65bad2adc004a9599ef7bf1e6ce610abaecae87cd61af5d58ea5ac609028b429e514dfe96e77' + } +%} From ef8f9e3d854aee1253fea16858c709536121a709 Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Tue, 22 Mar 2016 08:19:54 -0400 Subject: [PATCH 3/6] Use HTTPS for download URLs, update style guide. --- README.md | 2 +- STYLE_GUIDE.md | 7 +++++++ servo-build-dependencies/android.sls | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cd4aa6fa..07d3ac57 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ## What's going on? Salt is a configuration management tool that we use to automate Servo's -infrastructure. See [the tutorials](http://docs.saltstack.com/en/latest/topics/tutorials/) to get started. +infrastructure. See [the tutorials](https://docs.saltstack.com/en/2015.5/topics/tutorials/index.html) to get started. ## Contributing diff --git a/STYLE_GUIDE.md b/STYLE_GUIDE.md index f8c4b764..fae7238a 100644 --- a/STYLE_GUIDE.md +++ b/STYLE_GUIDE.md @@ -6,6 +6,13 @@ check for compliance with this guide. ## General +### Downloads + +URLs used for downloads should always use HTTPS. + +Note that APT repos are currently an exception - they don't seem to like +HTTPS urls, but they're GPG signed so this is OK. + ### Hash functions Hashes used for download/file verification should be SHA512 or stronger. diff --git a/servo-build-dependencies/android.sls b/servo-build-dependencies/android.sls index 127fa32e..2465c34a 100644 --- a/servo-build-dependencies/android.sls +++ b/servo-build-dependencies/android.sls @@ -31,7 +31,7 @@ android-dependencies: android-sdk: archive.extracted: - name: /home/servo # Directory to extract into - - source: http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz + - source: https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz - source_hash: sha512=96fb71d78a8c2833afeba6df617edcd6cc4e37ecd0c3bec38c39e78204ed3c2bd54b138a56086bf5ccd95e372e3c36e72c1550c13df8232ec19537da93049284 - archive_format: tar - archive_user: servo # 2015.8 moves these to the standard user and group parameters @@ -59,7 +59,7 @@ android-sdk: android-ndk: file.managed: - name: /home/servo/android-ndk-r10e-linux-x86_64.bin - - source: http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin + - source: https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin - source_hash: sha512=8948c7bd1621e32dce554d5cd1268ffda2e9c5e6b2dda5b8cf0266ea60aa2dd6fddf8d290683fc1ef0b69d66c898226c7f52cc567dbb14352b4191ac19dfb371 - user: servo - group: servo From f0a89a5a4ba694c989f43b64274ccedb51ac3f4d Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Tue, 22 Mar 2016 08:00:44 -0400 Subject: [PATCH 4/6] Make Android states more robust to version updates Use separate directories for separate versions of the SDK, NDK, and toolchain, and use symlinks to point to the current versions. This is more robust for a few reasons: - Partially-completed upgrades to new versions won't touch existing versions on the disk - The symlinks aren't updated until the respective new version is completely installed, allowing for more transactional updates. - The symlinks also allow for constant paths in the bash_profile file and the buildbot config, which means less moving parts to break. In particular, the relevant buildbot config is on the master, and using symlinks makes it unnecessary to use Salt orchestration to gate changes to the master buildbot config on changes on the cross builders. Ideally, these states would also use file.directory with clean: True to clean out old versions of the SDK, NDK, and toolchain, but I wasn't able to get this working properly yet (the just-downloaded files would keep getting cleaned away). This also eliminates our use of cmd.wait, which was recently put on the deprecation path in Salt, and replaces it with cmd.run + creates: True. --- bash/dot.bash_profile | 8 +-- buildbot/master/master.cfg | 28 ++++----- servo-build-dependencies/android.sls | 85 +++++++++++++++++++++------- servo-build-dependencies/map.jinja | 13 +++++ 4 files changed, 95 insertions(+), 39 deletions(-) diff --git a/bash/dot.bash_profile b/bash/dot.bash_profile index 3babb243..83c91359 100644 --- a/bash/dot.bash_profile +++ b/bash/dot.bash_profile @@ -1,4 +1,4 @@ -export ANDROID_SDK=$HOME/android-sdk-linux/ -export ANDROID_NDK=$HOME/android-ndk-r10c/ -export ANDROID_TOOLCHAIN=$HOME/ndk-toolchain/ -PATH="$PATH:$HOME/android-sdk-linux/platform-tools:$HOME/ndk-toolchain/bin" +export ANDROID_SDK="$HOME/android/sdk/current" +export ANDROID_NDK="$HOME/android/ndk/current" +export ANDROID_TOOLCHAIN="$HOME/android/toolchain/current" +export PATH="$PATH:$HOME/android/sdk/current/platform-tools:$HOME/android/toolchain/current/bin" diff --git a/buildbot/master/master.cfg b/buildbot/master/master.cfg index e209bd8c..a4dfcd3c 100644 --- a/buildbot/master/master.cfg +++ b/buildbot/master/master.cfg @@ -133,9 +133,9 @@ common_test_env = { linux_test_env = dict({ 'DISPLAY': ':0', - 'CARGO_HOME': '/home/servo/.cargo', + 'CARGO_HOME': '{{ common.servo_home }}/.cargo', 'CCACHE': '/usr/bin/ccache', - 'SERVO_CACHE_DIR': '/home/servo/.servo', + 'SERVO_CACHE_DIR': '{{ common.servo_home }}/.servo', 'SHELL': '/bin/bash' }, **common_test_env) linux_headless_env = dict({'SERVO_HEADLESS': '1'}, **linux_test_env) @@ -210,10 +210,10 @@ mac_rel_css_factory = create_servo_factory([ steps.ShellCommand(command=["bash", "./etc/ci/manifest_changed.sh"], env=mac_test_env), ]) -android_compile_env = dict({'ANDROID_SDK': '/home/servo/android-sdk-linux/', - 'ANDROID_NDK': '/home/servo/android-ndk-r10e/', - 'ANDROID_TOOLCHAIN': '/home/servo/ndk-toolchain/', - 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin:/home/servo/android-sdk-linux/platform-tools:/home/servo/ndk-toolchain/bin'}, +android_compile_env = dict({'ANDROID_SDK': '{{ common.servo_home }}/android/sdk/current/', + 'ANDROID_NDK': '{{ common.servo_home }}/android/ndk/current/', + 'ANDROID_TOOLCHAIN': '{{ common.servo_home }}/android/toolchain/current/', + 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin:{{ common.servo_home }}/android/sdk/current/platform-tools:{{ common.servo_home }}/android/toolchain/current/bin'}, **linux_test_env) android_factory = create_servo_factory([ steps.Compile(command=["./mach", "build", "--android", "--dev"], env=android_compile_env), @@ -226,13 +226,13 @@ android_nightly_factory = create_servo_factory([ steps.Compile(command=["./mach", "build", "--android", "--release"], env=android_compile_env), steps.Compile(command=["./mach", "package", "-r"], env=android_compile_env), steps.ShellCommand(command=["s3cmd", "put", - "/home/servo/buildbot/slave/android-nightly/build/target/arm-linux-androideabi/release/servo.apk", + "{{ common.servo_home }}/buildbot/slave/android-nightly/build/target/arm-linux-androideabi/release/servo.apk", "s3://servo-rust/nightly/servo.apk"]), ]) -gonk_compile_env = dict({'ANDROID_SDK': '/home/servo/android-sdk-linux/', - 'ANDROID_NDK': '/home/servo/android-ndk-r10e/', - 'ANDROID_TOOLCHAIN': '/home/servo/ndk-toolchain/', +gonk_compile_env = dict({'ANDROID_SDK': '{{ common.servo_home }}/android/sdk/current/', + 'ANDROID_NDK': '{{ common.servo_home }}/android/ndk/current/', + 'ANDROID_TOOLCHAIN': '{{ common.servo_home }}/android/toolchain/current/', 'GONKDIR': '{{ common.servo_home }}/B2G/', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin:{{ common.servo_home }}/B2G/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin'}, **linux_test_env) @@ -243,7 +243,7 @@ gonk_factory = create_servo_factory([ steps.ShellCommand(command=["bash", "./etc/ci/manifest_changed.sh"], env=gonk_compile_env), ]) -arm32_compile_env = dict({'PATH': '/home/servo/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin', +arm32_compile_env = dict({'PATH': '{{ common.servo_home }}/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin', 'BUILD_TARGET': 'arm-unknown-linux-gnueabihf', 'PKG_CONFIG_ALLOW_CROSS': '1', 'PKG_CONFIG_PATH': '/usr/lib/arm-linux-gnueabihf/pkgconfig', @@ -257,7 +257,7 @@ arm32_factory = create_servo_factory([ steps.Compile(command=["./mach", "build", "--rel", "--target=arm-unknown-linux-gnueabihf"], env=arm32_compile_env), ]) -arm64_compile_env = dict({'PATH': '/home/servo/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin', +arm64_compile_env = dict({'PATH': '{{ common.servo_home }}/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin', 'BUILD_TARGET': 'aarch64-unknown-linux-gnu', 'PKG_CONFIG_ALLOW_CROSS': '1', 'PKG_CONFIG_PATH': '/usr/lib/aarch64-linux-gnu/pkgconfig', @@ -274,8 +274,8 @@ arm64_factory = create_servo_factory([ doc_factory = create_servo_factory([ steps.ShellCommand(command=["etc/ci/upload_docs.sh"], env={'TOKEN': GITHUB_DOC_TOKEN, - 'CARGO_HOME': '/home/servo/.cargo', - 'SERVO_CACHE_DIR': '/home/servo/.servo', + 'CARGO_HOME': '{{ common.servo_home }}/.cargo', + 'SERVO_CACHE_DIR': '{{ common.servo_home }}/.servo', 'SHELL': '/bin/bash'}, # important not to leak token logEnviron=False), diff --git a/servo-build-dependencies/android.sls b/servo-build-dependencies/android.sls index 2465c34a..300876b6 100644 --- a/servo-build-dependencies/android.sls +++ b/servo-build-dependencies/android.sls @@ -1,3 +1,6 @@ +{% from 'common/map.jinja' import common %} +{% from tpldir ~ '/map.jinja' import android %} + {% if '64' in grains['cpuarch'] %} enable-i386-architecture: cmd.run: @@ -28,15 +31,18 @@ android-dependencies: - require: - pkg: pip + android-sdk: archive.extracted: - - name: /home/servo # Directory to extract into - - source: https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz - - source_hash: sha512=96fb71d78a8c2833afeba6df617edcd6cc4e37ecd0c3bec38c39e78204ed3c2bd54b138a56086bf5ccd95e372e3c36e72c1550c13df8232ec19537da93049284 + - name: {{ common.servo_home }}/android/sdk/{{ android.sdk.version }} + - source: https://dl.google.com/android/android-sdk_{{ android.sdk.version }}-linux.tgz + - source_hash: sha512={{ android.sdk.sha512 }} - archive_format: tar - - archive_user: servo # 2015.8 moves these to the standard user and group parameters - - if_missing: /home/servo/android-sdk_r24.4.1-linux.tgz - cmd.wait: + - archive_user: servo + - if_missing: {{ common.servo_home }}/android/sdk/{{ android.sdk.version }}/android-sdk-linux + - require: + - user: servo + cmd.run: # The arguments to --filter are from running 'android list sdk' # Currently these are: # platform-tool: Android SDK Platform-tools, revision 23.0.1 @@ -44,43 +50,80 @@ android-sdk: - name: | expect -c ' set timeout -1; - spawn /home/servo/android-sdk-linux/tools/android - update sdk --no-ui --filter platform-tool,9; + spawn {{ common.servo_home }}/android/sdk/{{ android.sdk.version }}/android-sdk-linux/tools/android - update sdk --no-ui --filter platform-tool,9; expect { "Do you accept the license" { exp_send "y\r" ; exp_continue } eof } ' - user: servo + - creates: {{ common.servo_home }}/android/sdk/{{ android.sdk.version }}/android-sdk-linux/platform-tools - require: - pkg: android-dependencies - - watch: - archive: android-sdk +android-sdk-current: + file.symlink: + - name: {{ common.servo_home }}/android/sdk/current + - target: {{ common.servo_home }}/android/sdk/{{ android.sdk.version }}/android-sdk-linux + - user: servo + - group: servo + - require: + - cmd: android-sdk + + android-ndk: file.managed: - - name: /home/servo/android-ndk-r10e-linux-x86_64.bin - - source: https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin - - source_hash: sha512=8948c7bd1621e32dce554d5cd1268ffda2e9c5e6b2dda5b8cf0266ea60aa2dd6fddf8d290683fc1ef0b69d66c898226c7f52cc567dbb14352b4191ac19dfb371 + - name: {{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }}-linux-x86_64.bin + - source: https://dl.google.com/android/ndk/android-ndk-{{ android.ndk.version }}-linux-x86_64.bin + - source_hash: sha512={{ android.ndk.sha512 }} - user: servo - group: servo - - mode: 777 - cmd.wait: + - mode: 744 + - dir_mode: 755 + - makedirs: True + - require: + - user: servo + cmd.run: # Need to filter log output to avoid hitting log limits on Travis CI - - name: /home/servo/android-ndk-r10e-linux-x86_64.bin | grep -v Extracting + - name: '{{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }}-linux-x86_64.bin | grep -v Extracting' - user: servo - - watch: + - cwd: {{ common.servo_home }}/android/ndk/{{ android.ndk.version }} + - creates: {{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }} + - require: - file: android-ndk -android-ndk-toolset-configuration: - cmd.wait: - - name: bash /home/servo/android-ndk-r10e/build/tools/make-standalone-toolchain.sh --platform=android-18 --toolchain=arm-linux-androideabi-4.8 --install-dir='/home/servo/ndk-toolchain' --ndk-dir='/home/servo/android-ndk-r10e' +android-toolchain: + cmd.run: + - name: bash {{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }}/build/tools/make-standalone-toolchain.sh --platform=android-18 --toolchain=arm-linux-androideabi-4.8 --install-dir='{{ common.servo_home }}/android/toolchain/{{ android.ndk.version }}/android-toolchain' --ndk-dir='{{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }}' - user: servo + - creates: {{ common.servo_home }}/android/toolchain/{{ android.ndk.version }}/android-toolchain + - require: + - cmd: android-ndk + +# Toolchain depends on NDK so update the symlinks together +android-ndk-current: + file.symlink: + - name: {{ common.servo_home }}/android/ndk/current + - target: {{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }} + - user: servo + - group: servo - require: - - cmd: android-sdk - - watch: - cmd: android-ndk + - cmd: android-toolchain + +android-toolchain-current: + file.symlink: + - name: {{ common.servo_home }}/android/toolchain/current + - target: {{ common.servo_home }}/android/toolchain/{{ android.ndk.version }}/android-toolchain + - user: servo + - group: servo + - require: + - cmd: android-ndk + - cmd: android-toolchain + -/home/servo/.bash_profile: +{{ common.servo_home }}/.bash_profile: file.managed: - source: salt://bash/dot.bash_profile - user: servo diff --git a/servo-build-dependencies/map.jinja b/servo-build-dependencies/map.jinja index b0fc8fa4..8c2a08c2 100644 --- a/servo-build-dependencies/map.jinja +++ b/servo-build-dependencies/map.jinja @@ -1,3 +1,16 @@ +{% + set android = { + 'sdk': { + 'version': 'r24.4.1', + 'sha512': '96fb71d78a8c2833afeba6df617edcd6cc4e37ecd0c3bec38c39e78204ed3c2bd54b138a56086bf5ccd95e372e3c36e72c1550c13df8232ec19537da93049284' + }, + 'ndk': { + 'version': 'r10e', + 'sha512': '8948c7bd1621e32dce554d5cd1268ffda2e9c5e6b2dda5b8cf0266ea60aa2dd6fddf8d290683fc1ef0b69d66c898226c7f52cc567dbb14352b4191ac19dfb371' + } + } +%} + {% set b2g = { 'sha512': '092a3c9210ce4eae864dc07a4a17f5fc38aebdd0179d64d7b77a65bad2adc004a9599ef7bf1e6ce610abaecae87cd61af5d58ea5ac609028b429e514dfe96e77' From c04cd30ff091913eceb809bd796f67b93c8b7963 Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Tue, 22 Mar 2016 08:56:22 -0400 Subject: [PATCH 5/6] Remove .bash_profile setup The buildbot configuration already sets the correct environment variables for Android builds, so it's unnecessary to set them via .bash_profile. --- bash/dot.bash_profile | 4 ---- servo-build-dependencies/android.sls | 8 -------- 2 files changed, 12 deletions(-) delete mode 100644 bash/dot.bash_profile diff --git a/bash/dot.bash_profile b/bash/dot.bash_profile deleted file mode 100644 index 83c91359..00000000 --- a/bash/dot.bash_profile +++ /dev/null @@ -1,4 +0,0 @@ -export ANDROID_SDK="$HOME/android/sdk/current" -export ANDROID_NDK="$HOME/android/ndk/current" -export ANDROID_TOOLCHAIN="$HOME/android/toolchain/current" -export PATH="$PATH:$HOME/android/sdk/current/platform-tools:$HOME/android/toolchain/current/bin" diff --git a/servo-build-dependencies/android.sls b/servo-build-dependencies/android.sls index 300876b6..e8d2432f 100644 --- a/servo-build-dependencies/android.sls +++ b/servo-build-dependencies/android.sls @@ -121,11 +121,3 @@ android-toolchain-current: - require: - cmd: android-ndk - cmd: android-toolchain - - -{{ common.servo_home }}/.bash_profile: - file.managed: - - source: salt://bash/dot.bash_profile - - user: servo - - group: servo - - mode: 0644 From 1c21ea713a0cb586aed92076aac72adc08ec471c Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Tue, 22 Mar 2016 09:49:01 -0400 Subject: [PATCH 6/6] Drop to the warning log level for Travis archive.extracted is fairly loud because each extracted file is listed both in INFO log level output and the highstate summary. This gets around exceeding Travis's 4MB log length limit. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c8930413..91c29c7c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,7 @@ script: # Minimally validate YAML and Jinja at a basic level - sudo salt-call --id="${SALT_NODE_ID}" --retcode-passthrough state.show_highstate # Full on installation test - - sudo salt-call --id="${SALT_NODE_ID}" --retcode-passthrough state.highstate + - sudo salt-call --id="${SALT_NODE_ID}" --retcode-passthrough --log-level=warning state.highstate notifications: webhooks: http://build.servo.org:54856/travis