Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
features/frameworks/mbed-trace/Jenkinsfile@0:5b88d5760320, 2019-12-17 (annotated)
- Committer:
- kenjiArai
- Date:
- Tue Dec 17 23:23:45 2019 +0000
- Revision:
- 0:5b88d5760320
mbed-os5 only for TYBLE16
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| kenjiArai | 0:5b88d5760320 | 1 | echo "Start to build" |
| kenjiArai | 0:5b88d5760320 | 2 | |
| kenjiArai | 0:5b88d5760320 | 3 | properties ([ |
| kenjiArai | 0:5b88d5760320 | 4 | buildDiscarder( |
| kenjiArai | 0:5b88d5760320 | 5 | logRotator( |
| kenjiArai | 0:5b88d5760320 | 6 | artifactNumToKeepStr: '10', |
| kenjiArai | 0:5b88d5760320 | 7 | numToKeepStr: '100' |
| kenjiArai | 0:5b88d5760320 | 8 | ) |
| kenjiArai | 0:5b88d5760320 | 9 | ) |
| kenjiArai | 0:5b88d5760320 | 10 | ]) |
| kenjiArai | 0:5b88d5760320 | 11 | |
| kenjiArai | 0:5b88d5760320 | 12 | // List of targets to compile |
| kenjiArai | 0:5b88d5760320 | 13 | def morpheusTargets = [ |
| kenjiArai | 0:5b88d5760320 | 14 | //"LPC1768", |
| kenjiArai | 0:5b88d5760320 | 15 | //"NUCLEO_F401RE", |
| kenjiArai | 0:5b88d5760320 | 16 | //"NRF51DK", |
| kenjiArai | 0:5b88d5760320 | 17 | "K64F" |
| kenjiArai | 0:5b88d5760320 | 18 | ] |
| kenjiArai | 0:5b88d5760320 | 19 | // Map morpheus toolchains to compiler labels on Jenkins |
| kenjiArai | 0:5b88d5760320 | 20 | def toolchains = [ |
| kenjiArai | 0:5b88d5760320 | 21 | ARM: "armcc", |
| kenjiArai | 0:5b88d5760320 | 22 | IAR: "iar_arm", |
| kenjiArai | 0:5b88d5760320 | 23 | GCC_ARM: "arm-none-eabi-gcc" |
| kenjiArai | 0:5b88d5760320 | 24 | ] |
| kenjiArai | 0:5b88d5760320 | 25 | // yotta target includes toolchain |
| kenjiArai | 0:5b88d5760320 | 26 | def yottaTargets = [ |
| kenjiArai | 0:5b88d5760320 | 27 | "frdm-k64f-gcc": "gcc", |
| kenjiArai | 0:5b88d5760320 | 28 | "frdm-k64f-armcc": "armcc", |
| kenjiArai | 0:5b88d5760320 | 29 | "nrf51dk-gcc": "gcc", |
| kenjiArai | 0:5b88d5760320 | 30 | "stm32f429i-disco-gcc": "gcc", |
| kenjiArai | 0:5b88d5760320 | 31 | "x86-linux-native": "linux && astyle" |
| kenjiArai | 0:5b88d5760320 | 32 | ] |
| kenjiArai | 0:5b88d5760320 | 33 | |
| kenjiArai | 0:5b88d5760320 | 34 | // Initial maps for parallel build steps |
| kenjiArai | 0:5b88d5760320 | 35 | def stepsForParallel = [:] |
| kenjiArai | 0:5b88d5760320 | 36 | // Jenkins pipeline does not support map.each, we need to use oldschool for loop |
| kenjiArai | 0:5b88d5760320 | 37 | for (int i = 0; i < morpheusTargets.size(); i++) { |
| kenjiArai | 0:5b88d5760320 | 38 | for(int j = 0; j < toolchains.size(); j++) { |
| kenjiArai | 0:5b88d5760320 | 39 | def target = morpheusTargets.get(i) |
| kenjiArai | 0:5b88d5760320 | 40 | def toolchain = toolchains.keySet().asList().get(j) |
| kenjiArai | 0:5b88d5760320 | 41 | def compilerLabel = toolchains.get(toolchain) |
| kenjiArai | 0:5b88d5760320 | 42 | def stepName = "mbed-os5-${target} ${toolchain}" |
| kenjiArai | 0:5b88d5760320 | 43 | stepsForParallel[stepName] = morpheusBuildStep(target, compilerLabel, toolchain) |
| kenjiArai | 0:5b88d5760320 | 44 | } |
| kenjiArai | 0:5b88d5760320 | 45 | } |
| kenjiArai | 0:5b88d5760320 | 46 | // map yotta steps |
| kenjiArai | 0:5b88d5760320 | 47 | for (int i = 0; i < yottaTargets.size(); i++) { |
| kenjiArai | 0:5b88d5760320 | 48 | def target = yottaTargets.keySet().asList().get(i) |
| kenjiArai | 0:5b88d5760320 | 49 | def compilerLabel = yottaTargets.get(target) |
| kenjiArai | 0:5b88d5760320 | 50 | def stepName = "mbed-os3-${target}" |
| kenjiArai | 0:5b88d5760320 | 51 | stepsForParallel[stepName] = yottaBuildStep(target, compilerLabel) |
| kenjiArai | 0:5b88d5760320 | 52 | } |
| kenjiArai | 0:5b88d5760320 | 53 | |
| kenjiArai | 0:5b88d5760320 | 54 | /* Jenkins does not allow stages inside parallel execution, |
| kenjiArai | 0:5b88d5760320 | 55 | * https://issues.jenkins-ci.org/browse/JENKINS-26107 will solve this by adding labeled blocks |
| kenjiArai | 0:5b88d5760320 | 56 | */ |
| kenjiArai | 0:5b88d5760320 | 57 | // Actually run the steps in parallel - parallel takes a map as an argument, hence the above. |
| kenjiArai | 0:5b88d5760320 | 58 | timestamps { |
| kenjiArai | 0:5b88d5760320 | 59 | timeout(time: 30, unit: "MINUTES") { |
| kenjiArai | 0:5b88d5760320 | 60 | parallel stepsForParallel |
| kenjiArai | 0:5b88d5760320 | 61 | } |
| kenjiArai | 0:5b88d5760320 | 62 | } |
| kenjiArai | 0:5b88d5760320 | 63 | |
| kenjiArai | 0:5b88d5760320 | 64 | def execute(cmd) { |
| kenjiArai | 0:5b88d5760320 | 65 | if(isUnix()) { |
| kenjiArai | 0:5b88d5760320 | 66 | sh "${cmd}" |
| kenjiArai | 0:5b88d5760320 | 67 | } else { |
| kenjiArai | 0:5b88d5760320 | 68 | bat "${cmd}" |
| kenjiArai | 0:5b88d5760320 | 69 | } |
| kenjiArai | 0:5b88d5760320 | 70 | } |
| kenjiArai | 0:5b88d5760320 | 71 | |
| kenjiArai | 0:5b88d5760320 | 72 | //Create morpheus build steps for parallel execution |
| kenjiArai | 0:5b88d5760320 | 73 | def morpheusBuildStep(target, compilerLabel, toolchain) { |
| kenjiArai | 0:5b88d5760320 | 74 | return { |
| kenjiArai | 0:5b88d5760320 | 75 | node ("${compilerLabel}") { |
| kenjiArai | 0:5b88d5760320 | 76 | deleteDir() |
| kenjiArai | 0:5b88d5760320 | 77 | dir("mbed-trace") { |
| kenjiArai | 0:5b88d5760320 | 78 | String buildName = "mbed-os5-${target}-${toolchain}" |
| kenjiArai | 0:5b88d5760320 | 79 | def scmVars = checkout scm |
| kenjiArai | 0:5b88d5760320 | 80 | env.GIT_COMMIT_HASH = scmVars.GIT_COMMIT |
| kenjiArai | 0:5b88d5760320 | 81 | setBuildStatus('PENDING', "build ${buildName}", 'build starts') |
| kenjiArai | 0:5b88d5760320 | 82 | stage ("build:${buildName}") { |
| kenjiArai | 0:5b88d5760320 | 83 | try{ |
| kenjiArai | 0:5b88d5760320 | 84 | execute("mbed --version") |
| kenjiArai | 0:5b88d5760320 | 85 | execute("echo https://github.com/armmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 > mbed-os.lib") |
| kenjiArai | 0:5b88d5760320 | 86 | execute("mbed deploy") |
| kenjiArai | 0:5b88d5760320 | 87 | execute("rm -rf ./mbed-os/features/frameworks/mbed-trace") |
| kenjiArai | 0:5b88d5760320 | 88 | execute("mbed compile -m ${target} -t ${toolchain} --library") |
| kenjiArai | 0:5b88d5760320 | 89 | setBuildStatus('SUCCESS', "build ${buildName}", "build done") |
| kenjiArai | 0:5b88d5760320 | 90 | } catch (err) { |
| kenjiArai | 0:5b88d5760320 | 91 | echo "Caught exception: ${err}" |
| kenjiArai | 0:5b88d5760320 | 92 | setBuildStatus('FAILURE', "build ${buildName}", "build failed") |
| kenjiArai | 0:5b88d5760320 | 93 | throw err |
| kenjiArai | 0:5b88d5760320 | 94 | } |
| kenjiArai | 0:5b88d5760320 | 95 | } |
| kenjiArai | 0:5b88d5760320 | 96 | stage("build:example:${buildName}") { |
| kenjiArai | 0:5b88d5760320 | 97 | execute("mkdir ../example-mbed-os-5 || true") |
| kenjiArai | 0:5b88d5760320 | 98 | execute("cp -R example/mbed-os-5 ../example-mbed-os-5") |
| kenjiArai | 0:5b88d5760320 | 99 | dir("../example-mbed-os-5") { |
| kenjiArai | 0:5b88d5760320 | 100 | def exampleName = "example-${buildName}" |
| kenjiArai | 0:5b88d5760320 | 101 | setBuildStatus('PENDING', "build ${exampleName}", 'build starts') |
| kenjiArai | 0:5b88d5760320 | 102 | try { |
| kenjiArai | 0:5b88d5760320 | 103 | execute("echo \"https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9\" > mbed-os.lib") |
| kenjiArai | 0:5b88d5760320 | 104 | execute("echo \"https://github.com/ARMmbed/mbed-trace#${env.GIT_COMMIT_HASH}\" > mbed-trace.lib") |
| kenjiArai | 0:5b88d5760320 | 105 | execute("mbed new .") |
| kenjiArai | 0:5b88d5760320 | 106 | execute("mbed deploy") |
| kenjiArai | 0:5b88d5760320 | 107 | execute("rm -rf ./mbed-os/features/frameworks/mbed-trace") |
| kenjiArai | 0:5b88d5760320 | 108 | execute("rm -rf ./mbed-trace/example") |
| kenjiArai | 0:5b88d5760320 | 109 | execute("rm -rf ./mbed-trace/test") |
| kenjiArai | 0:5b88d5760320 | 110 | execute("mbed compile -t ${toolchain} -m ${target}") |
| kenjiArai | 0:5b88d5760320 | 111 | setBuildStatus('SUCCESS', "build ${exampleName}", "build done") |
| kenjiArai | 0:5b88d5760320 | 112 | } catch(err) { |
| kenjiArai | 0:5b88d5760320 | 113 | echo "Caught exception: ${err}" |
| kenjiArai | 0:5b88d5760320 | 114 | setBuildStatus('FAILURE', "build ${exampleName}", "build failed") |
| kenjiArai | 0:5b88d5760320 | 115 | currentBuild.result = 'FAILURE' |
| kenjiArai | 0:5b88d5760320 | 116 | } finally { |
| kenjiArai | 0:5b88d5760320 | 117 | // clean up |
| kenjiArai | 0:5b88d5760320 | 118 | postBuild(buildName, false) |
| kenjiArai | 0:5b88d5760320 | 119 | step([$class: 'WsCleanup']) |
| kenjiArai | 0:5b88d5760320 | 120 | } |
| kenjiArai | 0:5b88d5760320 | 121 | } |
| kenjiArai | 0:5b88d5760320 | 122 | } |
| kenjiArai | 0:5b88d5760320 | 123 | } |
| kenjiArai | 0:5b88d5760320 | 124 | } |
| kenjiArai | 0:5b88d5760320 | 125 | } |
| kenjiArai | 0:5b88d5760320 | 126 | } |
| kenjiArai | 0:5b88d5760320 | 127 | |
| kenjiArai | 0:5b88d5760320 | 128 | //Create yotta build steps for parallel execution |
| kenjiArai | 0:5b88d5760320 | 129 | def yottaBuildStep(target, compilerLabel) { |
| kenjiArai | 0:5b88d5760320 | 130 | return { |
| kenjiArai | 0:5b88d5760320 | 131 | String buildName = "mbed-os3-${target}" |
| kenjiArai | 0:5b88d5760320 | 132 | node ("${compilerLabel}") { |
| kenjiArai | 0:5b88d5760320 | 133 | deleteDir() |
| kenjiArai | 0:5b88d5760320 | 134 | dir("mbed-trace") { |
| kenjiArai | 0:5b88d5760320 | 135 | def scmVars = checkout scm |
| kenjiArai | 0:5b88d5760320 | 136 | env.GIT_COMMIT_HASH = scmVars.GIT_COMMIT |
| kenjiArai | 0:5b88d5760320 | 137 | def isTest = target == "x86-linux-native" // tests are valid only in linux target |
| kenjiArai | 0:5b88d5760320 | 138 | stage ("build:${buildName}") { |
| kenjiArai | 0:5b88d5760320 | 139 | setBuildStatus('PENDING', "build ${buildName}", 'build starts') |
| kenjiArai | 0:5b88d5760320 | 140 | try{ |
| kenjiArai | 0:5b88d5760320 | 141 | execute("yotta --version") |
| kenjiArai | 0:5b88d5760320 | 142 | execute("yotta target $target") |
| kenjiArai | 0:5b88d5760320 | 143 | execute("yotta --plain build mbed-trace") |
| kenjiArai | 0:5b88d5760320 | 144 | setBuildStatus('SUCCESS', "build ${buildName}", "build done") |
| kenjiArai | 0:5b88d5760320 | 145 | } catch (err) { |
| kenjiArai | 0:5b88d5760320 | 146 | echo "Caught exception: ${err}" |
| kenjiArai | 0:5b88d5760320 | 147 | setBuildStatus('FAILURE', "build ${buildName}", "build failed") |
| kenjiArai | 0:5b88d5760320 | 148 | currentBuild.result = 'FAILURE' |
| kenjiArai | 0:5b88d5760320 | 149 | } |
| kenjiArai | 0:5b88d5760320 | 150 | } // stage |
| kenjiArai | 0:5b88d5760320 | 151 | if (isTest) { |
| kenjiArai | 0:5b88d5760320 | 152 | stage("test:${buildName}") { |
| kenjiArai | 0:5b88d5760320 | 153 | setBuildStatus('PENDING', "test ${buildName}", 'test starts') |
| kenjiArai | 0:5b88d5760320 | 154 | try { |
| kenjiArai | 0:5b88d5760320 | 155 | execute("yotta test mbed_trace_test") |
| kenjiArai | 0:5b88d5760320 | 156 | execute("lcov --base-directory . --directory . --capture --output-file coverage.info") |
| kenjiArai | 0:5b88d5760320 | 157 | execute("genhtml -o ./test_coverage coverage.info") |
| kenjiArai | 0:5b88d5760320 | 158 | execute("gcovr -x -o junit.xml") |
| kenjiArai | 0:5b88d5760320 | 159 | execute("cppcheck --enable=all --std=c99 --inline-suppr --template=\"{file},{line},{severity},{id},{message}\" source 2> cppcheck.txt") |
| kenjiArai | 0:5b88d5760320 | 160 | |
| kenjiArai | 0:5b88d5760320 | 161 | // check if astyle is correct |
| kenjiArai | 0:5b88d5760320 | 162 | execute("astyle --options=.astylerc source/*.c mbed-trace/*.h") |
| kenjiArai | 0:5b88d5760320 | 163 | // check differency |
| kenjiArai | 0:5b88d5760320 | 164 | execute("git diff-index -p --exit-code HEAD") |
| kenjiArai | 0:5b88d5760320 | 165 | |
| kenjiArai | 0:5b88d5760320 | 166 | setBuildStatus('SUCCESS', "test ${buildName}", "test done") |
| kenjiArai | 0:5b88d5760320 | 167 | } catch(err) { |
| kenjiArai | 0:5b88d5760320 | 168 | echo "Caught exception: ${err}" |
| kenjiArai | 0:5b88d5760320 | 169 | setBuildStatus('FAILURE', "test ${buildName}", "test failed") |
| kenjiArai | 0:5b88d5760320 | 170 | currentBuild.result = 'FAILURE' |
| kenjiArai | 0:5b88d5760320 | 171 | } |
| kenjiArai | 0:5b88d5760320 | 172 | } // stage |
| kenjiArai | 0:5b88d5760320 | 173 | stage("example:${buildName}") { |
| kenjiArai | 0:5b88d5760320 | 174 | dir("example/linux") { |
| kenjiArai | 0:5b88d5760320 | 175 | def exampleName = "example-linux" |
| kenjiArai | 0:5b88d5760320 | 176 | setBuildStatus('PENDING', "build ${exampleName}", 'build starts') |
| kenjiArai | 0:5b88d5760320 | 177 | try { |
| kenjiArai | 0:5b88d5760320 | 178 | execute("make") |
| kenjiArai | 0:5b88d5760320 | 179 | setBuildStatus('SUCCESS', "build ${exampleName}", "build done") |
| kenjiArai | 0:5b88d5760320 | 180 | } catch(err) { |
| kenjiArai | 0:5b88d5760320 | 181 | echo "Caught exception: ${err}" |
| kenjiArai | 0:5b88d5760320 | 182 | setBuildStatus('FAILURE', "build ${exampleName}", "build failed") |
| kenjiArai | 0:5b88d5760320 | 183 | currentBuild.result = 'FAILURE' |
| kenjiArai | 0:5b88d5760320 | 184 | } |
| kenjiArai | 0:5b88d5760320 | 185 | } |
| kenjiArai | 0:5b88d5760320 | 186 | } // stage |
| kenjiArai | 0:5b88d5760320 | 187 | |
| kenjiArai | 0:5b88d5760320 | 188 | stage("leak-check:${buildName}") { |
| kenjiArai | 0:5b88d5760320 | 189 | dir("example/linux") { |
| kenjiArai | 0:5b88d5760320 | 190 | def stageName = "leak-check" |
| kenjiArai | 0:5b88d5760320 | 191 | setBuildStatus('PENDING', "test ${stageName}", 'test starts') |
| kenjiArai | 0:5b88d5760320 | 192 | try { |
| kenjiArai | 0:5b88d5760320 | 193 | execute("./memtest.sh") |
| kenjiArai | 0:5b88d5760320 | 194 | setBuildStatus('SUCCESS', "test ${stageName}", "test done") |
| kenjiArai | 0:5b88d5760320 | 195 | } catch(err) { |
| kenjiArai | 0:5b88d5760320 | 196 | echo "Caught exception: ${err}" |
| kenjiArai | 0:5b88d5760320 | 197 | setBuildStatus('FAILURE', "test ${stageName}", "test failed") |
| kenjiArai | 0:5b88d5760320 | 198 | currentBuild.result = 'FAILURE' |
| kenjiArai | 0:5b88d5760320 | 199 | } |
| kenjiArai | 0:5b88d5760320 | 200 | } |
| kenjiArai | 0:5b88d5760320 | 201 | } // stage |
| kenjiArai | 0:5b88d5760320 | 202 | } // if linux |
| kenjiArai | 0:5b88d5760320 | 203 | postBuild(buildName, isTest) |
| kenjiArai | 0:5b88d5760320 | 204 | step([$class: 'WsCleanup']) |
| kenjiArai | 0:5b88d5760320 | 205 | } // dir |
| kenjiArai | 0:5b88d5760320 | 206 | } |
| kenjiArai | 0:5b88d5760320 | 207 | } |
| kenjiArai | 0:5b88d5760320 | 208 | } |
| kenjiArai | 0:5b88d5760320 | 209 | |
| kenjiArai | 0:5b88d5760320 | 210 | def postBuild(buildName, isTest) { |
| kenjiArai | 0:5b88d5760320 | 211 | // move files to target+toolchain specific folder |
| kenjiArai | 0:5b88d5760320 | 212 | execute("mkdir -p output/${buildName}") |
| kenjiArai | 0:5b88d5760320 | 213 | execute("find . -name 'libmbed-trace.a' -exec mv {} 'output/${buildName}' \\;") |
| kenjiArai | 0:5b88d5760320 | 214 | execute("find . -name 'mbed-trace.ar' -exec mv {} 'output/${buildName}' \\;") |
| kenjiArai | 0:5b88d5760320 | 215 | execute("find ../example-mbed-os-5 -name 'example-mbed-os-5.bin' -exec mv {} 'output/${buildName}/example-mbed-os-5.bin' \\; || true") |
| kenjiArai | 0:5b88d5760320 | 216 | // Archive artifacts |
| kenjiArai | 0:5b88d5760320 | 217 | step([ |
| kenjiArai | 0:5b88d5760320 | 218 | $class: 'ArtifactArchiver', |
| kenjiArai | 0:5b88d5760320 | 219 | artifacts: "cppcheck.txt,output/**", |
| kenjiArai | 0:5b88d5760320 | 220 | fingerprint: true, |
| kenjiArai | 0:5b88d5760320 | 221 | allowEmptyArchive: true |
| kenjiArai | 0:5b88d5760320 | 222 | ]) |
| kenjiArai | 0:5b88d5760320 | 223 | if (isTest) { |
| kenjiArai | 0:5b88d5760320 | 224 | // Publish cobertura |
| kenjiArai | 0:5b88d5760320 | 225 | step([ |
| kenjiArai | 0:5b88d5760320 | 226 | $class: 'CoberturaPublisher', |
| kenjiArai | 0:5b88d5760320 | 227 | coberturaReportFile: 'junit.xml' |
| kenjiArai | 0:5b88d5760320 | 228 | ]) |
| kenjiArai | 0:5b88d5760320 | 229 | // Publish compiler warnings |
| kenjiArai | 0:5b88d5760320 | 230 | step([ |
| kenjiArai | 0:5b88d5760320 | 231 | $class: 'WarningsPublisher', |
| kenjiArai | 0:5b88d5760320 | 232 | parserConfigurations: [[ |
| kenjiArai | 0:5b88d5760320 | 233 | parserName: 'GNU Make + GNU C Compiler (gcc)', |
| kenjiArai | 0:5b88d5760320 | 234 | pattern: 'mbed-trace/*.h,source/*.c,test/*.cpp' |
| kenjiArai | 0:5b88d5760320 | 235 | ]], |
| kenjiArai | 0:5b88d5760320 | 236 | unstableTotalAll: '0', |
| kenjiArai | 0:5b88d5760320 | 237 | useDeltaValues: true, |
| kenjiArai | 0:5b88d5760320 | 238 | usePreviousBuildAsReference: true |
| kenjiArai | 0:5b88d5760320 | 239 | ]) |
| kenjiArai | 0:5b88d5760320 | 240 | // Publish HTML reports |
| kenjiArai | 0:5b88d5760320 | 241 | publishHTML(target: [ |
| kenjiArai | 0:5b88d5760320 | 242 | alwayLinkToLastBuild: false, |
| kenjiArai | 0:5b88d5760320 | 243 | keepAll: true, |
| kenjiArai | 0:5b88d5760320 | 244 | reportDir: "test_coverage", |
| kenjiArai | 0:5b88d5760320 | 245 | reportFiles: "index.html", |
| kenjiArai | 0:5b88d5760320 | 246 | reportName: "Build HTML Report" |
| kenjiArai | 0:5b88d5760320 | 247 | ]) |
| kenjiArai | 0:5b88d5760320 | 248 | } |
| kenjiArai | 0:5b88d5760320 | 249 | } |
| kenjiArai | 0:5b88d5760320 | 250 | // helper function to set build status to github PR |
| kenjiArai | 0:5b88d5760320 | 251 | def setBuildStatus(String state, String context, String message) { |
| kenjiArai | 0:5b88d5760320 | 252 | step([ |
| kenjiArai | 0:5b88d5760320 | 253 | $class: "GitHubCommitStatusSetter", |
| kenjiArai | 0:5b88d5760320 | 254 | reposSource: [ |
| kenjiArai | 0:5b88d5760320 | 255 | $class: "ManuallyEnteredRepositorySource", |
| kenjiArai | 0:5b88d5760320 | 256 | url: "https://github.com/ARMmbed/mbed-trace.git" |
| kenjiArai | 0:5b88d5760320 | 257 | ], |
| kenjiArai | 0:5b88d5760320 | 258 | contextSource: [ |
| kenjiArai | 0:5b88d5760320 | 259 | $class: "ManuallyEnteredCommitContextSource", |
| kenjiArai | 0:5b88d5760320 | 260 | context: context |
| kenjiArai | 0:5b88d5760320 | 261 | ], |
| kenjiArai | 0:5b88d5760320 | 262 | errorHandlers: [[ |
| kenjiArai | 0:5b88d5760320 | 263 | $class: "ChangingBuildStatusErrorHandler", |
| kenjiArai | 0:5b88d5760320 | 264 | result: "UNSTABLE" |
| kenjiArai | 0:5b88d5760320 | 265 | ]], |
| kenjiArai | 0:5b88d5760320 | 266 | commitShaSource: [ |
| kenjiArai | 0:5b88d5760320 | 267 | $class: "ManuallyEnteredShaSource", |
| kenjiArai | 0:5b88d5760320 | 268 | sha: env.GIT_COMMIT_HASH |
| kenjiArai | 0:5b88d5760320 | 269 | ], |
| kenjiArai | 0:5b88d5760320 | 270 | statusResultSource: [ |
| kenjiArai | 0:5b88d5760320 | 271 | $class: 'ConditionalStatusResultSource', |
| kenjiArai | 0:5b88d5760320 | 272 | results: [ |
| kenjiArai | 0:5b88d5760320 | 273 | [ |
| kenjiArai | 0:5b88d5760320 | 274 | $class: 'AnyBuildResult', |
| kenjiArai | 0:5b88d5760320 | 275 | message: message, |
| kenjiArai | 0:5b88d5760320 | 276 | state: state |
| kenjiArai | 0:5b88d5760320 | 277 | ] |
| kenjiArai | 0:5b88d5760320 | 278 | ] |
| kenjiArai | 0:5b88d5760320 | 279 | ] |
| kenjiArai | 0:5b88d5760320 | 280 | ]) |
| kenjiArai | 0:5b88d5760320 | 281 | } |