diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index 05e608cd5..7cbab6ffd 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -301,4 +301,5 @@ stages:
/p:DotNetPublishSdkAssetsBlobFeedKey=$(dotnetcli-storage-key)
/p:DotnetPublishChecksumsBlobFeedUrl=https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json
/p:DotNetPublishChecksumsBlobFeedKey=$(dotnetclichecksums-storage-key)
+ /p:SourceBranch=$(BUILD.SOURCEBRANCH)
displayName: Copy to latest
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 1eba87d35..870b414ef 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,37 +1,37 @@
-
+
https://github.com/dotnet/windowsdesktop
- 0f0a20ef103bd864b48bbb44ea55bccbecc450c7
+ 3706ccb050c13a04511f8531339fca437ad4bc2a
-
+
https://github.com/dotnet/windowsdesktop
- 0f0a20ef103bd864b48bbb44ea55bccbecc450c7
+ 3706ccb050c13a04511f8531339fca437ad4bc2a
-
+
https://github.com/dotnet/windowsdesktop
- 0f0a20ef103bd864b48bbb44ea55bccbecc450c7
+ 3706ccb050c13a04511f8531339fca437ad4bc2a
-
+
https://github.com/dotnet/runtime
- f37dd6fc8595e130909dcb3085a56342d04aa20c
+ 9aa4e069b5e9f6a33f7304fa7d58de26424588fb
-
+
https://github.com/dotnet/runtime
- f37dd6fc8595e130909dcb3085a56342d04aa20c
+ 9aa4e069b5e9f6a33f7304fa7d58de26424588fb
-
+
https://github.com/dotnet/runtime
- f37dd6fc8595e130909dcb3085a56342d04aa20c
+ 9aa4e069b5e9f6a33f7304fa7d58de26424588fb
-
+
https://github.com/dotnet/runtime
- f37dd6fc8595e130909dcb3085a56342d04aa20c
+ 9aa4e069b5e9f6a33f7304fa7d58de26424588fb
-
+
https://github.com/dotnet/runtime
- f37dd6fc8595e130909dcb3085a56342d04aa20c
+ 9aa4e069b5e9f6a33f7304fa7d58de26424588fb
@@ -39,74 +39,72 @@
https://github.com/dotnet/core-setup
7d57652f33493fa022125b7f63aad0d70c52d810
-
+
https://github.com/dotnet/runtime
- f37dd6fc8595e130909dcb3085a56342d04aa20c
+ 9aa4e069b5e9f6a33f7304fa7d58de26424588fb
-
+
https://github.com/dotnet/aspnetcore
- fae3dd12aeba7c9995f69bfaa1c9b74d82307ef1
+ faf1d80af1b0521ed120f767efd630999200a02e
-
+
https://github.com/dotnet/aspnetcore
- fae3dd12aeba7c9995f69bfaa1c9b74d82307ef1
+ faf1d80af1b0521ed120f767efd630999200a02e
-
+
https://github.com/dotnet/aspnetcore
- fae3dd12aeba7c9995f69bfaa1c9b74d82307ef1
+ faf1d80af1b0521ed120f767efd630999200a02e
-
+
https://github.com/dotnet/aspnetcore
- fae3dd12aeba7c9995f69bfaa1c9b74d82307ef1
+ faf1d80af1b0521ed120f767efd630999200a02e
-
+
https://github.com/dotnet/aspnetcore
- fae3dd12aeba7c9995f69bfaa1c9b74d82307ef1
+ faf1d80af1b0521ed120f767efd630999200a02e
-
+
https://github.com/dotnet/aspnetcore
- fae3dd12aeba7c9995f69bfaa1c9b74d82307ef1
+ faf1d80af1b0521ed120f767efd630999200a02e
-
+
https://github.com/dotnet/test-templates
- 345cad2a4a3f7dffd53104cb1aa3d582faafb85d
+ a2b05d8171915c69ad97ab5d49bbb07d2c780a67
-
+
https://github.com/dotnet/test-templates
- 345cad2a4a3f7dffd53104cb1aa3d582faafb85d
+ a2b05d8171915c69ad97ab5d49bbb07d2c780a67
-
+
https://github.com/dotnet/templating
- 6bb0326ac089950ead3b19fc83e34444c084e8f5
+ 33ab866736b99a365bc18640ebab4e6be75d69bf
-
+
https://github.com/dotnet/sdk
- 9be071d41da311b89b65399b5ae930fd7ebe8155
+ 1df1eafb50a190e14b8d0efd761e394f391fde6c
-
+
https://github.com/dotnet/sdk
- 9be071d41da311b89b65399b5ae930fd7ebe8155
+ 1df1eafb50a190e14b8d0efd761e394f391fde6c
-
+
https://github.com/dotnet/winforms
- f40d9752f45385616d55c6e82b672506951353fa
+ 7ad393f0e830d91b1c4ebc77500c23acb82d10bb
-
+
https://github.com/dotnet/wpf
- abb96f98a8f4f94a08744404ce3a2cf0c784ed6d
-
-
-
-
- https://github.com/dotnet/wcf
- d08484b1422ee45195adff528d6c65c7c788d7fa
+ 43da04c01e8506fe4e34b0b7ec76030aaa24fb78
-
+
https://github.com/dotnet/arcade
- ff5d4b6c8dbdaeacb6e6159d3f8185118dffd915
+ 83fda4b3f6d93e713749fd1b27c4a6d40b118b13
+
+
+ https://github.com/dotnet/arcade
+ 83fda4b3f6d93e713749fd1b27c4a6d40b118b13
diff --git a/eng/Versions.props b/eng/Versions.props
index ee1ecd027..c3e981525 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -10,26 +10,30 @@
1
00
$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)
- preview
- 8
+ rc
+ 1
$(VersionMajor).$(VersionMinor)
$(MajorMinorVersion).$(VersionSDKMinor)
+
+
+ 5.0.0-beta.20417.6
+
- 5.0.0-preview.8.20361.2
+ 5.0.0-rc.1.20424.1
- 5.0.0-preview.8.20361.2
+ 5.0.0-rc.1.20424.1
- 5.0.0-preview.8.20322.2
+ 5.0.0-rc.1.20424.2
- 1.0.2-beta4.20407.5
+ 1.0.2-beta4.20420.1
@@ -37,41 +41,41 @@
- 5.0.0-preview.8.20360.11
- 5.0.0-preview.8.20360.11
- 5.0.0-preview.8.20360.11
- 5.0.0-preview.8.20360.11
- 5.0.0-preview.8.20360.11
- 5.0.0-preview.8.20360.11
+ 5.0.0-rc.1.20424.4
+ 5.0.0-rc.1.20424.4
+ 5.0.0-rc.1.20424.4
+ 5.0.0-rc.1.20424.4
+ 5.0.0-rc.1.20424.4
+ 5.0.0-rc.1.20424.4
0.2.0
- 5.0.100-preview.8.20362.2
- 5.0.100-preview.8.20362.2
+ 5.0.100-rc.1.20424.5
+ 5.0.100-rc.1.20424.5
$(MicrosoftNETSdkPackageVersion)
$(MicrosoftNETSdkPackageVersion)
- 5.0.0-preview.8.20361.2
+ 5.0.0-rc.1.20423.8
- 5.0.0-preview.8.20361.2
- 5.0.0-preview.8.20361.2
- 5.0.0-preview.8.20361.2
- 5.0.0-preview.8.20361.2
- 5.0.0-preview.8.20361.2
+ 5.0.0-rc.1.20423.8
+ 5.0.0-rc.1.20423.8
+ 5.0.0-rc.1.20423.8
+ 5.0.0-rc.1.20423.8
+ 5.0.0-rc.1.20423.8
2.1.0
- 5.0.0-preview.8.20361.2
- 5.0.0-preview.8.20361.2
- 5.0.0-preview.8.20361.2
+ 5.0.0-rc.1.20424.1
+ 5.0.0-rc.1.20424.1
+ 5.0.0-rc.1.20424.1
@@ -100,7 +104,7 @@
3.1.2
$(MicrosoftDotNetCommonItemTemplates31PackageVersion)
$(MicrosoftDotNetTestProjectTemplates50PackageVersion)
- 3.1.2
+ 3.1.7
4.8.0-rc2.19462.10
3.0.0
@@ -113,7 +117,7 @@
1.5.3
1.0.2-beta3
$(MicrosoftDotNetCommonItemTemplates21PackageVersion)
- 1.0.2-beta4.20407.5
+ 1.0.2-beta4.20420.1
2.1.14
diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1
index dc2217812..bb3617133 100644
--- a/eng/common/SetupNugetSources.ps1
+++ b/eng/common/SetupNugetSources.ps1
@@ -11,6 +11,8 @@
# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)`
# from the AzureDevOps-Artifact-Feeds-Pats variable group.
#
+# Any disabledPackageSources entries which start with "darc-int" will be re-enabled as part of this script executing
+#
# - task: PowerShell@2
# displayName: Setup Private Feeds Credentials
# condition: eq(variables['Agent.OS'], 'Windows_NT')
@@ -94,6 +96,14 @@ function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $Passw
}
}
+function EnablePrivatePackageSources($DisabledPackageSources) {
+ $maestroPrivateSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]")
+ ForEach ($DisabledPackageSource in $maestroPrivateSources) {
+ Write-Host "`tEnsuring private source '$($DisabledPackageSource.key)' is enabled"
+ $DisabledPackageSource.SetAttribute("value", "false")
+ }
+}
+
if (!(Test-Path $ConfigFile -PathType Leaf)) {
Write-PipelineTelemetryError -Category 'Build' -Message "Eng/common/SetupNugetSources.ps1 returned a non-zero exit code. Couldn't find the NuGet config file: $ConfigFile"
ExitWithExitCode 1
@@ -123,6 +133,13 @@ if ($creds -eq $null) {
$doc.DocumentElement.AppendChild($creds) | Out-Null
}
+# Check for disabledPackageSources; we'll enable any darc-int ones we find there
+$disabledSources = $doc.DocumentElement.SelectSingleNode("disabledPackageSources")
+if ($disabledSources -ne $null) {
+ Write-Host "Checking for any darc-int disabled package sources in the disabledPackageSources node"
+ EnablePrivatePackageSources -DisabledPackageSources $disabledSources
+}
+
$userName = "dn-bot"
# Insert credential nodes for Maestro's private feeds
diff --git a/eng/common/SetupNugetSources.sh b/eng/common/SetupNugetSources.sh
index f33e37711..ef3338295 100644
--- a/eng/common/SetupNugetSources.sh
+++ b/eng/common/SetupNugetSources.sh
@@ -13,6 +13,8 @@
# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)`
# from the AzureDevOps-Artifact-Feeds-Pats variable group.
#
+# Any disabledPackageSources entries which start with "darc-int" will be re-enabled as part of this script executing.
+#
# - task: Bash@3
# displayName: Setup Private Feeds Credentials
# inputs:
@@ -63,7 +65,7 @@ if [ "$?" != "0" ]; then
ConfigNodeHeader=""
PackageSourcesTemplate="${TB}${NL}${TB}"
- sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" NuGet.config
+ sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" $ConfigFile
fi
# Ensure there is a ... section.
@@ -74,7 +76,7 @@ if [ "$?" != "0" ]; then
PackageSourcesNodeFooter=""
PackageSourceCredentialsTemplate="${TB}${NL}${TB}"
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" NuGet.config
+ sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile
fi
PackageSources=()
@@ -146,3 +148,20 @@ for FeedName in ${PackageSources[@]} ; do
sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" $ConfigFile
fi
done
+
+# Re-enable any entries in disabledPackageSources where the feed name contains darc-int
+grep -i "" $ConfigFile
+if [ "$?" == "0" ]; then
+ DisabledDarcIntSources=()
+ echo "Re-enabling any disabled \"darc-int\" package sources in $ConfigFile"
+ DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' $ConfigFile | tr -d '"')
+ for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do
+ if [[ $DisabledSourceName == darc-int* ]]
+ then
+ OldDisableValue="add key=\"$DisabledSourceName\" value=\"true\""
+ NewDisableValue="add key=\"$DisabledSourceName\" value=\"false\""
+ sed -i.bak "s|$OldDisableValue|$NewDisableValue|" $ConfigFile
+ echo "Neutralized disablePackageSources entry for '$DisabledSourceName'"
+ fi
+ done
+fi
diff --git a/eng/common/cross/arm64/tizen-fetch.sh b/eng/common/cross/arm64/tizen-fetch.sh
index 338d1c3bf..a48a6f51c 100644
--- a/eng/common/cross/arm64/tizen-fetch.sh
+++ b/eng/common/cross/arm64/tizen-fetch.sh
@@ -161,7 +161,7 @@ fetch_tizen_pkgs aarch64 gcc glibc glibc-devel libicu libicu-devel libatomic lin
Inform "fetch coreclr packages"
fetch_tizen_pkgs aarch64 lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu
Inform "fetch corefx packages"
-fetch_tizen_pkgs aarch64 libcom_err libcom_err-devel zlib zlib-devel libopenssl libopenssl1.1-devel krb5 krb5-devel
+fetch_tizen_pkgs aarch64 libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel
Inform "Initialize standard unified"
fetch_tizen_pkgs_init standard unified
diff --git a/eng/common/cross/armel/tizen-fetch.sh b/eng/common/cross/armel/tizen-fetch.sh
index ed70e0a86..2776cbba4 100755
--- a/eng/common/cross/armel/tizen-fetch.sh
+++ b/eng/common/cross/armel/tizen-fetch.sh
@@ -51,7 +51,7 @@ if [ ! -d $TMPDIR ]; then
mkdir -p $TMPDIR
fi
-TIZEN_URL=http://download.tizen.org/releases/milestone/tizen
+TIZEN_URL=http://download.tizen.org/snapshots/tizen
BUILD_XML=build.xml
REPOMD_XML=repomd.xml
PRIMARY_XML=primary.xml
@@ -157,12 +157,11 @@ fetch_tizen_pkgs()
Inform "Initialize arm base"
fetch_tizen_pkgs_init standard base
Inform "fetch common packages"
-fetch_tizen_pkgs armv7l gcc glibc glibc-devel libicu libicu-devel libatomic
-fetch_tizen_pkgs noarch linux-glibc-devel
+fetch_tizen_pkgs armv7l gcc glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel
Inform "fetch coreclr packages"
fetch_tizen_pkgs armv7l lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu
Inform "fetch corefx packages"
-fetch_tizen_pkgs armv7l libcom_err libcom_err-devel zlib zlib-devel libopenssl libopenssl-devel krb5 krb5-devel libcurl libcurl-devel
+fetch_tizen_pkgs armv7l libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel
Inform "Initialize standard unified"
fetch_tizen_pkgs_init standard unified
diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake
index 88a758afb..137736c0a 100644
--- a/eng/common/cross/toolchain.cmake
+++ b/eng/common/cross/toolchain.cmake
@@ -15,11 +15,13 @@ if(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
if("$ENV{__DistroRid}" MATCHES "tizen.*")
- set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/6.2.1")
+ set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
- if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv6-alpine-linux-musleabihf)
+ if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv7-alpine-linux-musleabihf)
+ set(TOOLCHAIN "armv7-alpine-linux-musleabihf")
+ elseif(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv6-alpine-linux-musleabihf)
set(TOOLCHAIN "armv6-alpine-linux-musleabihf")
else()
set(TOOLCHAIN "arm-linux-gnueabihf")
@@ -127,29 +129,40 @@ endif()
# Specify link flags
+function(add_toolchain_linker_flag Flag)
+ set(Config "${ARGV1}")
+ set(CONFIG_SUFFIX "")
+ if (NOT Config STREQUAL "")
+ set(CONFIG_SUFFIX "_${Config}")
+ endif()
+ set("CMAKE_EXE_LINKER_FLAGS${CONFIG_SUFFIX}" "${CMAKE_EXE_LINKER_FLAGS${CONFIG_SUFFIX}} ${Flag}" PARENT_SCOPE)
+ set("CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}" "${CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}} ${Flag}" PARENT_SCOPE)
+endfunction()
+
+
if(TARGET_ARCH_NAME STREQUAL "armel")
if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only
- add_link_options("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
- add_link_options("-L${CROSS_ROOTFS}/lib")
- add_link_options("-L${CROSS_ROOTFS}/usr/lib")
- add_link_options("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
+ add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
+ add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only
- add_link_options("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
- add_link_options("-L${CROSS_ROOTFS}/lib64")
- add_link_options("-L${CROSS_ROOTFS}/usr/lib64")
- add_link_options("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
+ add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
+ add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
- add_link_options("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64")
- add_link_options("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
- add_link_options("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64")
+ add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
+ add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "x86")
- add_link_options(-m32)
+ add_toolchain_linker_flag(-m32)
elseif(ILLUMOS)
- add_link_options("-L${CROSS_ROOTFS}/lib/amd64")
- add_link_options("-L${CROSS_ROOTFS}/usr/amd64/lib")
+ add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
+ add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/amd64/lib")
endif()
# Specify compile options
diff --git a/eng/common/performance/crossgen_perf.proj b/eng/common/performance/crossgen_perf.proj
new file mode 100644
index 000000000..3c8c33d70
--- /dev/null
+++ b/eng/common/performance/crossgen_perf.proj
@@ -0,0 +1,81 @@
+
+
+
+ py -3
+ $(HelixPreCommands);call %HELIX_CORRELATION_PAYLOAD%\performance\tools\machine-setup.cmd;set PYTHONPATH=%HELIX_WORKITEM_PAYLOAD%\scripts%3B%HELIX_WORKITEM_PAYLOAD%
+ %HELIX_CORRELATION_PAYLOAD%\artifacts\BenchmarkDotNet.Artifacts
+ $HELIX_CORRELATION_PAYLOAD
+ $(BaseDirectory)/performance
+
+
+
+ $(PerformanceDirectory)/scripts/benchmarks_ci.py --csproj $(PerformanceDirectory)/$(TargetCsproj)
+ --dotnet-versions $DOTNET_VERSION --cli-source-info args --cli-branch $PERFLAB_BRANCH --cli-commit-sha $PERFLAB_HASH --cli-repository https://github.com/$PERFLAB_REPO --cli-source-timestamp $PERFLAB_BUILDTIMESTAMP
+ python3
+ $(BaseDirectory)/Core_Root/corerun
+ $(HelixPreCommands);chmod +x $(PerformanceDirectory)/tools/machine-setup.sh;. $(PerformanceDirectory)/tools/machine-setup.sh
+ $(BaseDirectory)/artifacts/BenchmarkDotNet.Artifacts
+ $(BaseDirectory)/artifacts/BenchmarkDotNet.Artifacts_Baseline
+ $(PerformanceDirectory)/src/tools/ResultsComparer/ResultsComparer.csproj
+ $(PerformanceDirectory)/tools/dotnet/$(Architecture)/dotnet
+ %25
+ $HELIX_WORKITEM_ROOT/testResults.xml
+
+
+
+
+ %(Identity)
+
+
+
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name System.Private.Xml.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name System.Linq.Expressions.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name Microsoft.CodeAnalysis.VisualBasic.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name Microsoft.CodeAnalysis.CSharp.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name System.Private.CoreLib.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single System.Private.Xml.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single System.Linq.Expressions.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single Microsoft.CodeAnalysis.VisualBasic.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single Microsoft.CodeAnalysis.CSharp.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single System.Private.CoreLib.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+
+
+ $(WorkItemDirectory)\ScenarioCorrelation
+ $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --composite %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\framework-r2r.dll.rsp --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
+ 1:00
+
+
+
\ No newline at end of file
diff --git a/eng/common/performance/perfhelixpublish.proj b/eng/common/performance/microbenchmarks.proj
similarity index 67%
rename from eng/common/performance/perfhelixpublish.proj
rename to eng/common/performance/microbenchmarks.proj
index 272366da9..5c95ef458 100644
--- a/eng/common/performance/perfhelixpublish.proj
+++ b/eng/common/performance/microbenchmarks.proj
@@ -41,6 +41,10 @@
$HELIX_WORKITEM_ROOT/testResults.xml
+
+ $(CliArguments) --wasm
+
+
--corerun %HELIX_CORRELATION_PAYLOAD%\dotnet-mono\shared\Microsoft.NETCore.App\5.0.0\corerun.exe
@@ -137,56 +141,4 @@
4:00
-
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name System.Private.Xml.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name System.Linq.Expressions.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name Microsoft.CodeAnalysis.VisualBasic.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name Microsoft.CodeAnalysis.CSharp.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen\test.py crossgen --test-name System.Private.CoreLib.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
-
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single System.Private.Xml.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single System.Linq.Expressions.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single Microsoft.CodeAnalysis.VisualBasic.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single Microsoft.CodeAnalysis.CSharp.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single System.Private.CoreLib.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
-
-
- $(WorkItemDirectory)\ScenarioCorrelation
- $(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --composite %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\framework-r2r.dll.rsp --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root
- 1:00
-
-
-
\ No newline at end of file
diff --git a/eng/common/performance/performance-setup.sh b/eng/common/performance/performance-setup.sh
index c87cbf0fc..fd26bdb17 100755
--- a/eng/common/performance/performance-setup.sh
+++ b/eng/common/performance/performance-setup.sh
@@ -24,6 +24,8 @@ run_from_perf_repo=false
use_core_run=true
use_baseline_core_run=true
using_mono=false
+wasm_runtime_loc=
+using_wasm=false
while (($# > 0)); do
lowerI="$(echo $1 | awk '{print tolower($0)}')"
@@ -70,7 +72,7 @@ while (($# > 0)); do
;;
--kind)
kind=$2
- configurations="CompliationMode=$compilation_mode RunKind=$kind"
+ configurations="CompilationMode=$compilation_mode RunKind=$kind"
shift 2
;;
--runcategories)
@@ -101,6 +103,10 @@ while (($# > 0)); do
mono_dotnet=$2
shift 2
;;
+ --wasm)
+ wasm_runtime_loc=$2
+ shift 2
+ ;;
--compare)
compare=true
shift 1
@@ -130,6 +136,7 @@ while (($# > 0)); do
echo " --runcategories Related to csproj. Categories of benchmarks to run. Defaults to \"coreclr corefx\""
echo " --internal If the benchmarks are running as an official job."
echo " --monodotnet Pass the path to the mono dotnet for mono performance testing."
+ echo " --wasm Path to the unpacked wasm runtime pack."
echo ""
exit 0
;;
@@ -141,7 +148,7 @@ if [ "$repository" == "dotnet/performance" ] || [ "$repository" == "dotnet-perfo
fi
if [ -z "$configurations" ]; then
- configurations="CompliationMode=$compilation_mode"
+ configurations="CompilationMode=$compilation_mode"
fi
if [ -z "$core_root_directory" ]; then
@@ -191,11 +198,15 @@ if [[ "$mono_dotnet" != "" ]]; then
configurations="$configurations LLVM=$llvm MonoInterpreter=$monointerpreter MonoAOT=$monoaot"
fi
-if [[ "$monointerpreter" == "true" ]]; then
- extra_benchmark_dotnet_arguments="--category-exclusion-filter NoInterpreter"
+if [[ "$wasm_runtime_loc" != "" ]]; then
+ configurations="CompilationMode=wasm;RunKind=micro"
fi
-common_setup_arguments="--channel master --queue $queue --build-number $build_number --build-configs $configurations --architecture $architecture"
+if [[ "$monointerpreter" == "true" ]]; then
+ extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --category-exclusion-filter NoInterpreter"
+fi
+
+common_setup_arguments="--channel master --queue $queue --build-number $build_number --build-configs \"$configurations\" --architecture $architecture"
setup_arguments="--repository https://github.com/$repository --branch $branch --get-perf-hash --commit-sha $commit_sha $common_setup_arguments"
@@ -217,6 +228,13 @@ else
mv $docs_directory $workitem_directory
fi
+if [[ "$wasm_runtime_loc" != "" ]]; then
+ using_wasm=true
+ wasm_dotnet_path=$payload_directory/dotnet-wasm
+ mv $wasm_runtime_loc $wasm_dotnet_path
+ extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/v8 --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm"
+fi
+
if [[ "$mono_dotnet" != "" ]]; then
using_mono=true
mono_dotnet_path=$payload_directory/dotnet-mono
@@ -259,3 +277,4 @@ Write-PipelineSetVariable -name "Kind" -value "$kind" -is_multi_job_variable fal
Write-PipelineSetVariable -name "_BuildConfig" -value "$architecture.$kind.$framework" -is_multi_job_variable false
Write-PipelineSetVariable -name "Compare" -value "$compare" -is_multi_job_variable false
Write-PipelineSetVariable -name "MonoDotnet" -value "$using_mono" -is_multi_job_variable false
+Write-PipelineSetVariable -name "WasmDotnet" -value "$using_wasm" -is_multi_job_variable false
diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1
index 32ad5c7e9..e159c6f18 100644
--- a/eng/common/sdk-task.ps1
+++ b/eng/common/sdk-task.ps1
@@ -42,6 +42,7 @@ function Build([string]$target) {
/p:Configuration=$configuration `
/p:RepoRoot=$RepoRoot `
/p:BaseIntermediateOutputPath=$outputPath `
+ /v:$verbosity `
@properties
}
diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml
index 0e79a546b..1de1f5035 100644
--- a/eng/common/templates/post-build/post-build.yml
+++ b/eng/common/templates/post-build/post-build.yml
@@ -39,6 +39,7 @@ parameters:
NetEngLatestChannelId: 2
NetEngValidationChannelId: 9
NetDev5ChannelId: 131
+ NetDev6ChannelId: 1296
GeneralTestingChannelId: 529
NETCoreToolingDevChannelId: 548
NETCoreToolingReleaseChannelId: 549
@@ -46,7 +47,6 @@ parameters:
NETCoreExperimentalChannelId: 562
NetEngServicesIntChannelId: 678
NetEngServicesProdChannelId: 679
- Net5Preview7ChannelId: 1065
Net5Preview8ChannelId: 1155
Net5RC1ChannelId: 1157
NetCoreSDK313xxChannelId: 759
@@ -115,7 +115,7 @@ stages:
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/post-build/check-channel-consistency.ps1
arguments: -PromoteToChannels "$(TargetChannels)"
- -AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetDev5ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}},${{parameters.Net5Preview7ChannelId}},${{parameters.Net5Preview8ChannelId}},${{parameters.Net5RC1ChannelId}},${{parameters.NetCoreSDK313xxChannelId}},${{parameters.NetCoreSDK313xxInternalChannelId}},${{parameters.NetCoreSDK314xxChannelId}},${{parameters.NetCoreSDK314xxInternalChannelId}},${{parameters.VS166ChannelId}},${{parameters.VS167ChannelId}},${{parameters.VS168ChannelId}},${{parameters.VSMasterChannelId}}
+ -AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetDev5ChannelId}},${{parameters.NetDev6ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}},${{parameters.Net5Preview8ChannelId}},${{parameters.Net5RC1ChannelId}},${{parameters.NetCoreSDK313xxChannelId}},${{parameters.NetCoreSDK313xxInternalChannelId}},${{parameters.NetCoreSDK314xxChannelId}},${{parameters.NetCoreSDK314xxInternalChannelId}},${{parameters.VS166ChannelId}},${{parameters.VS167ChannelId}},${{parameters.VS168ChannelId}},${{parameters.VSMasterChannelId}}
- job:
displayName: NuGet Validation
@@ -276,13 +276,13 @@ stages:
dependsOn: ${{ parameters.publishDependsOn }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
- stageName: 'Net5_Preview7_Publish'
- channelName: '.NET 5 Preview 7'
- akaMSChannelName: 'net5/preview7'
- channelId: ${{ parameters.Net5Preview7ChannelId }}
- transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json'
- shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json'
- symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-symbols/nuget/v3/index.json'
+ stageName: 'NetCore_Dev6_Publish'
+ channelName: '.NET 6 Dev'
+ akaMSChannelName: 'net6/dev'
+ channelId: ${{ parameters.NetDev6ChannelId }}
+ transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6-transport/nuget/v3/index.json'
+ shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json'
+ symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6-symbols/nuget/v3/index.json'
- template: \eng\common\templates\post-build\channels\generic-internal-channel.yml
parameters:
diff --git a/eng/common/templates/steps/perf-send-to-helix.yml b/eng/common/templates/steps/perf-send-to-helix.yml
index b3ea9acf1..e003fe2ef 100644
--- a/eng/common/templates/steps/perf-send-to-helix.yml
+++ b/eng/common/templates/steps/perf-send-to-helix.yml
@@ -1,5 +1,6 @@
# Please remember to update the documentation if you make changes to these parameters!
parameters:
+ ProjectFile: '' # required -- project file that specifies the helix workitems
HelixSource: 'pr/default' # required -- sources must start with pr/, official/, prodcon/, or agent/
HelixType: 'tests/default/' # required -- Helix telemetry which identifies what type of data this is; should include "test" for clarity and must end in '/'
HelixBuild: $(Build.BuildNumber) # required -- the build number Helix will use to identify this -- automatically set to the AzDO build number
@@ -18,9 +19,10 @@ parameters:
DisplayNamePrefix: 'Send job to Helix' # optional -- rename the beginning of the displayName of the steps in AzDO
condition: succeeded() # optional -- condition for step to execute; defaults to succeeded()
continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false
+
steps:
- - powershell: $(Build.SourcesDirectory)\eng\common\msbuild.ps1 $(Build.SourcesDirectory)\eng\common\performance\perfhelixpublish.proj /restore /t:Test /bl:$(Build.SourcesDirectory)\artifacts\log\$env:BuildConfig\SendToHelix.binlog
+ - powershell: $(Build.SourcesDirectory)\eng\common\msbuild.ps1 $(Build.SourcesDirectory)\eng\common\performance\${{ parameters.ProjectFile }} /restore /t:Test /bl:$(Build.SourcesDirectory)\artifacts\log\$env:BuildConfig\SendToHelix.binlog
displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
env:
BuildConfig: $(_BuildConfig)
@@ -42,7 +44,7 @@ steps:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
- - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/performance/perfhelixpublish.proj /restore /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
+ - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/performance/${{ parameters.ProjectFile }} /restore /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
env:
BuildConfig: $(_BuildConfig)
diff --git a/global.json b/global.json
index 05e261d5f..d9533467a 100644
--- a/global.json
+++ b/global.json
@@ -3,11 +3,11 @@
"dotnet": "5.0.100-preview.6.20310.4",
"runtimes": {
"dotnet": [
- "$(MicrosoftNETCoreAppRuntimePackageVersion)"
+ "$(MicrosoftNETCoreAppInternalPackageVersion)"
]
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20364.3"
+ "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20417.6"
}
}
diff --git a/src/CopyToLatest/CopyToLatest.csproj b/src/CopyToLatest/CopyToLatest.csproj
index 21a9eb7bb..a61ea4a61 100644
--- a/src/CopyToLatest/CopyToLatest.csproj
+++ b/src/CopyToLatest/CopyToLatest.csproj
@@ -3,12 +3,12 @@
$(CoreSdkTargetFramework)
true
false
+ $(SourceBranch.Replace('refs/heads/', ''))
-
-
+
\ No newline at end of file
diff --git a/src/CopyToLatest/targets/BranchInfo.props b/src/CopyToLatest/targets/BranchInfo.props
deleted file mode 100644
index fd434b81e..000000000
--- a/src/CopyToLatest/targets/BranchInfo.props
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- release/5.0.1xx-preview8
-
-
diff --git a/src/core-sdk-tasks/CopyBlobsToLatest.cs b/src/core-sdk-tasks/CopyBlobsToLatest.cs
index 734898a73..a62000ba7 100644
--- a/src/core-sdk-tasks/CopyBlobsToLatest.cs
+++ b/src/core-sdk-tasks/CopyBlobsToLatest.cs
@@ -64,6 +64,11 @@ namespace Microsoft.DotNet.Cli.Build
public override bool Execute()
{
+ if (!(Channel.Equals("master") || Channel.Equals("main") || Channel.StartsWith("release")))
+ {
+ return true; // Skip copy to latest, we don't want to publish to arbitrary places
+ }
+
string targetFolder = $"{AzurePublisher.Product.Sdk}/{Channel}";
string targetVersionFile = $"{targetFolder}/{CommitHash}";
diff --git a/src/redist/targets/Crossgen.targets b/src/redist/targets/Crossgen.targets
index 837a8323e..cc81a3f58 100644
--- a/src/redist/targets/Crossgen.targets
+++ b/src/redist/targets/Crossgen.targets
@@ -38,8 +38,12 @@
-
-
+
+
+
+
+
+
diff --git a/src/redist/targets/GenerateMSIs.targets b/src/redist/targets/GenerateMSIs.targets
index cab84fc7a..307808e57 100644
--- a/src/redist/targets/GenerateMSIs.targets
+++ b/src/redist/targets/GenerateMSIs.targets
@@ -1,5 +1,16 @@
+
+
+
+
+
+ $(NuGetPackageRoot)microsoft.dotnet.build.tasks.installers\$(MicrosoftDotNetBuildTasksInstallersPackageVersion)\tools\netcoreapp2.0\Microsoft.DotNet.Build.Tasks.Installers.dll
+ $(NuGetPackageRoot)microsoft.dotnet.build.tasks.installers\$(MicrosoftDotNetBuildTasksInstallersPackageVersion)\tools\net472\Microsoft.DotNet.Build.Tasks.Installers.dll
+
+
+
+
@@ -34,6 +45,11 @@
$(MSBuildThisFileDirectory)packaging/windows/clisdk/VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.nuspec
$(ArtifactsNonShippingPackagesDir)VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.$(FullNugetVersion).nupkg
$(ArtifactsNonShippingPackagesDir)VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.swr
+
+
+ $(ArtifactsObjDir)/LightCommandPackages
+
+ $(ArtifactsNonShippingPackagesDir)
@@ -173,6 +189,27 @@
'$(Architecture)' ^
'$(SdkStableFileIdForApphostTransform)' ^
-InformationAction Continue" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Inputs="@(TemplatesMsiComponent);$(TemplatesGenerateMsiPowershellScript)"
+ Outputs="%(TemplatesMsiComponent.MSIInstallerFile)">
+
+
+
+
+
+
+
+
+
+
+
+
@@ -296,6 +373,26 @@
'$(MicrosoftAspNetCoreAppRuntimePackageVersion)' ^
'$(CliProductBandVersion)' ^
-InformationAction Continue " />
+
+
+
+
+
+
+
+
+
+
AdditionalProperties { get; } = new Dictionary();
+
public TestProjectCreator([CallerMemberName] string testName = null, string identifier = "")
{
TestName = testName;
@@ -54,7 +56,11 @@ namespace EndToEnd
project.Root.Element(ns + "PropertyGroup")
.Add(new XElement(ns + "RuntimeIdentifier", RuntimeIdentifier));
}
-
+
+ foreach (var additionalProperty in AdditionalProperties)
+ {
+ project.Root.Element(ns + "PropertyGroup").Add(new XElement(ns + additionalProperty.Key, additionalProperty.Value));
+ }
if (PackageName != NETCorePackageName)
{
diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/PlatformSpecificFact.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/PlatformSpecificFact.cs
new file mode 100644
index 000000000..819cd0644
--- /dev/null
+++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/PlatformSpecificFact.cs
@@ -0,0 +1,44 @@
+// Copyright (c) .NET Foundation and contributors. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using System;
+using System.Runtime.InteropServices;
+using Xunit;
+
+namespace Microsoft.DotNet.Tools.Test.Utilities
+{
+ public class PlatformSpecificFact : FactAttribute
+ {
+ public PlatformSpecificFact(TestPlatforms platforms)
+ {
+ if (ShouldSkip(platforms))
+ {
+ this.Skip = "This test is not supported on this platform.";
+ }
+ }
+
+ internal static bool ShouldSkip(TestPlatforms platforms) =>
+ (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && !platforms.HasFlag(TestPlatforms.Windows))
+ || (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && !platforms.HasFlag(TestPlatforms.Linux))
+ || (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && !platforms.HasFlag(TestPlatforms.OSX))
+ || (RuntimeInformation.IsOSPlatform(OSPlatform.Create("FREEBSD")) && !platforms.HasFlag(TestPlatforms.FreeBSD));
+ }
+
+ [Flags]
+ public enum TestPlatforms
+ {
+ Any = -1,
+ Windows = 1,
+ Linux = 2,
+ OSX = 4,
+ FreeBSD = 8,
+ NetBSD = 16,
+ illumos = 32,
+ Solaris = 64,
+ iOS = 128,
+ tvOS = 256,
+ Android = 512,
+ Browser = 1024,
+ AnyUnix = 2048
+ }
+}
diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/PlatformSpecificTheory.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/PlatformSpecificTheory.cs
new file mode 100644
index 000000000..a23581dff
--- /dev/null
+++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/PlatformSpecificTheory.cs
@@ -0,0 +1,18 @@
+// Copyright (c) .NET Foundation and contributors. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using Xunit;
+
+namespace Microsoft.DotNet.Tools.Test.Utilities
+{
+ public class PlatformSpecificTheory : TheoryAttribute
+ {
+ public PlatformSpecificTheory(TestPlatforms platforms)
+ {
+ if (PlatformSpecificFact.ShouldSkip(platforms))
+ {
+ this.Skip = "This test is not supported on this platform.";
+ }
+ }
+ }
+}
diff --git a/test/SdkTests/TestConfig.xml b/test/SdkTests/TestConfig.xml
index ff25a0cba..794dd1478 100644
--- a/test/SdkTests/TestConfig.xml
+++ b/test/SdkTests/TestConfig.xml
@@ -141,11 +141,5 @@
Skip="true"
Issue=""
Reason="Need all .NET core runtime"/>
-
-
-