Merge pull request dotnet/coreclr#19993 from dotnet/dev/unix_test_workflow
authorBruce Forstall <brucefo@microsoft.com>
Wed, 19 Sep 2018 21:18:30 +0000 (14:18 -0700)
committerGitHub <noreply@github.com>
Wed, 19 Sep 2018 21:18:30 +0000 (14:18 -0700)
commitc6419c003467564b342eb24bd02faeb2e237522a
treec50dce4ff8a982e33126302fa9dcc08c7661772d
parent9e134caa5f52636a2567fbe6c32e08b8be219dec
parentee09dcbd1b67267ef34fe72306802531db262a20
Merge pull request dotnet/coreclr#19993 from dotnet/dev/unix_test_workflow

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.)

Commit migrated from https://github.com/dotnet/coreclr/commit/a35087fd0d87ce98f4e3a26902d01c8afcf7119c