@@ -3,6 +3,10 @@ sudo: required
33dist : trusty
44services :
55 - docker
6+ addons :
7+ apt :
8+ packages :
9+ - gdb
610
711git :
812 depth : 2
@@ -12,7 +16,7 @@ matrix:
1216 fast_finish : true
1317 include :
1418 # Images used in testing PR and try-build should be run first.
15- - env : IMAGE=x86_64-gnu-llvm-3.9 RUST_BACKTRACE=1
19+ - env : IMAGE=x86_64-gnu-llvm-5.0 RUST_BACKTRACE=1
1620 if : type = pull_request OR branch = auto
1721
1822 - env : IMAGE=dist-x86_64-linux DEPLOY=1
@@ -169,7 +173,7 @@ matrix:
169173 - env : IMAGE=x86_64-gnu-aux
170174 if : branch = auto
171175 - env : IMAGE=x86_64-gnu-tools
172- if : branch = auto
176+ if : branch = auto OR (type = pull_request AND commit_message =~ /(?i:^update.*\b(rls|rustfmt|clippy|miri)\b)/)
173177 - env : IMAGE=x86_64-gnu-debug
174178 if : branch = auto
175179 - env : IMAGE=x86_64-gnu-nopt
197201 # AWS_SECRET_ACCESS_KEY=...
198202 - secure : " j96XxTVOSUf4s4r4htIxn/fvIa5DWbMgLqWl7r8z2QfgUwscmkMXAwXuFNc7s7bGTpV/+CgDiMFFM6BAFLGKutytIF6oA02s9b+usQYnM0th7YQ2AIgm9GtMTJCJp4AoyfFmh8F2faUICBZlfVLUJ34udHEe35vOklix+0k4WDo="
199203 # TOOLSTATE_REPO_ACCESS_TOKEN=...
200- - secure : " cFh8thThqEJLC98XKI5pfqflUzOlxsYPRW20AWRaYOOgYHPTiGWypTXiPbGSKaeAXTZoOA+DpQtEmefc0U6lt9dHc7a/MIaK6isFurjlnKYiLOeTruzyu1z7PWCeZ/jKXsU2RK/88DBtlNwfMdaMIeuKj14IVfpepPPL71ETbuk ="
204+ - secure : " ESfcXqv4N2VMhqi2iIyw6da9VrsA78I4iR1asouCaq4hzTTrkB4WNRrfURy6xg72gQ4nMhtRJbB0/2jmc9Cu1+g2CzXtyiL223aJ5CKrXdcvbitopQSDfp07dMWm+UED+hNFEanpErKAeU/6FM3A+J+60PMk8MCF1h9tqNRISJw ="
201205
202206before_install :
203207 # We'll use the AWS cli to download/upload cached docker layers, so install
@@ -230,7 +234,11 @@ install:
230234 travis_retry curl -fo /usr/local/bin/sccache https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2018-04-02-sccache-x86_64-apple-darwin &&
231235 chmod +x /usr/local/bin/sccache &&
232236 travis_retry curl -fo /usr/local/bin/stamp https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2017-03-17-stamp-x86_64-apple-darwin &&
233- chmod +x /usr/local/bin/stamp
237+ chmod +x /usr/local/bin/stamp &&
238+ travis_retry curl -f http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-apple-darwin.tar.xz | tar xJf - &&
239+ export CC=`pwd`/clang+llvm-6.0.0-x86_64-apple-darwin/bin/clang &&
240+ export CXX=`pwd`/clang+llvm-6.0.0-x86_64-apple-darwin/bin/clang++ &&
241+ export AR=ar
234242 ;;
235243 esac
236244
@@ -245,6 +253,8 @@ before_script:
245253 export RUN_SCRIPT="$RUN_SCRIPT && src/ci/run.sh";
246254 else
247255 export RUN_SCRIPT="$RUN_SCRIPT && src/ci/docker/run.sh $IMAGE";
256+ # Enable core dump on Linux.
257+ sudo sh -c 'echo "/checkout/obj/cores/core.%p.%E" > /proc/sys/kernel/core_pattern';
248258 fi
249259
250260# Log time information from this machine and an external machine for insight into possible
@@ -270,6 +280,8 @@ after_failure:
270280
271281 # Random attempt at debugging currently. Just poking around in here to see if
272282 # anything shows up.
283+
284+ # Dump backtrace for macOS
273285 - ls -lat $HOME/Library/Logs/DiagnosticReports/
274286 - find $HOME/Library/Logs/DiagnosticReports
275287 -type f
@@ -280,6 +292,25 @@ after_failure:
280292 -exec head -750 {} \;
281293 -exec echo travis_fold":"end:crashlog \; || true
282294
295+ # Dump backtrace for Linux
296+ - ln -s . checkout &&
297+ for CORE in obj/cores/core.*; do
298+ EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|');
299+ if [ -f "$EXE" ]; then
300+ printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE";
301+ gdb -q -c "$CORE" "$EXE"
302+ -iex 'set auto-load off'
303+ -iex 'dir src/'
304+ -iex 'set sysroot .'
305+ -ex bt
306+ -ex q;
307+ echo travis_fold":"end:crashlog;
308+ fi;
309+ done || true
310+
311+ # see #50887
312+ - cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
313+
283314 # attempt to debug anything killed by the oom killer on linux, just to see if
284315 # it happened
285316 - dmesg | grep -i kill
@@ -297,7 +328,6 @@ before_deploy:
297328 rm -rf obj/build/dist/doc &&
298329 cp -r obj/build/dist/* deploy/$TRAVIS_COMMIT;
299330 fi
300- - travis_retry gem update --system
301331 - ls -la deploy/$TRAVIS_COMMIT
302332
303333deploy :
0 commit comments