Enable arm64 Linux testing in CI
authorBruce Forstall <Bruce_Forstall@msn.com>
Wed, 22 Aug 2018 20:55:53 +0000 (13:55 -0700)
committerBruce Forstall <Bruce_Forstall@msn.com>
Wed, 19 Sep 2018 18:34:28 +0000 (11:34 -0700)
commit707e84e98920546264db5af4252509a3a54f6203
tree13cdbc5268758fbb063f1c481c028062c1be81f8
parent541f710095b6c10f2e650ad68e3f5961aa467d02
Enable arm64 Linux testing in CI

Testing is enabled on a set of Qualcomm Centriq arm64 servers running Ubuntu 16.04.
The set of jobs enabled almost matches the set run for arm32 Linux testing,
including innerloop, JIT and GC Stress, corefx, and R2R. Temporarily, the
innerloop jobs are commit jobs (invoked when a PR is merged) instead of
"default trigger" jobs (invoked when a PR is submitted), until we get more
experience with the robustness of the machines and jobs. The machines are
fast enough that they are not marked as "limited hardware" (like arm32 Linux
machines). That means that many jobs are run daily, not weekly, as periodic jobs.

Notes about the changes:
1. The Linux arm64 machines are managed by Helix, which allocates them to Jenkins.
2. The arm64 OS used has been renamed from "small_page_size" to "Ubuntu16.04". If we
add large page size machines, we'll need to add a differentiator.
3. The Jenkins "copy artifacts" plug-in runs ridiculously slowly on this hardware,
for unknown reasons, so we copy artifacts directly using "wget".
4. Tests are built using "build-test.sh" on the (cross) build machine; we don't use
Windows-built tests.
5. Added Jenkins archiving of build .log/.wrn/.err files.
6. Various tests were disabled in issues.targets, and with a new
arm64/corefx_linux_test_exclusions.txt file, to get jobs to run clean. (Several
issues have been opened to track these and other known failures.)
build-test.sh
netci.groovy
tests/arm64/corefx_linux_test_exclusions.txt [new file with mode: 0644]
tests/issues.targets
tests/runtest.proj
tests/runtest.py
tests/tests.targets