diff --git a/.vsts-dotnet-ci.yml b/.vsts-dotnet-ci.yml index fa7c7a139c..69ff9b9004 100644 --- a/.vsts-dotnet-ci.yml +++ b/.vsts-dotnet-ci.yml @@ -18,7 +18,15 @@ phases: - template: /build/ci/phase-template.yml parameters: - name: Windows_NT + name: Windows_x64 + buildScript: build.cmd + queue: + name: Hosted VS2017 + +- template: /build/ci/phase-template.yml + parameters: + name: Windows_x86 + architecture: x86 buildScript: build.cmd queue: name: Hosted VS2017 diff --git a/build/ci/phase-template.yml b/build/ci/phase-template.yml index 69b030db4c..72a2d83051 100644 --- a/build/ci/phase-template.yml +++ b/build/ci/phase-template.yml @@ -1,5 +1,6 @@ parameters: name: '' + architecture: x64 buildScript: '' queue: {} @@ -8,6 +9,7 @@ phases: variables: _buildScript: ${{ parameters.buildScript }} _phaseName: ${{ parameters.name }} + _arch: ${{ parameters.architecture }} queue: parallel: 99 matrix: @@ -17,7 +19,7 @@ phases: _configuration: Release ${{ insert }}: ${{ parameters.queue }} steps: - - script: $(_buildScript) -$(_configuration) + - script: $(_buildScript) -$(_configuration) -buildArch=$(_arch) displayName: Build - ${{ if eq(parameters.name, 'MacOS') }}: - script: brew install libomp diff --git a/init-tools.cmd b/init-tools.cmd index 0e6621ef52..3743cb413d 100644 --- a/init-tools.cmd +++ b/init-tools.cmd @@ -12,6 +12,7 @@ set BUILD_TOOLS_PATH=%PACKAGES_DIR%\Microsoft.DotNet.BuildTools\%BUILDTOOLS_VERS set INIT_TOOLS_RESTORE_PROJECT=%~dp0init-tools.msbuild set BUILD_TOOLS_SEMAPHORE_DIR=%TOOLRUNTIME_DIR%\%BUILDTOOLS_VERSION% set BUILD_TOOLS_SEMAPHORE=%BUILD_TOOLS_SEMAPHORE_DIR%\init-tools.completed +set ARCH=x64 :: if force option is specified then clean the tool runtime and build tools package directory to force it to get recreated if [%1]==[force] ( @@ -47,9 +48,17 @@ echo Running %0 > "%INIT_TOOLS_LOG%" set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt" if exist "%DOTNET_CMD%" goto :afterdotnetrestore +:Arg_Loop +if [%1] == [] goto :ArchSet +if /i [%1] == [x86] ( set ARCH=x86&&goto ArchSet) +shift +goto :Arg_Loop + +:ArchSet + echo Installing dotnet cli... if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%" -set DOTNET_ZIP_NAME=dotnet-sdk-%DOTNET_VERSION%-win-x64.zip +set DOTNET_ZIP_NAME=dotnet-sdk-%DOTNET_VERSION%-win-%ARCH%.zip set DOTNET_REMOTE_PATH=https://dotnetcli.azureedge.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_ZIP_NAME% set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME% echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%" diff --git a/pkg/Microsoft.ML.TensorFlow.Redist/Microsoft.ML.TensorFlow.Redist.nupkgproj b/pkg/Microsoft.ML.TensorFlow.Redist/Microsoft.ML.TensorFlow.Redist.nupkgproj index 0de839bf08..e5856c63f5 100644 --- a/pkg/Microsoft.ML.TensorFlow.Redist/Microsoft.ML.TensorFlow.Redist.nupkgproj +++ b/pkg/Microsoft.ML.TensorFlow.Redist/Microsoft.ML.TensorFlow.Redist.nupkgproj @@ -16,6 +16,6 @@ - + diff --git a/run.cmd b/run.cmd index 616c7cc018..ccbe714db8 100644 --- a/run.cmd +++ b/run.cmd @@ -11,7 +11,7 @@ set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 set DOTNET_MULTILEVEL_LOOKUP=0 :: Restore the Tools directory -call "%~dp0init-tools.cmd" +call "%~dp0init-tools.cmd" %* if NOT [%ERRORLEVEL%]==[0] exit /b 1 set _toolRuntime=%~dp0Tools diff --git a/test/Microsoft.ML.Benchmarks.Tests/BenchmarksTest.cs b/test/Microsoft.ML.Benchmarks.Tests/BenchmarksTest.cs index 79bbd601da..96f4a6bd8f 100644 --- a/test/Microsoft.ML.Benchmarks.Tests/BenchmarksTest.cs +++ b/test/Microsoft.ML.Benchmarks.Tests/BenchmarksTest.cs @@ -39,7 +39,11 @@ public class BenchmarksTest private ITestOutputHelper Output { get; } +#if DEBUG [Fact(Skip = SkipTheDebug)] +#else + [ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] +#endif public void BenchmarksProjectIsNotBroken() { var summary = BenchmarkRunner.Run(new TestConfig().With(new OutputLogger(Output))); diff --git a/test/Microsoft.ML.TestFramework/BaseTestBaseline.cs b/test/Microsoft.ML.TestFramework/BaseTestBaseline.cs index 4b14152011..64255b9332 100644 --- a/test/Microsoft.ML.TestFramework/BaseTestBaseline.cs +++ b/test/Microsoft.ML.TestFramework/BaseTestBaseline.cs @@ -233,6 +233,7 @@ protected void DoNotEverUseInvertPass() private static readonly Regex _matchTime = new Regex(@"[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?", RegexOptions.Compiled); private static readonly Regex _matchShortTime = new Regex(@"\([0-9]{2}:[0-9]{2}(\.[0-9]+)?\)", RegexOptions.Compiled); private static readonly Regex _matchMemory = new Regex(@"memory usage\(MB\): [0-9]+", RegexOptions.Compiled); + private static readonly Regex _matchReservedMemory = new Regex(@": [0-9]+ bytes", RegexOptions.Compiled); private static readonly Regex _matchElapsed = new Regex(@"Time elapsed\(s\): [0-9.]+", RegexOptions.Compiled); private static readonly Regex _matchTimes = new Regex(@"Instances caching time\(s\): [0-9\.]+", RegexOptions.Compiled); private static readonly Regex _matchUpdatesPerSec = new Regex(@", ([0-9\.]+|Infinity)M WeightUpdates/sec", RegexOptions.Compiled); @@ -281,6 +282,7 @@ protected void Normalize(string path) line = _matchShortTime.Replace(line, "(%Time%)"); line = _matchElapsed.Replace(line, "Time elapsed(s): %Number%"); line = _matchMemory.Replace(line, "memory usage(MB): %Number%"); + line = _matchReservedMemory.Replace(line, ": %Number% bytes"); line = _matchTimes.Replace(line, "Instances caching time(s): %Number%"); line = _matchUpdatesPerSec.Replace(line, ", %Number%M WeightUpdates/sec"); line = _matchParameterT.Replace(line, "=PARAM:/t:%Number%"); diff --git a/test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs b/test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs index d8d76527a7..857cd20822 100644 --- a/test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs +++ b/test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs @@ -906,7 +906,7 @@ public void TensorFlowTransformCifarSavedModel() } } - [Fact] + [ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] public void TensorFlowTransformCifarInvalidShape() { var model_location = "cifar_model/frozen_model.pb"; diff --git a/test/Microsoft.ML.Tests/TensorFlowEstimatorTests.cs b/test/Microsoft.ML.Tests/TensorFlowEstimatorTests.cs index 13236d6658..690bd0dd2f 100644 --- a/test/Microsoft.ML.Tests/TensorFlowEstimatorTests.cs +++ b/test/Microsoft.ML.Tests/TensorFlowEstimatorTests.cs @@ -183,7 +183,7 @@ public void TestTensorFlowStatic() } } - [Fact] + [ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] public void TestTensorFlowStaticWithSchema() { var modelLocation = "cifar_model/frozen_model.pb";