|
18 | 18 |
|
19 | 19 | # |
20 | 20 | # Description: |
21 | | -# This file is the script for Travis CI hosted, distributed continuous |
| 21 | +# This file is the script for Travis CI hosted, distributed continuous |
22 | 22 | # integration 'before_install' trigger of the 'install' step. |
23 | 23 | # |
24 | 24 |
|
25 | | -NORDIC_SDK_FOR_THREAD_URL=https://www.nordicsemi.com/-/media/Software-and-other-downloads/SDKs/nRF5-SDK-for-Thread/nRF5-SDK-for-Thread-and-Zigbee/nRF5SDKforThreadandZigbee20029775ac.zip |
| 25 | +TMPDIR=${TMPDIR-/tmp} |
26 | 26 |
|
27 | | -NORDIC_COMMAND_LINE_TOOLS_URL=https://www.nordicsemi.com/-/media/Software-and-other-downloads/Desktop-software/nRF5-command-line-tools/sw/nRF-Command-Line-Tools_9_8_1_Linux-x86_64.tar |
| 27 | +HASH_CMD="shasum -a 256" |
| 28 | +CACHEDIR=${TRAVIS_BUILD_DIR}/cache |
28 | 29 |
|
29 | | -ARM_GCC_TOOLCHAIN_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2 |
| 30 | +FetchURL() { |
| 31 | + local URL="$1" |
| 32 | + local LOCAL_FILE_NAME=$2 |
| 33 | + local HASH=$3 |
30 | 34 |
|
31 | | -TMPDIR=${TMPDIR-/tmp} |
| 35 | + # NOTE: 2 spaces required between hash value and file name. |
| 36 | + if ! (echo "${HASH} ${LOCAL_FILE_NAME}" | ${HASH_CMD} -c --status >/dev/null 2>&1); then |
| 37 | + rm -f ${LOCAL_FILE_NAME} |
| 38 | + wget -O ${LOCAL_FILE_NAME} -nv "${URL}" || exit 1 |
| 39 | + fi |
| 40 | +} |
| 41 | + |
| 42 | +# Tool download links |
| 43 | +# |
| 44 | +export NORDIC_SDK_URL=https://www.nordicsemi.com/-/media/Software-and-other-downloads/SDKs/nRF5-SDK-for-Thread/nRF5-SDK-for-Thread-and-Zigbee/nRF5SDKforThreadandZigbeev300d310e71.zip |
| 45 | +NORDIC_SDK_HASH=39842f47cbd1b9ba18a892de2732d5eb0610d7ec38f10ec48aeb326e92e06444 |
| 46 | + |
| 47 | +if test "${TRAVIS_OS_NAME}" = "linux"; then |
| 48 | + |
| 49 | + export NORDIC_COMMAND_LINE_TOOLS_URL=https://www.nordicsemi.com/-/media/Software-and-other-downloads/Desktop-software/nRF-command-line-tools/sw/Versions-9-x-x/nRF-Command-Line-Tools_9_8_1_Linux-x86_64.tar |
| 50 | + NORDIC_COMMAND_LINE_TOOLS_HASH=ed3eb5325f9e1dcbfc2046f3b347b7b76a802ddb31a8b113965b4097a893f6d1 |
| 51 | + |
| 52 | + export ARM_GCC_TOOLCHAIN_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2 |
| 53 | + ARM_GCC_TOOLCHAIN_HASH=bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69 |
| 54 | + |
| 55 | +elif test "${TRAVIS_OS_NAME}" = "osx"; then |
| 56 | + |
| 57 | + export NORDIC_COMMAND_LINE_TOOLS_URL=https://www.nordicsemi.com/-/media/Software-and-other-downloads/Desktop-software/nRF-command-line-tools/sw/Versions-9-x-x/nRF-Command-Line-Tools_9_8_1_OSX.tar |
| 58 | + NORDIC_COMMAND_LINE_TOOLS_HASH=b4b77e4368267ba948f5bedbdc1be7699322e453c4e9f097f48763b78e192ff2 |
| 59 | + |
| 60 | + export ARM_GCC_TOOLCHAIN_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-mac.tar.bz2 |
| 61 | + ARM_GCC_TOOLCHAIN_HASH=c1c4af5226d52bd1b688cf1bd78f60eeea53b19fb337ef1df4380d752ba88759 |
| 62 | + |
| 63 | +fi |
32 | 64 |
|
33 | 65 | die() |
34 | 66 | { |
@@ -76,38 +108,45 @@ installdeps() |
76 | 108 |
|
77 | 109 | nrf5-sdk) |
78 | 110 | # Install Nordic nRF52840 SDK for Thread and Zigbee |
79 | | - wget -O ${TMPDIR}/nordic_sdk_for_thread.zip -nv ${NORDIC_SDK_FOR_THREAD_URL} || exit 1 |
80 | | - unzip -d ${TRAVIS_BUILD_DIR}/nRF5x-SDK-for-Thread-and-Zigbee -q ${TMPDIR}/nordic_sdk_for_thread.zip || exit 1 |
81 | | - rm ${TMPDIR}/nordic_sdk_for_thread.zip |
82 | | - |
| 111 | + # |
| 112 | + mkdir -p ${CACHEDIR} |
| 113 | + NORDIC_SDK_FILE_NAME=${CACHEDIR}/`basename ${NORDIC_SDK_URL}` |
| 114 | + FetchURL "${NORDIC_SDK_URL}" ${NORDIC_SDK_FILE_NAME} ${NORDIC_SDK_HASH} |
| 115 | + unzip -d ${TRAVIS_BUILD_DIR}/nRF5x-SDK-for-Thread-and-Zigbee -q ${NORDIC_SDK_FILE_NAME} || exit 1 |
| 116 | + |
83 | 117 | ;; |
84 | | - |
| 118 | + |
85 | 119 | nrf5-tools) |
86 | 120 | # Install Nordic nRF5x Command Line Tools |
87 | | - wget -O ${TMPDIR}/nordic_command_line_tools.tar -nv ${NORDIC_COMMAND_LINE_TOOLS_URL} || exit 1 |
| 121 | + # |
| 122 | + mkdir -p ${CACHEDIR} |
| 123 | + NORDIC_COMMAND_LINE_TOOLS_FILE_NAME=${CACHEDIR}/`basename ${NORDIC_COMMAND_LINE_TOOLS_URL}` |
| 124 | + FetchURL "${NORDIC_COMMAND_LINE_TOOLS_URL}" ${NORDIC_COMMAND_LINE_TOOLS_FILE_NAME} ${NORDIC_COMMAND_LINE_TOOLS_HASH} |
88 | 125 | mkdir ${TRAVIS_BUILD_DIR}/nRF5x-Command-Line-Tools |
89 | | - tar -C ${TRAVIS_BUILD_DIR}/nRF5x-Command-Line-Tools -xf ${TMPDIR}/nordic_command_line_tools.tar || exit 1 |
90 | | - rm ${TMPDIR}/nordic_command_line_tools.tar |
| 126 | + tar -C ${TRAVIS_BUILD_DIR}/nRF5x-Command-Line-Tools -xf ${NORDIC_COMMAND_LINE_TOOLS_FILE_NAME} || exit 1 |
91 | 127 |
|
92 | 128 | ;; |
93 | 129 |
|
94 | 130 | arm-gcc) |
95 | 131 | # Install ARM GCC Toolchain |
96 | | - wget -O ${TMPDIR}/arm_gcc_toolchain.tar.bz2 -nv ${ARM_GCC_TOOLCHAIN_URL} || exit 1 |
| 132 | + # |
| 133 | + mkdir -p ${CACHEDIR} |
| 134 | + ARM_GCC_TOOLCHAIN_FILE_NAME=${CACHEDIR}/`basename ${ARM_GCC_TOOLCHAIN_URL}` |
| 135 | + FetchURL "${ARM_GCC_TOOLCHAIN_URL}" ${ARM_GCC_TOOLCHAIN_FILE_NAME} ${ARM_GCC_TOOLCHAIN_HASH} |
97 | 136 | mkdir ${TRAVIS_BUILD_DIR}/arm |
98 | | - tar -jxf ${TMPDIR}/arm_gcc_toolchain.tar.bz2 --directory ${TRAVIS_BUILD_DIR}/arm || exit 1 |
99 | | - rm ${TMPDIR}/arm_gcc_toolchain.tar.bz2 |
| 137 | + tar -jxf ${ARM_GCC_TOOLCHAIN_FILE_NAME} --directory ${TRAVIS_BUILD_DIR}/arm || exit 1 |
100 | 138 |
|
101 | 139 | ;; |
102 | 140 |
|
| 141 | + |
103 | 142 | osx-autotools) |
104 | 143 | HOMEBREW_NO_AUTO_UPDATE=1 brew install automake libtool |
105 | 144 | ;; |
106 | | - |
| 145 | + |
107 | 146 | osx-openssl) |
108 | 147 | HOMEBREW_NO_AUTO_UPDATE=1 brew install openssl |
109 | 148 | ;; |
110 | | - |
| 149 | + |
111 | 150 | esac |
112 | 151 | } |
113 | 152 |
|
@@ -135,8 +174,11 @@ case "${BUILD_TARGET}" in |
135 | 174 |
|
136 | 175 | ;; |
137 | 176 |
|
138 | | - nrf52840) |
139 | | - .travis/prepare_nrf52840.sh |
| 177 | + nrf52840-lock-example) |
| 178 | + installdeps "nrf5-sdk" |
| 179 | + installdeps "nrf5-tools" |
| 180 | + installdeps "arm-gcc" |
| 181 | + .travis/prepare_nrf52840_lock_example.sh |
140 | 182 |
|
141 | 183 | ;; |
142 | 184 |
|
|
0 commit comments