Update dependencies from https://github.com/dotnet/arcade build 20200630.3 (#7949)
Microsoft.DotNet.Arcade.Sdk From Version 5.0.0-beta.20316.1 -> To Version 5.0.0-beta.20330.3 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
This commit is contained in:
parent
4938de9293
commit
1a87e57f2d
13 changed files with 332 additions and 27 deletions
|
@ -104,9 +104,9 @@
|
||||||
</Dependency>
|
</Dependency>
|
||||||
</ProductDependencies>
|
</ProductDependencies>
|
||||||
<ToolsetDependencies>
|
<ToolsetDependencies>
|
||||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20316.1">
|
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20330.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>71b580038fb704df63e03c6b7ae7d2c6a4fdd71d</Sha>
|
<Sha>243cc92161ad44c2a07464425892daee19121c99</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
</ToolsetDependencies>
|
</ToolsetDependencies>
|
||||||
</Dependencies>
|
</Dependencies>
|
||||||
|
|
35
eng/common/cross/arm64/tizen-build-rootfs.sh
Normal file
35
eng/common/cross/arm64/tizen-build-rootfs.sh
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
__CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||||
|
__TIZEN_CROSSDIR="$__CrossDir/tizen"
|
||||||
|
|
||||||
|
if [[ -z "$ROOTFS_DIR" ]]; then
|
||||||
|
echo "ROOTFS_DIR is not defined."
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
TIZEN_TMP_DIR=$ROOTFS_DIR/tizen_tmp
|
||||||
|
mkdir -p $TIZEN_TMP_DIR
|
||||||
|
|
||||||
|
# Download files
|
||||||
|
echo ">>Start downloading files"
|
||||||
|
VERBOSE=1 $__CrossDir/tizen-fetch.sh $TIZEN_TMP_DIR
|
||||||
|
echo "<<Finish downloading files"
|
||||||
|
|
||||||
|
echo ">>Start constructing Tizen rootfs"
|
||||||
|
TIZEN_RPM_FILES=`ls $TIZEN_TMP_DIR/*.rpm`
|
||||||
|
cd $ROOTFS_DIR
|
||||||
|
for f in $TIZEN_RPM_FILES; do
|
||||||
|
rpm2cpio $f | cpio -idm --quiet
|
||||||
|
done
|
||||||
|
echo "<<Finish constructing Tizen rootfs"
|
||||||
|
|
||||||
|
# Cleanup tmp
|
||||||
|
rm -rf $TIZEN_TMP_DIR
|
||||||
|
|
||||||
|
# Configure Tizen rootfs
|
||||||
|
echo ">>Start configuring Tizen rootfs"
|
||||||
|
ln -sfn asm-arm64 ./usr/include/asm
|
||||||
|
patch -p1 < $__TIZEN_CROSSDIR/tizen.patch
|
||||||
|
echo "<<Finish configuring Tizen rootfs"
|
170
eng/common/cross/arm64/tizen-fetch.sh
Normal file
170
eng/common/cross/arm64/tizen-fetch.sh
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [[ -z "${VERBOSE// }" ]] || [ "$VERBOSE" -ne "$VERBOSE" ] 2>/dev/null; then
|
||||||
|
VERBOSE=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
Log()
|
||||||
|
{
|
||||||
|
if [ $VERBOSE -ge $1 ]; then
|
||||||
|
echo ${@:2}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
Inform()
|
||||||
|
{
|
||||||
|
Log 1 -e "\x1B[0;34m$@\x1B[m"
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug()
|
||||||
|
{
|
||||||
|
Log 2 -e "\x1B[0;32m$@\x1B[m"
|
||||||
|
}
|
||||||
|
|
||||||
|
Error()
|
||||||
|
{
|
||||||
|
>&2 Log 0 -e "\x1B[0;31m$@\x1B[m"
|
||||||
|
}
|
||||||
|
|
||||||
|
Fetch()
|
||||||
|
{
|
||||||
|
URL=$1
|
||||||
|
FILE=$2
|
||||||
|
PROGRESS=$3
|
||||||
|
if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then
|
||||||
|
CURL_OPT="--progress-bar"
|
||||||
|
else
|
||||||
|
CURL_OPT="--silent"
|
||||||
|
fi
|
||||||
|
curl $CURL_OPT $URL > $FILE
|
||||||
|
}
|
||||||
|
|
||||||
|
hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; }
|
||||||
|
hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; }
|
||||||
|
hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; }
|
||||||
|
|
||||||
|
TMPDIR=$1
|
||||||
|
if [ ! -d $TMPDIR ]; then
|
||||||
|
TMPDIR=./tizen_tmp
|
||||||
|
Debug "Create temporary directory : $TMPDIR"
|
||||||
|
mkdir -p $TMPDIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
TIZEN_URL=http://download.tizen.org/snapshots/tizen/
|
||||||
|
BUILD_XML=build.xml
|
||||||
|
REPOMD_XML=repomd.xml
|
||||||
|
PRIMARY_XML=primary.xml
|
||||||
|
TARGET_URL="http://__not_initialized"
|
||||||
|
|
||||||
|
Xpath_get()
|
||||||
|
{
|
||||||
|
XPATH_RESULT=''
|
||||||
|
XPATH=$1
|
||||||
|
XML_FILE=$2
|
||||||
|
RESULT=$(xmllint --xpath $XPATH $XML_FILE)
|
||||||
|
if [[ -z ${RESULT// } ]]; then
|
||||||
|
Error "Can not find target from $XML_FILE"
|
||||||
|
Debug "Xpath = $XPATH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
XPATH_RESULT=$RESULT
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch_tizen_pkgs_init()
|
||||||
|
{
|
||||||
|
TARGET=$1
|
||||||
|
PROFILE=$2
|
||||||
|
Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE"
|
||||||
|
|
||||||
|
TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs
|
||||||
|
if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi
|
||||||
|
mkdir -p $TMP_PKG_DIR
|
||||||
|
|
||||||
|
PKG_URL=$TIZEN_URL/$PROFILE/latest
|
||||||
|
|
||||||
|
BUILD_XML_URL=$PKG_URL/$BUILD_XML
|
||||||
|
TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML
|
||||||
|
TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML
|
||||||
|
TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML
|
||||||
|
TMP_PRIMARYGZ=${TMP_PRIMARY}.gz
|
||||||
|
|
||||||
|
Fetch $BUILD_XML_URL $TMP_BUILD
|
||||||
|
|
||||||
|
Debug "fetch $BUILD_XML_URL to $TMP_BUILD"
|
||||||
|
|
||||||
|
TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()"
|
||||||
|
Xpath_get $TARGET_XPATH $TMP_BUILD
|
||||||
|
TARGET_PATH=$XPATH_RESULT
|
||||||
|
TARGET_URL=$PKG_URL/$TARGET_PATH
|
||||||
|
|
||||||
|
REPOMD_URL=$TARGET_URL/repodata/repomd.xml
|
||||||
|
PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)'
|
||||||
|
|
||||||
|
Fetch $REPOMD_URL $TMP_REPOMD
|
||||||
|
|
||||||
|
Debug "fetch $REPOMD_URL to $TMP_REPOMD"
|
||||||
|
|
||||||
|
Xpath_get $PRIMARY_XPATH $TMP_REPOMD
|
||||||
|
PRIMARY_XML_PATH=$XPATH_RESULT
|
||||||
|
PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH
|
||||||
|
|
||||||
|
Fetch $PRIMARY_URL $TMP_PRIMARYGZ
|
||||||
|
|
||||||
|
Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ"
|
||||||
|
|
||||||
|
gunzip $TMP_PRIMARYGZ
|
||||||
|
|
||||||
|
Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY"
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch_tizen_pkgs()
|
||||||
|
{
|
||||||
|
ARCH=$1
|
||||||
|
PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)'
|
||||||
|
|
||||||
|
PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())'
|
||||||
|
|
||||||
|
for pkg in ${@:2}
|
||||||
|
do
|
||||||
|
Inform "Fetching... $pkg"
|
||||||
|
XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg}
|
||||||
|
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||||
|
Xpath_get $XPATH $TMP_PRIMARY
|
||||||
|
PKG_PATH=$XPATH_RESULT
|
||||||
|
|
||||||
|
XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg}
|
||||||
|
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||||
|
Xpath_get $XPATH $TMP_PRIMARY
|
||||||
|
CHECKSUM=$XPATH_RESULT
|
||||||
|
|
||||||
|
PKG_URL=$TARGET_URL/$PKG_PATH
|
||||||
|
PKG_FILE=$(basename $PKG_PATH)
|
||||||
|
PKG_PATH=$TMPDIR/$PKG_FILE
|
||||||
|
|
||||||
|
Debug "Download $PKG_URL to $PKG_PATH"
|
||||||
|
Fetch $PKG_URL $PKG_PATH true
|
||||||
|
|
||||||
|
echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
Error "Fail to fetch $PKG_URL to $PKG_PATH"
|
||||||
|
Debug "Checksum = $CHECKSUM"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
Inform "Initialize arm base"
|
||||||
|
fetch_tizen_pkgs_init standard base
|
||||||
|
Inform "fetch common packages"
|
||||||
|
fetch_tizen_pkgs aarch64 gcc glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel
|
||||||
|
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
|
||||||
|
|
||||||
|
Inform "Initialize standard unified"
|
||||||
|
fetch_tizen_pkgs_init standard unified
|
||||||
|
Inform "fetch corefx packages"
|
||||||
|
fetch_tizen_pkgs aarch64 gssdp gssdp-devel tizen-release
|
||||||
|
|
9
eng/common/cross/arm64/tizen/tizen.patch
Normal file
9
eng/common/cross/arm64/tizen/tizen.patch
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
|
||||||
|
--- a/usr/lib64/libc.so 2016-12-30 23:00:08.284951863 +0900
|
||||||
|
+++ b/usr/lib64/libc.so 2016-12-30 23:00:32.140951815 +0900
|
||||||
|
@@ -2,4 +2,4 @@
|
||||||
|
Use the shared library, but some functions are only in
|
||||||
|
the static library, so try that secondarily. */
|
||||||
|
OUTPUT_FORMAT(elf64-littleaarch64)
|
||||||
|
-GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) )
|
||||||
|
+GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-aarch64.so.1 ) )
|
|
@ -167,8 +167,8 @@ while :; do
|
||||||
__LLDB_Package="liblldb-6.0-dev"
|
__LLDB_Package="liblldb-6.0-dev"
|
||||||
;;
|
;;
|
||||||
tizen)
|
tizen)
|
||||||
if [ "$__BuildArch" != "armel" ]; then
|
if [ "$__BuildArch" != "armel" ] && [ "$__BuildArch" != "arm64" ]; then
|
||||||
echo "Tizen is available only for armel."
|
echo "Tizen is available only for armel and arm64."
|
||||||
usage;
|
usage;
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -31,6 +31,9 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
|
||||||
else()
|
else()
|
||||||
set(TOOLCHAIN "aarch64-linux-gnu")
|
set(TOOLCHAIN "aarch64-linux-gnu")
|
||||||
endif()
|
endif()
|
||||||
|
if("$ENV{__DistroRid}" MATCHES "tizen.*")
|
||||||
|
set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
|
||||||
|
endif()
|
||||||
elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
||||||
set(CMAKE_SYSTEM_PROCESSOR i686)
|
set(CMAKE_SYSTEM_PROCESSOR i686)
|
||||||
set(TOOLCHAIN "i686-linux-gnu")
|
set(TOOLCHAIN "i686-linux-gnu")
|
||||||
|
@ -49,11 +52,15 @@ if(DEFINED ENV{TOOLCHAIN})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Specify include paths
|
# Specify include paths
|
||||||
if(TARGET_ARCH_NAME STREQUAL "armel")
|
if(DEFINED TIZEN_TOOLCHAIN)
|
||||||
if(DEFINED TIZEN_TOOLCHAIN)
|
if(TARGET_ARCH_NAME STREQUAL "armel")
|
||||||
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
|
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
|
||||||
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
|
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
|
||||||
endif()
|
endif()
|
||||||
|
if(TARGET_ARCH_NAME STREQUAL "arm64")
|
||||||
|
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
|
||||||
|
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if("$ENV{__DistroRid}" MATCHES "android.*")
|
if("$ENV{__DistroRid}" MATCHES "android.*")
|
||||||
|
@ -127,6 +134,17 @@ if(TARGET_ARCH_NAME STREQUAL "armel")
|
||||||
add_link_options("-L${CROSS_ROOTFS}/usr/lib")
|
add_link_options("-L${CROSS_ROOTFS}/usr/lib")
|
||||||
add_link_options("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
|
add_link_options("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
|
||||||
endif()
|
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_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}")
|
||||||
|
endif()
|
||||||
elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
||||||
add_link_options(-m32)
|
add_link_options(-m32)
|
||||||
elseif(ILLUMOS)
|
elseif(ILLUMOS)
|
||||||
|
@ -157,16 +175,19 @@ if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
|
||||||
|
|
||||||
if(TARGET_ARCH_NAME STREQUAL "armel")
|
if(TARGET_ARCH_NAME STREQUAL "armel")
|
||||||
add_compile_options(-mfloat-abi=softfp)
|
add_compile_options(-mfloat-abi=softfp)
|
||||||
if(DEFINED TIZEN_TOOLCHAIN)
|
|
||||||
add_compile_options(-Wno-deprecated-declarations) # compile-time option
|
|
||||||
add_compile_options(-D__extern_always_inline=inline) # compile-time option
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
||||||
add_compile_options(-m32)
|
add_compile_options(-m32)
|
||||||
add_compile_options(-Wno-error=unused-command-line-argument)
|
add_compile_options(-Wno-error=unused-command-line-argument)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(DEFINED TIZEN_TOOLCHAIN)
|
||||||
|
if(TARGET_ARCH_NAME MATCHES "^(armel|arm64)$")
|
||||||
|
add_compile_options(-Wno-deprecated-declarations) # compile-time option
|
||||||
|
add_compile_options(-D__extern_always_inline=inline) # compile-time option
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Set LLDB include and library paths for builds that need lldb.
|
# Set LLDB include and library paths for builds that need lldb.
|
||||||
if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
|
if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
|
||||||
if(TARGET_ARCH_NAME STREQUAL "x86")
|
if(TARGET_ARCH_NAME STREQUAL "x86")
|
||||||
|
|
|
@ -63,6 +63,7 @@ function SetupCredProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($endpoints | Measure-Object).Count -gt 0) {
|
if (($endpoints | Measure-Object).Count -gt 0) {
|
||||||
|
# [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="Endpoint code example with no real credentials.")]
|
||||||
# Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
|
# Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
|
||||||
$endpointCredentials = @{endpointCredentials=$endpoints} | ConvertTo-Json -Compress
|
$endpointCredentials = @{endpointCredentials=$endpoints} | ConvertTo-Json -Compress
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,7 @@ function SetupCredProvider {
|
||||||
endpoints+=']'
|
endpoints+=']'
|
||||||
|
|
||||||
if [ ${#endpoints} -gt 2 ]; then
|
if [ ${#endpoints} -gt 2 ]; then
|
||||||
|
# [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="Endpoint code example with no real credentials.")]
|
||||||
# Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
|
# Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
|
||||||
local endpointCredentials="{\"endpointCredentials\": "$endpoints"}"
|
local endpointCredentials="{\"endpointCredentials\": "$endpoints"}"
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,11 @@
|
||||||
<PropertyGroup Condition="'$(_Framework)' != 'net461'">
|
<PropertyGroup Condition="'$(_Framework)' != 'net461'">
|
||||||
<WorkItemCommand>$(WorkItemCommand) $(CliArguments)</WorkItemCommand>
|
<WorkItemCommand>$(WorkItemCommand) $(CliArguments)</WorkItemCommand>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<WorkItemTimeout>2:30</WorkItemTimeout>
|
||||||
|
<WorkItemTimeout Condition="'$(HelixSourcePrefix)' != 'official'">0:15</WorkItemTimeout>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<HelixCorrelationPayload Include="$(CorrelationPayloadDirectory)">
|
<HelixCorrelationPayload Include="$(CorrelationPayloadDirectory)">
|
||||||
|
@ -71,7 +76,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PartitionCount>5</PartitionCount>
|
<PartitionCount>30</PartitionCount>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Partition Include="$(BuildConfig).Partition0" Index="0" />
|
<Partition Include="$(BuildConfig).Partition0" Index="0" />
|
||||||
|
@ -79,6 +84,31 @@
|
||||||
<Partition Include="$(BuildConfig).Partition2" Index="2" />
|
<Partition Include="$(BuildConfig).Partition2" Index="2" />
|
||||||
<Partition Include="$(BuildConfig).Partition3" Index="3" />
|
<Partition Include="$(BuildConfig).Partition3" Index="3" />
|
||||||
<Partition Include="$(BuildConfig).Partition4" Index="4" />
|
<Partition Include="$(BuildConfig).Partition4" Index="4" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition5" Index="5" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition6" Index="6" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition7" Index="7" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition8" Index="8" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition9" Index="9" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition10" Index="10" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition11" Index="11" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition12" Index="12" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition13" Index="13" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition14" Index="14" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition15" Index="15" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition16" Index="16" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition17" Index="17" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition18" Index="18" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition19" Index="19" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition20" Index="20" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition21" Index="21" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition22" Index="22" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition23" Index="23" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition24" Index="24" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition25" Index="25" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition26" Index="26" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition27" Index="27" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition28" Index="28" />
|
||||||
|
<Partition Include="$(BuildConfig).Partition29" Index="29" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Compare)' == 'true'">
|
<PropertyGroup Condition="'$(Compare)' == 'true'">
|
||||||
|
@ -94,7 +124,7 @@
|
||||||
<PreCommands Condition="'$(Compare)' == 'true'">$(WorkItemCommand) --bdn-artifacts $(BaselineArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(BaselineCoreRunArgument) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"</PreCommands>
|
<PreCommands Condition="'$(Compare)' == 'true'">$(WorkItemCommand) --bdn-artifacts $(BaselineArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(BaselineCoreRunArgument) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"</PreCommands>
|
||||||
<Command>$(WorkItemCommand) --bdn-artifacts $(ArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"</Command>
|
<Command>$(WorkItemCommand) --bdn-artifacts $(ArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"</Command>
|
||||||
<PostCommands Condition="'$(Compare)' == 'true'">$(DotnetExe) run -f $(_Framework) -p $(ResultsComparer) --base $(BaselineArtifactsDirectory) --diff $(ArtifactsDirectory) --threshold 2$(Percent) --xml $(XMLResults);$(FinalCommand)</PostCommands>
|
<PostCommands Condition="'$(Compare)' == 'true'">$(DotnetExe) run -f $(_Framework) -p $(ResultsComparer) --base $(BaselineArtifactsDirectory) --diff $(ArtifactsDirectory) --threshold 2$(Percent) --xml $(XMLResults);$(FinalCommand)</PostCommands>
|
||||||
<Timeout>4:00</Timeout>
|
<Timeout>$(WorkItemTimeout)</Timeout>
|
||||||
</HelixWorkItem>
|
</HelixWorkItem>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
@ -152,6 +182,11 @@
|
||||||
<PayloadDirectory>$(WorkItemDirectory)\ScenarioCorrelation</PayloadDirectory>
|
<PayloadDirectory>$(WorkItemDirectory)\ScenarioCorrelation</PayloadDirectory>
|
||||||
<Command>$(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single System.Private.CoreLib.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root</Command>
|
<Command>$(Python) %HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\crossgen2\test.py crossgen2 --single System.Private.CoreLib.dll --core-root %HELIX_CORRELATION_PAYLOAD%\Core_Root</Command>
|
||||||
</HelixWorkItem>
|
</HelixWorkItem>
|
||||||
|
<HelixWorkItem Include="Crossgen2 Composite Framework R2R">
|
||||||
|
<PayloadDirectory>$(WorkItemDirectory)\ScenarioCorrelation</PayloadDirectory>
|
||||||
|
<Command>$(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</Command>
|
||||||
|
<Timeout>1:00</Timeout>
|
||||||
|
</HelixWorkItem>
|
||||||
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -15,12 +15,22 @@ try {
|
||||||
# is available in YAML
|
# is available in YAML
|
||||||
$PromoteToChannelsIds = $PromoteToChannels -split "\D" | Where-Object { $_ }
|
$PromoteToChannelsIds = $PromoteToChannels -split "\D" | Where-Object { $_ }
|
||||||
|
|
||||||
|
$hasErrors = $false
|
||||||
|
|
||||||
foreach ($id in $PromoteToChannelsIds) {
|
foreach ($id in $PromoteToChannelsIds) {
|
||||||
if (($id -ne 0) -and ($id -notin $AvailableChannelIds)) {
|
if (($id -ne 0) -and ($id -notin $AvailableChannelIds)) {
|
||||||
Write-PipelineTaskError -Message "Channel $id is not present in the post-build YAML configuration! This is an error scenario. Please contact @dnceng."
|
Write-PipelineTaskError -Message "Channel $id is not present in the post-build YAML configuration! This is an error scenario. Please contact @dnceng."
|
||||||
|
$hasErrors = $true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# The `Write-PipelineTaskError` doesn't error the script and we might report several errors
|
||||||
|
# in the previous lines. The check below makes sure that we return an error state from the
|
||||||
|
# script if we reported any validation error
|
||||||
|
if ($hasErrors) {
|
||||||
|
ExitWithExitCode 1
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host 'done.'
|
Write-Host 'done.'
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
|
|
|
@ -24,7 +24,7 @@ $CountMissingSymbols = {
|
||||||
# Ensure input file exist
|
# Ensure input file exist
|
||||||
if (!(Test-Path $PackagePath)) {
|
if (!(Test-Path $PackagePath)) {
|
||||||
Write-PipelineTaskError "Input file does not exist: $PackagePath"
|
Write-PipelineTaskError "Input file does not exist: $PackagePath"
|
||||||
return 1
|
return -2
|
||||||
}
|
}
|
||||||
|
|
||||||
# Extensions for which we'll look for symbols
|
# Extensions for which we'll look for symbols
|
||||||
|
@ -44,7 +44,10 @@ $CountMissingSymbols = {
|
||||||
catch {
|
catch {
|
||||||
Write-Host "Something went wrong extracting $PackagePath"
|
Write-Host "Something went wrong extracting $PackagePath"
|
||||||
Write-Host $_
|
Write-Host $_
|
||||||
return -1
|
return [pscustomobject]@{
|
||||||
|
result = -1
|
||||||
|
packagePath = $PackagePath
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Get-ChildItem -Recurse $ExtractPath |
|
Get-ChildItem -Recurse $ExtractPath |
|
||||||
|
@ -146,7 +149,24 @@ $CountMissingSymbols = {
|
||||||
|
|
||||||
Pop-Location
|
Pop-Location
|
||||||
|
|
||||||
return $MissingSymbols
|
return [pscustomobject]@{
|
||||||
|
result = $MissingSymbols
|
||||||
|
packagePath = $PackagePath
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function CheckJobResult(
|
||||||
|
$result,
|
||||||
|
$packagePath,
|
||||||
|
[ref]$DupedSymbols,
|
||||||
|
[ref]$TotalFailures) {
|
||||||
|
if ($result -eq '-1') {
|
||||||
|
Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "$packagePath has duplicated symbol files"
|
||||||
|
$DupedSymbols.Value++
|
||||||
|
}
|
||||||
|
elseif ($jobResult.result -ne '0') {
|
||||||
|
$TotalFailures.Value++
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function CheckSymbolsAvailable {
|
function CheckSymbolsAvailable {
|
||||||
|
@ -155,6 +175,7 @@ function CheckSymbolsAvailable {
|
||||||
}
|
}
|
||||||
|
|
||||||
$TotalFailures = 0
|
$TotalFailures = 0
|
||||||
|
$DupedSymbols = 0
|
||||||
|
|
||||||
Get-ChildItem "$InputPath\*.nupkg" |
|
Get-ChildItem "$InputPath\*.nupkg" |
|
||||||
ForEach-Object {
|
ForEach-Object {
|
||||||
|
@ -190,9 +211,7 @@ function CheckSymbolsAvailable {
|
||||||
|
|
||||||
foreach ($Job in @(Get-Job -State 'Completed')) {
|
foreach ($Job in @(Get-Job -State 'Completed')) {
|
||||||
$jobResult = Wait-Job -Id $Job.Id | Receive-Job
|
$jobResult = Wait-Job -Id $Job.Id | Receive-Job
|
||||||
if ($jobResult -ne '0') {
|
CheckJobResult $jobResult.result $jobResult.packagePath ([ref]$DupedSymbols) ([ref]$TotalFailures)
|
||||||
$TotalFailures++
|
|
||||||
}
|
|
||||||
Remove-Job -Id $Job.Id
|
Remove-Job -Id $Job.Id
|
||||||
}
|
}
|
||||||
Write-Host
|
Write-Host
|
||||||
|
@ -200,14 +219,18 @@ function CheckSymbolsAvailable {
|
||||||
|
|
||||||
foreach ($Job in @(Get-Job)) {
|
foreach ($Job in @(Get-Job)) {
|
||||||
$jobResult = Wait-Job -Id $Job.Id | Receive-Job
|
$jobResult = Wait-Job -Id $Job.Id | Receive-Job
|
||||||
|
CheckJobResult $jobResult.result $jobResult.packagePath ([ref]$DupedSymbols) ([ref]$TotalFailures)
|
||||||
if ($jobResult -ne '0') {
|
|
||||||
$TotalFailures++
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($TotalFailures -gt 0) {
|
if ($TotalFailures -gt 0 -or $DupedSymbols -gt 0) {
|
||||||
Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "Symbols missing for $TotalFailures packages"
|
if ($TotalFailures -gt 0) {
|
||||||
|
Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "Symbols missing for $TotalFailures packages"
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($DupedSymbols -gt 0) {
|
||||||
|
Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "$DupedSymbols packages had duplicated symbol files"
|
||||||
|
}
|
||||||
|
|
||||||
ExitWithExitCode 1
|
ExitWithExitCode 1
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -114,7 +114,7 @@ stages:
|
||||||
inputs:
|
inputs:
|
||||||
filePath: $(Build.SourcesDirectory)/eng/common/post-build/check-channel-consistency.ps1
|
filePath: $(Build.SourcesDirectory)/eng/common/post-build/check-channel-consistency.ps1
|
||||||
arguments: -PromoteToChannels "$(TargetChannels)"
|
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.Net5Preview5ChannelId}},${{parameters.Net5Preview6ChannelId}},${{parameters.Net5Preview7ChannelId}},${{parameters.NetCoreSDK313xxChannelId}},${{parameters.NetCoreSDK313xxInternalChannelId}},${{parameters.NetCoreSDK314xxChannelId}},${{parameters.NetCoreSDK314xxInternalChannelId}},${{parameters.VS166ChannelId}}${{parameters.VS167ChannelId}},${{parameters.VSMasterChannelId}}
|
-AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetDev5ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}},${{parameters.Net5Preview5ChannelId}},${{parameters.Net5Preview6ChannelId}},${{parameters.Net5Preview7ChannelId}},${{parameters.NetCoreSDK313xxChannelId}},${{parameters.NetCoreSDK313xxInternalChannelId}},${{parameters.NetCoreSDK314xxChannelId}},${{parameters.NetCoreSDK314xxInternalChannelId}},${{parameters.VS166ChannelId}},${{parameters.VS167ChannelId}},${{parameters.VSMasterChannelId}}
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
displayName: NuGet Validation
|
displayName: NuGet Validation
|
||||||
|
@ -520,4 +520,4 @@ stages:
|
||||||
channelId: ${{ parameters.VSMasterChannelId }}
|
channelId: ${{ parameters.VSMasterChannelId }}
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
|
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
||||||
|
|
|
@ -8,6 +8,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"msbuild-sdks": {
|
"msbuild-sdks": {
|
||||||
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20316.1"
|
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20330.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue