Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Cleanup ubuntu arm build machine 2.1
|
|
|
|
|
|
|
|
* mark places that we need to change
* update dockumentation for arm
* update build.sh for arm
* update dockers' versions
* fix build.sh
* change default version for arm/armem/arm64
|
|
Non-PR jobs (cron and push) are disabled for now.
|
|
Update arm64 whitelist
|
|
Update arm Ubuntu cross build docker image
|
|
|
|
These are failing almost every job with "qeumu: Unsupported
syscall: 389". Issue: https://github.com/dotnet/coreclr/issues/12972.
|
|
Now, use:
microsoft/dotnet-buildtools-prereqs:ubuntu-14.04-cross-e435274-20180323032140
|
|
Clear out `ghprbCommentBody` before msbuild is invoked, which can't
deal with large environment variables.
|
|
Add support for arm Ubuntu testing on hardware. Most JIT stress jobs are enabled.
GC stress jobs are not enabled currently (they haven't been tried yet).
Most jobs have both PR trigger jobs as well as weekly "cron" jobs.
Job frequency will be adjusted as we gain experience with the load.
Initially, there are no automatically triggered PR jobs, but I plan to add
one or more soon.
Moved existing arm Ubuntu (on emulator) and arm Tizen (on emulator)
to use new "armem" pseudo-architecture.
The arm Ubuntu jobs have the product cross-built on Ubuntu/x64 in Docker,
use tests built in a new Windows_NT x86 BuildOnly (`_bld`) job, and are run
on hardware after copying over all the correct artifacts.
Refactored lots of code related to determining if a particular combination
of os/architecture/configuration/isPR/etc. should create a job.
Refactored test/flow job creation.
runtest.sh now creates three files based on test results that can be fed
back to runtest.sh using the `--playlist` argument: coreclrtests.pass.txt,
coreclrtests.fail.txt, coreclrtests.skip.txt.
New script `runtesttilstable.sh` runs `runtest.sh` in a loop, rerunning failing
tests until no tests fail, or a maximum iteration count is reached (default: 4).
This works around existing issues with flaky test failures on Linux/arm32 hardware.
Some extraneous unused jobs have been removed, such as unused `_bld` jobs
and non-PR triggered `innerloop` jobs.
|
|
Disable armlb windows jobs
|
|
increase timeout for altjit jobs
|
|
|
|
|
|
|
|
Current jitx86hwintrinsicnoavx job runs around 4 hours. Which will cause timeouts if over.
|
|
Use the table of smarty exclusion tags in validArmWindowsScenarios
to drive what tests should be excluded.
Update the exclude table to add `R2R_EXCLUDE` (for consistency),
and tag R2R MinOpts and GCStress jobs appropriately.
Also, run Pri-1 tests for all runs except the 'innerloop' scenario.
|
|
|
|
|
|
We create a flow job for each arm32 corefx mode, e.g.
arm_cross_checked_windows_nt_corefx_jitstress1_flow_prtest. This
depends on a build job that is specific to the stress mode, e.g.
arm_cross_checked_windows_nt_corefx_jitstress1_bld_prtest, which
(on x64) builds CoreCLR, then clones and builds CoreFX using run-corefx-tests.py.
In particular, it only builds the CoreFX tests; it doesn't run them.
Note that because the CoreFX test build embeds the stress mode environment
variables in its generated RunTests.cmd scripts, we need a different
corefx build dependency for each corefx test run; we can't share the
builds. The build script then ZIPs up the CoreFX tests and generated
CoreFX runtime (which will include the coreclr runtime because we built
CoreFX with the `/p:CoreCLROverridePath` argument), and archives these.
The test job, which runs on an arm64 machine, then copies the ZIPed
tests and runtime, unzips them, and runs a batch script to run each
RunTests.cmd file. Note that we don't use any existing mechanism to
run each test (such as msbuild), and I believe the CoreFX msbuild
harness doesn't have any mechanism to just run a previously built set of tests.
There is a very simple test exclusion mechanism: an entire test assembly
can be excluded by putting its name (e.g., System.IO.Ports.Tests), in
a file (e.g., tests\arm\corefx_test_exclusions.txt).
Note that this corefx testing mechanism is only enabled for arm
(aka arm32), not armlb or arm64.
|
|
|
|
|
|
|
|
Add innerloop tag for pri0 jobs
|
|
Everything that is not innerloop will run priority 1.
|
|
For corefx testing, use a matching corefx repo version git hash
|
|
|
|
Change CI to build a "GenerateLayoutOnly" drop for corefx testing,
specifically to cause the corefx package to be restored, so we
can determine its version.
|
|
|
|
Add more Views to Jenkins UI
|
|
They are failing now. Disable them until someone puts the effort
in to make them fully work.
|
|
|
|
|
|
|
|
Add specific views for:
1. All push jobs (view named "Merge")
2. All periodic jobs
3. A view per architecture
4. A view per OS
This allows looking at a much smaller subset of the entire set of jobs.
None of the specific views include PR jobs.
|
|
Jobs such as checked_windows_nt_bld that now build Pri-1 tests
are timing out. Increase BuildOnly timeouts to compensate.
|
|
Build-only jobs used to create non-Windows test assets were changed
undesirably to build only pri-0 tests.
Addresses #15569
|
|
|
|
Fix per-test timeout
|
|
Limit Windows ARM64 non-PR testing to certain branches
|
|
1. Add "timeout" option to runtest.cmd to set the per-test timeout, in ms.
2. Change NETCI to use this new option.
This should fix various random test failures that frequently occur
in Debug test runs due to timeout (e.g., chaos and type generator tests).
|
|
|
|
|
|
Enable ReadyToRun testing for arm/armlb/arm64
|
|
Sets RunCrossGen variable, which is used by generated wrappers
to crossgen tests before running them.
Still to-do: crossgen framework assemblies before running tests.
|
|
This change will start using build-test.sh generatelayoutonly to build
the coreoverlay directory for use with runtest.sh.
|