@@ -145,21 +145,29 @@ def addPushJob(String project, String branch, String os, String configuration, b
145
145
146
146
def shortJobName = " ${ os} _Tarball_${ configuration} " ;
147
147
def contextString = " ${ os} Tarball ${ configuration} " ;
148
+ def poisonProductionBuildArgument = " "
149
+ def poisonConsumptionBuildArugment = " "
148
150
149
151
if (portable) {
150
152
shortJobName + = " _Portable"
151
153
contextString + = " Portable"
152
154
}
153
155
156
+ // only run poisoning on one platform for now
157
+ if (os == " CentOS7.1" ) {
158
+ poisonProductionBuildArgument = " --enable-leak-detection"
159
+ poisonConsumptionBuildArugment = " /p:EnablePoison=true"
160
+ }
161
+
154
162
def triggerPhrase = " (?i).*test\\ W+${ contextString} .*" ;
155
163
156
164
def newJob = job(Utilities . getFullJobName(project, shortJobName, isPR)){
157
165
steps{
158
166
shell(" cd ./source-build;git submodule update --init --recursive" );
159
167
shell(" cd ./source-build;./build.sh /p:ArchiveDownloadedPackages=true /p:Configuration=${ configuration} /p:PortableBuild=${ portable} ${ loggingOptions} " );
160
- shell(" cd ./source-build;./build-source-tarball.sh ../tarball-output --skip-build" );
168
+ shell(" cd ./source-build;./build-source-tarball.sh ../tarball-output --skip-build ${ poisonProductionBuildArgument } " );
161
169
162
- shell(" cd ./tarball-output;./build.sh /p:Configuration=${ configuration} /p:PortableBuild=${ portable} /p:FailOnPrebuiltBaselineError=true ${ loggingOptions} " )
170
+ shell(" cd ./tarball-output;./build.sh /p:Configuration=${ configuration} /p:PortableBuild=${ portable} /p:FailOnPrebuiltBaselineError=true ${ poisonConsumptionBuildArugment } ${ loggingOptions} " )
163
171
shell(" cd ./tarball-output;./smoke-test.sh --minimal --configuration ${ configuration} " )
164
172
}
165
173
}
@@ -200,12 +208,20 @@ def addPushJob(String project, String branch, String os, String configuration, b
200
208
201
209
def shortJobName = " ${ os} _Unshared_${ configuration} " ;
202
210
def contextString = " ${ os} Unshared ${ configuration} " ;
211
+ def poisonProductionBuildArgument = " "
212
+ def poisonConsumptionBuildArugment = " "
203
213
204
214
if (portable) {
205
215
shortJobName + = " _Portable"
206
216
contextString + = " Portable"
207
217
}
208
218
219
+ // only run poisoning on one platform for now
220
+ if (os == " CentOS7.1" ) {
221
+ poisonProductionBuildArgument = " --enable-leak-detection"
222
+ poisonConsumptionBuildArugment = " /p:EnablePoison=true"
223
+ }
224
+
209
225
def triggerPhrase = " (?i).*test\\ W+${ contextString} .*" ;
210
226
def imageName = getDockerImageForOs(os);
211
227
@@ -217,9 +233,9 @@ def addPushJob(String project, String branch, String os, String configuration, b
217
233
// Have to make this directory before volume-sharing it unlike non-docker build - existing directory is really only a warning in build-source-tarball.sh
218
234
shell(" mkdir tarball-output" );
219
235
// now build the tarball
220
- shell(" docker run -u=\"\$ (id -u):\$ (id -g)\" -t --sig-proxy=true -e HOME=/opt/code/home --network none -v \$ (pwd)/source-build:/opt/code -v \$ (pwd)/tarball-output:/opt/tarball --rm -w /opt/code ${ imageName} /opt/code/build-source-tarball.sh /opt/tarball --skip-build" );
236
+ shell(" docker run -u=\"\$ (id -u):\$ (id -g)\" -t --sig-proxy=true -e HOME=/opt/code/home --network none -v \$ (pwd)/source-build:/opt/code -v \$ (pwd)/tarball-output:/opt/tarball --rm -w /opt/code ${ imageName} /opt/code/build-source-tarball.sh /opt/tarball --skip-build ${ poisonProductionBuildArgument } " );
221
237
// now build from the tarball offline and without access to the regular non-tarball build
222
- shell(" docker run -u=\"\$ (id -u):\$ (id -g)\" -t --sig-proxy=true -e HOME=/opt/tarball/home --network none -v \$ (pwd)/tarball-output:/opt/tarball --rm -w /opt/tarball ${ imageName} /opt/tarball/build.sh /p:Configuration=${ configuration} /p:PortableBuild=${ portable} /p:FailOnPrebuiltBaselineError=true ${ loggingOptions} " );
238
+ shell(" docker run -u=\"\$ (id -u):\$ (id -g)\" -t --sig-proxy=true -e HOME=/opt/tarball/home --network none -v \$ (pwd)/tarball-output:/opt/tarball --rm -w /opt/tarball ${ imageName} /opt/tarball/build.sh /p:Configuration=${ configuration} /p:PortableBuild=${ portable} /p:FailOnPrebuiltBaselineError=true ${ poisonConsumptionBuildArugment } ${ loggingOptions} " );
223
239
// finally, run a smoke-test on the result
224
240
shell(" docker run -u=\"\$ (id -u):\$ (id -g)\" -t --sig-proxy=true -e HOME=/opt/tarball/home -v \$ (pwd)/tarball-output:/opt/tarball --rm -w /opt/tarball ${ imageName} /opt/tarball/smoke-test.sh --minimal --configuration ${ configuration} " );
225
241
}
0 commit comments