Age | Commit message (Collapse) | Author |
|
Allows us to better utilize the bockbuild cache.
(cherry picked from commit 229a4673d43a332544c6a8a7b831efbc9166acf0)
|
|
* [sdks] Remove redundant --enable-cxx
* [sdks] Shorten `-m32`/`-m64` parameters detection for runtimes
* [sdks] Build BCL profiles without configure flags
* [sdks] Create archive targets for pre-building on CI
* [sdks] Add BclTemplate to build BCL profiles
This is to avoid building all the profiles in a single `sdks/out/bcl` directory which will be shared between android, ios and wasm.
* [sdks] Use archive-{android,ios,wasm} on CI
* [sdks] Run archive-llvm-llvm{,win}{32,64} on CI
* [sdks] Add download/pack capabilities for LLVM
* [sdks] Ensure LLVM is cloned before trying to download
* [sdks] Simplify call to BclTemplate
* Put xunit tests in mcs/class/lib/PROFILE/tests too
So they are next to their NUnit counterparts.
Move xunit remote executor app to tests dir too and compile it when
compiling the test assembly instead of doing it before running the test.
We need to use an absolute path for the xunit remote executor and it
needs to be in Windows format on Windows since we pass it as an env var
to the xunit tests.
* [sdks] Build LLVM with make in parallel
* [mcs] Make directory dependency as order-only
We would otherwise always rebuild the target since the directory is updated whenever something is added to the directory. This is a common Makefile technique.
* [sdks] Build tests for BCL targets
* [build] Switch to netstandard based xunit
|
|
0dbcdd5 added CFLAGS etc in front of the command but that's not something the TESTCMD can execute.
We shouldn't pass CFLAGS etc at all for this since that is handled by bockbuild.
|
|
* Add LLVM AOT/Full AOT support on Windows x64.
Uses mono LLVM master branch, build using cmake and VisualStudio 2015/2017.
Commit adds support for AOT/Full AOT LLVM codegen for Windows x64 Visual Studio
build mono runtime. Normal configure/make using cygwin won’t support LLVM and will
trigger an error if configured.
In order to build using LLVM first mono LLVM master branch must be build using
static linked LLVM configuration (dynamic loading can be added later),
NOTE mono LLVM build needs to include the following commit,
https://github.com/mono/llvm/commit/9b92b4b87607e137266f84dc307181b8842fe54a
in order to successfully build on Windows x64.
Build mono LLVM branch using the following cmake configuration:
-DCMAKE_BUILD_TYPE=Release
-DLLVM_ENABLE_ZLIB=OFF
-DLLVM_TARGETS_TO_BUILD="X86"
-DCMAKE_CROSSCOMPILING=False
-DCMAKE_SYSTEM_NAME=Windows
Use cmake with -G "Visual Studio 14 2015 Win64" to generate VS 2015 x64
targets. NOTE, if mono runtime is build using VS 2017, then LLVM should
be build using the same VS version using -G "Visual Studio 15 2017 Win64"
To enable LLVM build in mono.sln, set MONO_ENABLE_LLVM to “true” and make
sure MONO_LLVM_INSTALL_DIR_PREFIX points to the install directory used in
LLVM build above, default msvc/dist/llvm. Above LLVM properties can also
be set if build using msbuild.
A sample LLVM configure script has been included in msvc/llvm-cmake-config.bat.
* Fix build issue on OSX.
* [llvm] Fix build with MXE
* [runtime] Fix mxe+release_60 llvm build
* [sdks] Enable package-android-cross-{arm,arm64,x86,x86_64}-win builds on CI
* [llvm] Fix mxe+release_60 build
|
|
Unify provisioning of LLVM for both Android and iOS. (#10398)
* [sdks] Add CrossRuntimeTemplate
* [sdks] Add cross-{arm,arm64,x86,x86_64}{,-win} runtimes for XA
* [sdks] Factor various variables for RuntimeTemplate
* [sdks] Use CrossRuntimeTemplate for iOS
* [sdks] Unify provisioning of LLVM for both Android and iOS.
A global CFLAGS would be set in `run-jenkins.sh`, and that would screw up with LLVM. The global CFLAGS makes sense as long as we are only building Mono, but that's not the case with LLVM anymore.
* [sdks] Use MonoRuntime template for desktop-x86_64
|
|
.. once, msbuild has an updated branch for 2018-06/master, then this
will point to that.
This also picks up fix for https://github.com/xamarin/xamarin-android/issues/1845 .
|
|
* [sdks] add interp-mixed to iOS SDK
AOT compile mscorlib, everything else runs in the interpreter
* [interp] fix class accessor
|
|
backport of https://github.com/mono/mono/pull/9427
|
|
MonoDelegate.interp_method, make MonoDelegate.method_ptr always point to a JIT callable entry point. (#9019)
backport of https://github.com/mono/mono/pull/9019
|
|
|
|
cloned the sources (#9366)
* [sdks] Only rebuild MXE when it doesn't exist, not when we just cloned the sources
* [sdks] Default to ~/android-toolchain and ~/android-archives to better share with XA
|
|
The upgraded HTML publisher plugin on Jenkins now generates a different URL.
|
|
with corefx sources. (#8629)
As part of https://github.com/mono/mono/issues/7589
|
|
|
|
These changes replace references sources with CoreFx System.Private.XML.Linq sources.
Fixes: https://github.com/mono/mono/issues/8122
|
|
Similar to how we do it for nunit.
|
|
|
|
|
|
there was a technical limitiation to run it reliably (aka. "the r8
problem"), which was resolved by https://github.com/mono/mono/pull/8056
|
|
System.Threading.Tasks.Dataflow (#8246)
Use corefx sources and tests for:
- System.Json
- System.ServiceModel.Syndication
- System.Threading.Tasks.Dataflow
|
|
.. which is now on the netcore2.x based build. Update build and test
scripts accordingly.
|
|
|
|
https://github.com/mono/mono/issues/7053
|
|
https://github.com/mono/mono/issues/7053
|
|
|
|
* [wasm] Fix CI target.
* [wasm] Switch to do a local install of npm packages.
* [wasm] Switch to fine-grained execution steps to avoid VM bugs.
* [wasm] Disable System.Core under Chakra as the JS engine crashes.
|
|
[wasm] JS engine testing improvements.
|
|
(#8261)
* [threads] Have Hybrid Suspend not depend on Coop Suspend
* [threads] Enable CI
|
|
|
|
Mono.Security as System.Core now needs it.
|
|
(#8053)
* [ci] Add {,hybrid,full}aot_llvm presets to make sure we compile with LLVM
* [configure] Rename runtime_preset to runtime-preset
* [bcl] Make sure we build the testing_aot_{hybrid,full} profiles when building all profiles
* [test-runner] Factor test-runner parameters for picking up and passing arguments to the runtime
* [hybridaot] Fix testing_aot_hybrid build
* [mini-llvm-aot] Fix common race condition in parallel builds due to common defaults.
|
|
|
|
|
|
|
|
* [ci] Update csproj files during PRs
Similar to how API diff is done.
Replace EXTERNAL_DRAWING_FACADE in csproj in genproj
It'd embed the absolute path in the csproj, but we want the variable instead.
* [csproj] Update project files
|
|
|
|
|
|
[sdks] Add support for running device tests on ios.
|
|
It takes close to the current timeout in a passing run already.
|
|
* [sdks] Add provisioning for Android SDK and NDK
This will also be used by XA
* Add missing backslash to mxe.mk
* Only grab bin/autopoint
* [sdks] Use provisioning for MXE
We want to treat MXE the same way we do Android SDK and NDK because it only rarely changes, and it's very long to build it.
|
|
set.
|
|
|
|
|
|
|
|
I'd like to see more compilations errors in checked build results - so run with `make -k`
|
|
|
|
|
|
* [sdks] Fix ios build.
* [sdks] Pass -DMONOTOUCH to the ios cross compiler builds. Compile monotouch/tvos/watchos profiles for the bcl build.
|
|
It'd fail with the following errors since e6de24c2d196b064e64aeea6e45350e985a1bb23:
```
MCS [net_4_x-darwin] net_4_x_System.Data.OracleClient_test.dll
Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/ADONetTesterClass.cs(337,71): error CS0012: The type `System.Xml.Serialization.IXmlSerializable' is defined in an assembly that is not referenced. Consider adding a reference to assembly `System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
...
MCS [net_4_x-darwin] net_4_x_System.Json.Microsoft_test.dll
Test/System.Json/JsonValueTest.cs(23,12): error CS0012: The type `System.Dynamic.IDynamicMetaObjectProvider' is defined in an assembly that is not referenced. Consider adding a reference to assembly `System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
...
MCS [net_4_x-darwin] DummyAssembly.dll
error CS0518: The predefined type `System.Object' is not defined or imported
error CS0518: The predefined type `System.ValueType' is not defined or imported
```
* [ci] Add compiling class lib tests to mcs job
|
|
* [System]: Enable some System.Net.Requests tests from CoreFX.
* tests.make: add `$(XTEST_HARNESS_PATH)` to `TEST_MONO_PATH`,
so we can find xunit.assert.
* corefx/SR.cs: add `System.Net.Requests` resources from corefx.
* HttpWebRequest: See below for detailed summary.
* Match parameter names of overridden base class members.
* Fixed order of some argument / state checks to match the
tested behavior.
* Most async methods now throw exceptions instead of returning
faulted tasks when called with incorrect arguments.
* HttpWebResponse.ContentType: use `string.empty` as default.
* WebConnectionStream.FlushAsync: override to return a finished task.
* HttpWebRequestTest.AllowReadStreamBuffering: removed this test.
* test-helpers/RemoteExecutorConsoleApp: silently ignore compiler-
generated helper methods.
Enabled tests from CoreFX:
--------------------------
Added the following tests from external/corefx/src/System.Net.Requests/tests:
* AuthorizationTest, FileWebRequestTest, GlobalProxySelectionTest,
HttpRequestCachePolicyTest, HttpWebRequestTest, HttpWebResponseHeaderTest,
HttpWebResponseTest, LoggingTest, RequestStreamTest, WebRequestTest
Not working yet:
* AuthenticationManagerTest, FtpWebRequestTest
We are currently using
../../../external/corefx/src/System.Net.Requests/tests/*.cs:AuthenticationManagerTest.cs,FtpWebRequestTest.cs
Summary of HttpWebRequest changes:
----------------------------------
* Host - we are now using the implementation from corefx.
* DefaultMaxResponseHeadersLength (unused) - fix default value.
* AllowReadStreamBuffering (unused) - allow this property to
be read/written.
* ContinueTimeout - likewise.
* DefaultCachePolicy (unused) - allow this property to be
read/written and set default value.
* DefaultMaximumErrorResponseLength (unused) - likewise.
* Connection - use implementation from corefx.
* Method - use implementation from corefx, which has additional
error checks.
* MaximumResponseHeadersLength - use implementation from corefx,
adding error checks.
* ReadWriteTimeout - likewise.
* ProtocolVersion - include parameter name in ArgumentException.
* TransferEncoding - use implementation from corefx.
* BeginGetRequestStream / GetRequestStreamAsync / GetRequestStream:
throw exceptions when called with incorrect arguments rather than
returning faulted tasks.
* Disable the corefx tests for the moment.
* Bump API snapshot submodule
* Update tests.make
|