SORACOM Harvest and Grove - Temperature&Humidity Sensor(DHT11) example for Wio cellular targets - Seeed Wio 3G and Wio LTE-M1/NB1(BG96)

Dependencies:   DHT-2

Committer:
asagin
Date:
Thu Jun 06 01:14:27 2019 +0000
Revision:
6:deb72cbeb039
Parent:
0:fb5e1789de47
It's working!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 0:fb5e1789de47 1 properties ([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [
MACRUM 0:fb5e1789de47 2 [$class: 'StringParameterDefinition', name: 'mbed_os_revision', defaultValue: '', description: 'Revision of mbed-os to build. To access mbed-os PR use format "pull/PR number/head"'],
MACRUM 0:fb5e1789de47 3 [$class: 'BooleanParameterDefinition', name: 'smoke_test', defaultValue: true, description: 'Runs HW smoke tests on Cellular devices']
MACRUM 0:fb5e1789de47 4 ]]])
MACRUM 0:fb5e1789de47 5
MACRUM 0:fb5e1789de47 6 if (env.MBED_OS_REVISION == null) {
MACRUM 0:fb5e1789de47 7 echo 'First run in this branch, using default parameter values'
MACRUM 0:fb5e1789de47 8 env.MBED_OS_REVISION = ''
MACRUM 0:fb5e1789de47 9 }
MACRUM 0:fb5e1789de47 10 if (env.MBED_OS_REVISION == '') {
MACRUM 0:fb5e1789de47 11 echo 'Using mbed OS revision from mbed-os.lib'
MACRUM 0:fb5e1789de47 12 } else {
MACRUM 0:fb5e1789de47 13 echo "Using given mbed OS revision: ${env.MBED_OS_REVISION}"
MACRUM 0:fb5e1789de47 14 if (env.MBED_OS_REVISION.matches('pull/\\d+/head')) {
MACRUM 0:fb5e1789de47 15 echo "Revision is a Pull Request"
MACRUM 0:fb5e1789de47 16 }
MACRUM 0:fb5e1789de47 17 }
MACRUM 0:fb5e1789de47 18
MACRUM 0:fb5e1789de47 19 // Map RaaS instances to corresponding test suites
MACRUM 0:fb5e1789de47 20 def raas = [
MACRUM 0:fb5e1789de47 21 "cellular_smoke_ublox_c027.json": "ruka"
MACRUM 0:fb5e1789de47 22 //"cellular_smoke_mtb_mts_dragonfly.json": "8119"
MACRUM 0:fb5e1789de47 23 ]
MACRUM 0:fb5e1789de47 24
MACRUM 0:fb5e1789de47 25 // Supported Modems
MACRUM 0:fb5e1789de47 26 def targets = [
MACRUM 0:fb5e1789de47 27 "UBLOX_C027",
MACRUM 0:fb5e1789de47 28 "MTB_MTS_DRAGONFLY",
MACRUM 0:fb5e1789de47 29 "UBLOX_C030_U201"
MACRUM 0:fb5e1789de47 30 //"MTB_ADV_WISE_1570",
MACRUM 0:fb5e1789de47 31 //"K64F"
MACRUM 0:fb5e1789de47 32 ]
MACRUM 0:fb5e1789de47 33
MACRUM 0:fb5e1789de47 34 // Map toolchains to compilers
MACRUM 0:fb5e1789de47 35 def toolchains = [
MACRUM 0:fb5e1789de47 36 ARM: "armcc",
MACRUM 0:fb5e1789de47 37 GCC_ARM: "arm-none-eabi-gcc",
MACRUM 0:fb5e1789de47 38 IAR: "iar_arm",
MACRUM 0:fb5e1789de47 39 ARMC6: "arm6"
MACRUM 0:fb5e1789de47 40 ]
MACRUM 0:fb5e1789de47 41
MACRUM 0:fb5e1789de47 42 def stepsForParallel = [:]
MACRUM 0:fb5e1789de47 43
MACRUM 0:fb5e1789de47 44 // Jenkins pipeline does not support map.each, we need to use oldschool for loop
MACRUM 0:fb5e1789de47 45 for (int i = 0; i < targets.size(); i++) {
MACRUM 0:fb5e1789de47 46 for(int j = 0; j < toolchains.size(); j++) {
MACRUM 0:fb5e1789de47 47 def target = targets.get(i)
MACRUM 0:fb5e1789de47 48 def toolchain = toolchains.keySet().asList().get(j)
MACRUM 0:fb5e1789de47 49 def compilerLabel = toolchains.get(toolchain)
MACRUM 0:fb5e1789de47 50 def stepName = "${target} ${toolchain}"
MACRUM 0:fb5e1789de47 51
MACRUM 0:fb5e1789de47 52 stepsForParallel[stepName] = buildStep(target, compilerLabel, toolchain)
MACRUM 0:fb5e1789de47 53 }
MACRUM 0:fb5e1789de47 54 }
MACRUM 0:fb5e1789de47 55
MACRUM 0:fb5e1789de47 56 def parallelRunSmoke = [:]
MACRUM 0:fb5e1789de47 57
MACRUM 0:fb5e1789de47 58 // Need to compare boolean against string value
MACRUM 0:fb5e1789de47 59 if (params.smoke_test == true) {
MACRUM 0:fb5e1789de47 60 echo "Running smoke tests"
MACRUM 0:fb5e1789de47 61 // Generate smoke tests based on suite amount
MACRUM 0:fb5e1789de47 62 for(int i = 0; i < raas.size(); i++) {
MACRUM 0:fb5e1789de47 63 def suite_to_run = raas.keySet().asList().get(i)
MACRUM 0:fb5e1789de47 64 def raasName = raas.get(suite_to_run)
MACRUM 0:fb5e1789de47 65
MACRUM 0:fb5e1789de47 66 // Parallel execution needs unique step names. Remove .json file ending.
MACRUM 0:fb5e1789de47 67 def smokeStep = "${raasName} ${suite_to_run.substring(0, suite_to_run.indexOf('.'))}"
MACRUM 0:fb5e1789de47 68 parallelRunSmoke[smokeStep] = run_smoke(raasName, suite_to_run, toolchains, targets)
MACRUM 0:fb5e1789de47 69 }
MACRUM 0:fb5e1789de47 70 } else {
MACRUM 0:fb5e1789de47 71 echo "Skipping smoke tests"
MACRUM 0:fb5e1789de47 72 }
MACRUM 0:fb5e1789de47 73
MACRUM 0:fb5e1789de47 74 timestamps {
MACRUM 0:fb5e1789de47 75 parallel stepsForParallel
MACRUM 0:fb5e1789de47 76 parallel parallelRunSmoke
MACRUM 0:fb5e1789de47 77 }
MACRUM 0:fb5e1789de47 78
MACRUM 0:fb5e1789de47 79 def buildStep(target, compilerLabel, toolchain) {
MACRUM 0:fb5e1789de47 80 return {
MACRUM 0:fb5e1789de47 81 stage ("${target}_${compilerLabel}") {
MACRUM 0:fb5e1789de47 82 node ("${compilerLabel}") {
MACRUM 0:fb5e1789de47 83 deleteDir()
MACRUM 0:fb5e1789de47 84 dir("mbed-os-example-cellular") {
MACRUM 0:fb5e1789de47 85 checkout scm
MACRUM 0:fb5e1789de47 86 def config_file = "mbed_app.json"
MACRUM 0:fb5e1789de47 87
MACRUM 0:fb5e1789de47 88 // Configurations for different targets
MACRUM 0:fb5e1789de47 89 if ("${target}" == "UBLOX_C030_U201") {
MACRUM 0:fb5e1789de47 90 execute("sed -i 's/internet/JTM2M/' ${config_file}")
MACRUM 0:fb5e1789de47 91 }
MACRUM 0:fb5e1789de47 92
MACRUM 0:fb5e1789de47 93 if ("${target}" == "UBLOX_C027") {
MACRUM 0:fb5e1789de47 94 execute("sed -i 's/TCP/UDP/' ${config_file}")
MACRUM 0:fb5e1789de47 95 }
MACRUM 0:fb5e1789de47 96
MACRUM 0:fb5e1789de47 97 if ("${target}" == "MTB_ADV_WISE_1570") {
MACRUM 0:fb5e1789de47 98 execute("sed -i 's/TCP/UDP/' ${config_file}")
MACRUM 0:fb5e1789de47 99 execute("sed -i 's/\"lwip.ppp-enabled\": true,/\"lwip.ppp-enabled\": false,/' ${config_file}")
MACRUM 0:fb5e1789de47 100 execute("sed -i 's/\"platform.default-serial-baud-rate\": 115200,/\"platform.default-serial-baud-rate\": 9600,/' ${config_file}")
MACRUM 0:fb5e1789de47 101 }
MACRUM 0:fb5e1789de47 102
MACRUM 0:fb5e1789de47 103 if ("${target}" == "K64F") {
MACRUM 0:fb5e1789de47 104 execute("sed -i 's/TCP/UDP/' ${config_file}")
MACRUM 0:fb5e1789de47 105 execute("sed -i 's/\"lwip.ppp-enabled\": true,/\"lwip.ppp-enabled\": false,/' ${config_file}")
MACRUM 0:fb5e1789de47 106 execute("sed -i 's/\"target_overrides\": {/\"macros\": [\"CELLULAR_DEVICE=QUECTEL_BG96\", \"MDMRXD=PTC16\", \"MDMTXD=PTC17\"], \"target_overrides\": {/' ${config_file}")
MACRUM 0:fb5e1789de47 107 }
MACRUM 0:fb5e1789de47 108 // Set mbed-os to revision received as parameter
MACRUM 0:fb5e1789de47 109 execute ("mbed deploy --protocol ssh")
MACRUM 0:fb5e1789de47 110 if (env.MBED_OS_REVISION != '') {
MACRUM 0:fb5e1789de47 111 dir("mbed-os") {
MACRUM 0:fb5e1789de47 112 if (env.MBED_OS_REVISION.matches('pull/\\d+/head')) {
MACRUM 0:fb5e1789de47 113 // Use mbed-os PR and switch to branch created
MACRUM 0:fb5e1789de47 114 execute("git fetch origin ${env.MBED_OS_REVISION}:_PR_")
MACRUM 0:fb5e1789de47 115 execute("git checkout _PR_")
MACRUM 0:fb5e1789de47 116 } else {
MACRUM 0:fb5e1789de47 117 execute ("git checkout ${env.MBED_OS_REVISION}")
MACRUM 0:fb5e1789de47 118 }
MACRUM 0:fb5e1789de47 119 }
MACRUM 0:fb5e1789de47 120 }
MACRUM 0:fb5e1789de47 121
MACRUM 0:fb5e1789de47 122 execute ("mbed compile --build out/${target}_${toolchain}/ -m ${target} -t ${toolchain} -c --app-config ${config_file}")
MACRUM 0:fb5e1789de47 123 }
MACRUM 0:fb5e1789de47 124 if ("${target}" == "MTB_ADV_WISE_1570") {
MACRUM 0:fb5e1789de47 125 stash name: "${target}_${toolchain}", includes: '**/mbed-os-example-cellular.hex'
MACRUM 0:fb5e1789de47 126 archive '**/mbed-os-example-cellular.hex'
MACRUM 0:fb5e1789de47 127 }
MACRUM 0:fb5e1789de47 128 else {
MACRUM 0:fb5e1789de47 129 stash name: "${target}_${toolchain}", includes: '**/mbed-os-example-cellular.bin'
MACRUM 0:fb5e1789de47 130 archive '**/mbed-os-example-cellular.bin'
MACRUM 0:fb5e1789de47 131 }
MACRUM 0:fb5e1789de47 132 step([$class: 'WsCleanup'])
MACRUM 0:fb5e1789de47 133 }
MACRUM 0:fb5e1789de47 134 }
MACRUM 0:fb5e1789de47 135 }
MACRUM 0:fb5e1789de47 136 }
MACRUM 0:fb5e1789de47 137
MACRUM 0:fb5e1789de47 138 def run_smoke(raasName, suite_to_run, toolchains, targets) {
MACRUM 0:fb5e1789de47 139 return {
MACRUM 0:fb5e1789de47 140 env.RAAS_USERNAME = "user"
MACRUM 0:fb5e1789de47 141 env.RAAS_PASSWORD = "user"
MACRUM 0:fb5e1789de47 142 // Remove .json from suite name
MACRUM 0:fb5e1789de47 143 def suiteName = suite_to_run.substring(0, suite_to_run.indexOf('.'))
MACRUM 0:fb5e1789de47 144 stage ("smoke_${raasName}_${suiteName}") {
MACRUM 0:fb5e1789de47 145 //node is actually the type of machine, i.e., mesh-test boild down to linux
MACRUM 0:fb5e1789de47 146 node ("linux") {
MACRUM 0:fb5e1789de47 147 deleteDir()
MACRUM 0:fb5e1789de47 148 dir("mbed-clitest") {
MACRUM 0:fb5e1789de47 149 git "git@github.com:ARMmbed/mbed-clitest.git"
MACRUM 0:fb5e1789de47 150 execute("git checkout ${env.LATEST_CLITEST_STABLE_REL}")
MACRUM 0:fb5e1789de47 151 dir("mbed-clitest-suites") {
MACRUM 0:fb5e1789de47 152 git "git@github.com:ARMmbed/mbed-clitest-suites.git"
MACRUM 0:fb5e1789de47 153 execute("git submodule update --init --recursive")
MACRUM 0:fb5e1789de47 154 execute("git all checkout master")
MACRUM 0:fb5e1789de47 155 dir("cellular") {
MACRUM 0:fb5e1789de47 156 execute("git checkout master")
MACRUM 0:fb5e1789de47 157 }
MACRUM 0:fb5e1789de47 158 }
MACRUM 0:fb5e1789de47 159
MACRUM 0:fb5e1789de47 160 for (int i = 0; i < targets.size(); i++) {
MACRUM 0:fb5e1789de47 161 for(int j = 0; j < toolchains.size(); j++) {
MACRUM 0:fb5e1789de47 162 def target = targets.get(i)
MACRUM 0:fb5e1789de47 163 def toolchain = toolchains.keySet().asList().get(j)
MACRUM 0:fb5e1789de47 164 unstash "${target}_${toolchain}"
MACRUM 0:fb5e1789de47 165 }
MACRUM 0:fb5e1789de47 166 }
MACRUM 0:fb5e1789de47 167 execute("python clitest.py --suitedir mbed-clitest-suites/suites/ --suite ${suite_to_run} --type hardware --reset \
MACRUM 0:fb5e1789de47 168 --raas https://${raasName}.mbedcloudtesting.com:443 --tcdir mbed-clitest-suites/cellular --raas_queue --raas_queue_timeout 3600 \
MACRUM 0:fb5e1789de47 169 --raas_share_allocs --failure_return_value -vvv -w --log log_${raasName}_${suiteName}")
MACRUM 0:fb5e1789de47 170 archive "log_${raasName}_${suiteName}/**/*"
MACRUM 0:fb5e1789de47 171 }
MACRUM 0:fb5e1789de47 172 }
MACRUM 0:fb5e1789de47 173 }
MACRUM 0:fb5e1789de47 174 }
MACRUM 0:fb5e1789de47 175 }