From be7b233243b3751ed015b8b9920f92505862e80e Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 11:39:49 +0200 Subject: [PATCH 01/94] Add XHarness Helix SDK support --- eng/install-native-dependencies.sh | 10 + eng/pipelines/common/platform-matrix.yml | 756 +++++++++--------- eng/pipelines/common/xplat-setup.yml | 27 +- eng/pipelines/libraries/build-job.yml | 17 +- eng/pipelines/libraries/build-test-job.yml | 12 +- .../libraries/helix-queues-setup.yml | 16 +- eng/pipelines/runtime.yml | 27 +- eng/testing/tests.mobile.targets | 10 +- global.json | 2 +- src/libraries/sendtohelix.proj | 30 +- src/libraries/tests.proj | 5 +- .../AndroidAppBuilder/ApkBuilder.cs | 39 +- 12 files changed, 515 insertions(+), 436 deletions(-) diff --git a/eng/install-native-dependencies.sh b/eng/install-native-dependencies.sh index 00be5a6287289..99abba2b790ec 100755 --- a/eng/install-native-dependencies.sh +++ b/eng/install-native-dependencies.sh @@ -15,6 +15,16 @@ elif [ "$1" = "OSX" ] || [ "$1" = "tvOS" ] || [ "$1" = "iOS" ]; then if [ "$?" != "0" ]; then exit 1; fi +elif [ "$1" = "Android" ]; then + if [ -z "${ANDROID_OPENSSL_AAR}" ]; then + exit 1; + fi + if [ -d "${ANDROID_OPENSSL_AAR}" ]; then + exit 0; + fi + OPENSSL_VER=1.1.1g-alpha-1 + curl https://maven.google.com/com/android/ndk/thirdparty/openssl/${OPENSSL_VER}/openssl-${OPENSSL_VER}.aar -L --output /tmp/openssl.zip + unzip /tmp/openssl.zip -d "${ANDROID_OPENSSL_AAR}" && rm -rf /tmp/openssl.zip else echo "Must pass \"Linux\", \"tvOS\", \"iOS\" or \"OSX\" as first argument." exit 1 diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index b3c92bfcde9af..20d42e8e3edca 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -28,290 +28,290 @@ jobs: # Linux arm -- ${{ if or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Linux - archType: arm - platform: Linux_arm - container: - image: ubuntu-16.04-cross-20200413125008-09ec757 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossrootfsDir: '/crossrootfs/arm' - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Linux +# archType: arm +# platform: Linux_arm +# container: +# image: ubuntu-16.04-cross-20200413125008-09ec757 +# registry: mcr +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# crossrootfsDir: '/crossrootfs/arm' +# ${{ insert }}: ${{ parameters.jobParameters }} # Linux arm64 -- ${{ if or(containsValue(parameters.platforms, 'Linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Linux - archType: arm64 - platform: Linux_arm64 - container: - image: ubuntu-16.04-cross-arm64-20200413125008-cfdd435 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossrootfsDir: '/crossrootfs/arm64' - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'Linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Linux +# archType: arm64 +# platform: Linux_arm64 +# container: +# image: ubuntu-16.04-cross-arm64-20200413125008-cfdd435 +# registry: mcr +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# crossrootfsDir: '/crossrootfs/arm64' +# ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl x64 -- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Linux - osSubgroup: _musl - archType: x64 - platform: Linux_musl_x64 - container: - # alpine coreclr cmake errors on newer builds - ${{ if eq(parameters.runtimeFlavor, 'mono') }}: - image: alpine-3.9-WithNode-0fc54a3-20200131134036 - ${{ if eq(parameters.runtimeFlavor, 'coreclr') }}: - image: alpine-3.9-WithNode-0fc54a3-20190918214015 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Linux +# osSubgroup: _musl +# archType: x64 +# platform: Linux_musl_x64 +# container: +# # alpine coreclr cmake errors on newer builds +# ${{ if eq(parameters.runtimeFlavor, 'mono') }}: +# image: alpine-3.9-WithNode-0fc54a3-20200131134036 +# ${{ if eq(parameters.runtimeFlavor, 'coreclr') }}: +# image: alpine-3.9-WithNode-0fc54a3-20190918214015 +# registry: mcr +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl arm64 -- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Linux - osSubgroup: _musl - archType: arm64 - platform: Linux_musl_arm64 - container: - image: ubuntu-16.04-cross-arm64-alpine-20200413125008-406629a - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossrootfsDir: '/crossrootfs/arm64' - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Linux +# osSubgroup: _musl +# archType: arm64 +# platform: Linux_musl_arm64 +# container: +# image: ubuntu-16.04-cross-arm64-alpine-20200413125008-406629a +# registry: mcr +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# crossrootfsDir: '/crossrootfs/arm64' +# ${{ insert }}: ${{ parameters.jobParameters }} # Linux x64 -- ${{ if or(containsValue(parameters.platforms, 'Linux_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Linux - archType: x64 - platform: Linux_x64 - container: - image: centos-7-359e48e-20200313130914 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'Linux_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Linux +# archType: x64 +# platform: Linux_x64 +# container: +# image: centos-7-359e48e-20200313130914 +# registry: mcr +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # WebAssembly -- ${{ if containsValue(parameters.platforms, 'Browser_wasm') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Browser - archType: wasm - platform: Browser_wasm - container: - image: ubuntu-18.04-webassembly-20200529220811-6a6da63 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'Browser_wasm') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Browser +# archType: wasm +# platform: Browser_wasm +# container: +# image: ubuntu-18.04-webassembly-20200529220811-6a6da63 +# registry: mcr +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# ${{ insert }}: ${{ parameters.jobParameters }} # FreeBSD -- ${{ if containsValue(parameters.platforms, 'FreeBSD_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: FreeBSD - archType: x64 - platform: FreeBSD_x64 - container: - image: ubuntu-18.04-cross-freebsd-11-20200407092345-a84b0d2 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - buildConfig: ${{ parameters.buildConfig }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossrootfsDir: '/crossrootfs/x64' - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'FreeBSD_x64') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: FreeBSD +# archType: x64 +# platform: FreeBSD_x64 +# container: +# image: ubuntu-18.04-cross-freebsd-11-20200407092345-a84b0d2 +# registry: mcr +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# buildConfig: ${{ parameters.buildConfig }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# crossrootfsDir: '/crossrootfs/x64' +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# ${{ insert }}: ${{ parameters.jobParameters }} # Android x64 -- ${{ if containsValue(parameters.platforms, 'Android_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Android - archType: x64 - platform: Android_x64 - container: - image: ubuntu-18.04-android-20200422191843-e2c3f83 - registry: mcr - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'Android_x64') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Android +# archType: x64 +# platform: Android_x64 +# container: +# image: ubuntu-18.04-android-20200422191843-e2c3f83 +# registry: mcr +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # Android x86 -- ${{ if containsValue(parameters.platforms, 'Android_x86') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Android - archType: x86 - platform: Android_x86 - container: - image: ubuntu-18.04-android-20200422191843-e2c3f83 - registry: mcr - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'Android_x86') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Android +# archType: x86 +# platform: Android_x86 +# container: +# image: ubuntu-18.04-android-20200422191843-e2c3f83 +# registry: mcr +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # Android arm -- ${{ if containsValue(parameters.platforms, 'Android_arm') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Android - archType: arm - platform: Android_arm - container: - image: ubuntu-18.04-android-20200422191843-e2c3f83 - registry: mcr - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'Android_arm') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Android +# archType: arm +# platform: Android_arm +# container: +# image: ubuntu-18.04-android-20200422191843-e2c3f83 +# registry: mcr +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # Android arm64 -- ${{ if containsValue(parameters.platforms, 'Android_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Android - archType: arm64 - platform: Android_arm64 - container: - image: ubuntu-18.04-android-20200422191843-e2c3f83 - registry: mcr - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'Android_arm64') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Android +# archType: arm64 +# platform: Android_arm64 +# container: +# image: ubuntu-18.04-android-20200422191843-e2c3f83 +# registry: mcr +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # tvOS x64 -- ${{ if containsValue(parameters.platforms, 'tvOS_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: tvOS - archType: x64 - platform: tvOS_x64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'tvOS_x64') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: tvOS +# archType: x64 +# platform: tvOS_x64 +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # tvOS arm64 -- ${{ if containsValue(parameters.platforms, 'tvOS_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: tvOS - archType: arm64 - platform: tvOS_arm64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'tvOS_arm64') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: tvOS +# archType: arm64 +# platform: tvOS_arm64 +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # iOS x64 @@ -334,152 +334,152 @@ jobs: # iOS x86 -- ${{ if containsValue(parameters.platforms, 'iOS_x86') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: iOS - archType: x86 - platform: iOS_x86 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - managedTestBuildOsGroup: OSX - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'iOS_x86') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: iOS +# archType: x86 +# platform: iOS_x86 +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# managedTestBuildOsGroup: OSX +# ${{ insert }}: ${{ parameters.jobParameters }} # iOS arm -- ${{ if containsValue(parameters.platforms, 'iOS_arm') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: iOS - archType: arm - platform: iOS_arm - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'iOS_arm') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: iOS +# archType: arm +# platform: iOS_arm +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # iOS arm64 -- ${{ if containsValue(parameters.platforms, 'iOS_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: iOS - archType: arm64 - platform: iOS_arm64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'iOS_arm64') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: iOS +# archType: arm64 +# platform: iOS_arm64 +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # macOS x64 -- ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: OSX - archType: x64 - platform: OSX_x64 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), eq(parameters.platformGroup, 'all')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: OSX +# archType: x64 +# platform: OSX_x64 +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # Windows x64 -- ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Windows_NT - archType: x64 - platform: Windows_NT_x64 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Windows_NT +# archType: x64 +# platform: Windows_NT_x64 +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # Windows x86 -- ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x86'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Windows_NT - archType: x86 - platform: Windows_NT_x86 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x86'), in(parameters.platformGroup, 'all', 'gcstress')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Windows_NT +# archType: x86 +# platform: Windows_NT_x86 +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # Windows arm -- ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Windows_NT - archType: arm - platform: Windows_NT_arm - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm'), eq(parameters.platformGroup, 'all')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Windows_NT +# archType: arm +# platform: Windows_NT_arm +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} # Windows arm64 -- ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm64'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: Windows_NT - archType: arm64 - platform: Windows_NT_arm64 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm64'), eq(parameters.platformGroup, 'all')) }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: Windows_NT +# archType: arm64 +# platform: Windows_NT_arm64 +# jobParameters: +# runtimeFlavor: ${{ parameters.runtimeFlavor }} +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# ${{ insert }}: ${{ parameters.jobParameters }} diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index f80c77a01eb72..cd982912c1c3b 100644 --- a/eng/pipelines/common/xplat-setup.yml +++ b/eng/pipelines/common/xplat-setup.yml @@ -18,7 +18,7 @@ jobs: variables: # Disable component governance in our CI builds. These builds are not shipping nor # are they a service. Also the component governance jobs issue lots of inconsequential - # warnings and errors into our build timelines that make it hard to track down + # warnings and errors into our build timelines that make it hard to track down # real errors in the build - name: skipComponentGovernanceDetection value: true @@ -30,17 +30,6 @@ jobs: - name: System.DisableZipDownload value: true - - name: buildConfigUpper - ${{ if eq(parameters.jobParameters.buildConfig, 'debug') }}: - value: 'Debug' - ${{ if eq(parameters.jobParameters.buildConfig, 'release') }}: - value: 'Release' - ${{ if eq(parameters.jobParameters.buildConfig, 'checked') }}: - value: 'Checked' - - - name: _BuildConfig - value: $(buildConfigUpper) - - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: - name: archiveExtension value: '.zip' @@ -99,25 +88,21 @@ jobs: ${{ if eq(parameters.jobParameters.pool, '') }}: pool: # Public Linux Build Pool - ${{ if and(in(parameters.osGroup, 'Linux', 'FreeBSD'), eq(variables['System.TeamProject'], 'public')) }}: + ${{ if and(in(parameters.osGroup, 'Android', 'Linux', 'FreeBSD'), eq(variables['System.TeamProject'], 'public')) }}: name: NetCorePublic-Pool queue: BuildPool.Ubuntu.1604.Amd64.Open # Official Build Linux Pool - ${{ if and(in(parameters.osGroup, 'Linux', 'FreeBSD'), ne(variables['System.TeamProject'], 'public')) }}: + ${{ if and(in(parameters.osGroup, 'Android', 'Linux', 'FreeBSD'), ne(variables['System.TeamProject'], 'public')) }}: name: NetCoreInternal-Pool queue: BuildPool.Ubuntu.1604.Amd64 # Public OSX Build Pool - ${{ if eq(parameters.osGroup, 'OSX') }}: - vmImage: 'macOS-10.14' - - # Public OSX Build Pool - ${{ if eq(parameters.osGroup, 'iOS') }}: + ${{ if and(in(parameters.osGroup, 'OSX', 'iOS', 'tvOS'), eq(variables['System.TeamProject'], 'public')) }}: vmImage: 'macOS-10.14' - # Public OSX Build Pool - ${{ if eq(parameters.osGroup, 'tvOS') }}: + # Official OSX Build Pool + ${{ if and(in(parameters.osGroup, 'OSX', 'iOS', 'tvOS'), ne(variables['System.TeamProject'], 'public')) }}: vmImage: 'macOS-10.14' # Official Build Windows Pool diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index f33f413f457ee..0f0a8717d3751 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -61,7 +61,9 @@ jobs: - ${{ parameters.variables }} - ${{ if eq(parameters.osGroup, 'Browser') }}: - EMSDK_PATH: /usr/local/emscripten - # for coreclr library builds (when not testing) build corelib as well. + - ${{ if eq(parameters.osGroup, 'Android') }}: + - ANDROID_OPENSSL_AAR: /tmp/openssl-android + # for coreclr library builds (when not testing) build corelib as well. - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}: - _subset: clr.corelib+libs # Tests only run for 'allConfiguration' and 'net472' build-jobs @@ -75,7 +77,7 @@ jobs: - ${{ if eq(parameters.isOfficialBuild, true) }}: - template: /eng/pipelines/common/restore-internal-tools.yml - - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}: + - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS', 'Android') }}: - script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }} displayName: Install Build Dependencies @@ -90,20 +92,27 @@ jobs: $(_additionalBuildArguments) displayName: Restore and Build Product - - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: + - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: - script: | du -sh $(Build.SourcesDirectory)/* df -h displayName: Disk Usage after Build - ${{ if eq(parameters.runTests, false) }}: - - ${{ if ne(parameters.isOfficialBuild, true) }}: + - ${{ if ne(parameters.isOfficialBuild, true) }}: - task: CopyFiles@2 displayName: Prepare testhost folder to publish inputs: sourceFolder: $(Build.SourcesDirectory)/artifacts/bin/testhost targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/bin/testhost + - ${{ if eq(parameters.runtimeFlavor, 'mono') }}: + - task: CopyFiles@2 + displayName: Prepare lib-runtime-packs folder to publish + inputs: + sourceFolder: $(Build.SourcesDirectory)/artifacts/bin/lib-runtime-packs + targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/bin/lib-runtime-packs + - task: CopyFiles@2 displayName: Prepare artifacts toolset folder to publish inputs: diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml index 0ce715add47c9..ff51a5062042c 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -45,7 +45,9 @@ jobs: variables: - librariesTestsArtifactName: ${{ format('libraries_test_assets_{0}_{1}_{2}', parameters.osGroup, parameters.archType, parameters.buildConfig) }} - _archiveTestsParameter: /p:ArchiveTests=true - + - ${{ if eq(parameters.osGroup, 'Android') }}: + - ANDROID_OPENSSL_AAR: /tmp/openssl-android + - ${{ parameters.variables }} steps: @@ -57,7 +59,11 @@ jobs: unpackFolder: $(Build.SourcesDirectory)/artifacts cleanUnpackFolder: false - - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: + - ${{ if in(parameters.osGroup, 'Android') }}: + - script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }} + displayName: Install Build Dependencies + + - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: - script: | du -sh $(Build.SourcesDirectory)/* df -h @@ -69,7 +75,7 @@ jobs: $(_archiveTestsParameter) displayName: Restore and Build - - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: + - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: - script: | du -sh $(Build.SourcesDirectory)/* df -h diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index eee34fdff3bd9..da0ff8e977563 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -87,6 +87,20 @@ jobs: - OSX.1013.Amd64.Open - OSX.1014.Amd64.Open + # Android + - ${{ if in(parameters.platform, 'Android_x86', 'Android_x64') }}: + - ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}: + - Ubuntu.1804.Amd64.Android.Open + - ${{ if eq(parameters.jobParameters.isFullMatrix, false) }}: + - Ubuntu.1804.Amd64.Android.Open + + # iOS x64/x86 + - ${{ if in(parameters.platform, 'iOS_x64', 'iOS_x86') }}: + - ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}: + - OSX.1015.Amd64.Open + - ${{ if eq(parameters.jobParameters.isFullMatrix, false) }}: + - OSX.1015.Amd64.Open + # Windows_NT x64 - ${{ if eq(parameters.platform, 'Windows_NT_x64') }}: # netcoreapp @@ -110,7 +124,7 @@ jobs: # NET472 - ${{ if eq(parameters.jobParameters.framework, 'net472') }}: - Windows.10.Amd64.Client19H1.Open - + # AllConfigurations - ${{ if eq(parameters.jobParameters.framework, 'allConfigurations') }}: - Windows.10.Amd64.Server19H1.Open diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 0fcf17e8d4d1d..82e197295237b 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -156,7 +156,7 @@ jobs: # # Build CoreCLR checked using GCC toolchain # Only when CoreCLR is changed -# +# - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml @@ -466,6 +466,24 @@ jobs: jobParameters: liveRuntimeBuildConfig: release +# +# Build libraries using Mono CoreLib only +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/libraries/build-job.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - Android_x86 + - Android_x64 + - Android_arm + - tvOS_arm64 + - iOS_arm + - iOS_x64 + jobParameters: + liveRuntimeBuildConfig: release + # # Libraries Build that only run when libraries is changed # @@ -563,11 +581,14 @@ jobs: - OSX_x64 - Linux_x64 - Windows_NT_x64 + - iOS_x64 + - Android_x86 + - Android_x64 jobParameters: isOfficialBuild: false liveRuntimeBuildConfig: release testScope: innerloop - condition: >- + condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), @@ -710,6 +731,8 @@ jobs: - OSX_x64 - Linux_arm64 - Linux_x64 + - iOS_x64 + - Android_x64 helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml jobParameters: isOfficialBuild: false diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 5e12956f8b9ef..0fe8d4222a009 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -102,9 +102,17 @@ + - + + + <_appFiles Include="$(AppBundlePath)/../**/*" /> + + + + 1800 900 <_timeoutSpan>$([System.TimeSpan]::FromSeconds($(TimeoutInSeconds))) - + true - + $(TestArchiveRuntimeRoot)test-runtime-$(BuildSettings).zip $(TestArchiveRuntimeRoot)packages-testPayload-$(Configuration).zip @@ -40,6 +40,11 @@ $([System.Text.RegularExpressions.Regex]::Match($(GlobalJsonContent), '(%3F<="dotnet": ").*(%3F=")')) + + true + 1.0.0-prerelease.20304.1 + + innerloop @@ -48,7 +53,7 @@ - set DOTNET_CLI_TELEMETRY_OPTOUT=1;set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1;set DOTNET_MULTILEVEL_LOOKUP=0 + $(HelixPreCommands); set DOTNET_CLI_TELEMETRY_OPTOUT=1;set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1;set DOTNET_MULTILEVEL_LOOKUP=0 dotnet msbuild %HELIX_CORRELATION_PAYLOAD%\test.msbuild $(HelixCommand) /warnaserror @@ -60,7 +65,7 @@ set MONO_ENV_OPTIONS='$(MonoEnvOptions)' export MONO_ENV_OPTIONS='$(MonoEnvOptions)' - + + <_appBundleFiles Include="$(TestArchiveTestsRoot)**/*"/> + <_appBundleDirs Include="@(_appBundleFiles->'%(RootDir)%(Directory)'->Distinct())"/> + + ios-device + ios-device + ios-simulator-64 + ios-simulator-32 + + + + <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 6e92a434cf559..3f0984b63d38c 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -19,9 +19,12 @@ + + Condition="'$(BuildAllConfigurations)' != 'true' and '$(TargetOS)' != 'iOS'" /> diff --git a/tools-local/tasks/mobile.tasks/AndroidAppBuilder/ApkBuilder.cs b/tools-local/tasks/mobile.tasks/AndroidAppBuilder/ApkBuilder.cs index a92a5090c3368..c4976ce1362fb 100644 --- a/tools-local/tasks/mobile.tasks/AndroidAppBuilder/ApkBuilder.cs +++ b/tools-local/tasks/mobile.tasks/AndroidAppBuilder/ApkBuilder.cs @@ -65,8 +65,8 @@ public class ApkBuilder // make sure BuildApiLevel >= MinApiLevel // only if these api levels are not "preview" (not integers) - if (int.TryParse(BuildApiLevel, out int intApi) && - int.TryParse(MinApiLevel, out int intMinApi) && + if (int.TryParse(BuildApiLevel, out int intApi) && + int.TryParse(MinApiLevel, out int intMinApi) && intApi < intMinApi) { throw new ArgumentException($"BuildApiLevel={BuildApiLevel} <= MinApiLevel={MinApiLevel}. " + @@ -82,7 +82,7 @@ public class ApkBuilder Directory.CreateDirectory(Path.Combine(OutputDir, "obj")); Directory.CreateDirectory(Path.Combine(OutputDir, "assets-tozip")); Directory.CreateDirectory(Path.Combine(OutputDir, "assets")); - + var extensionsToIgnore = new List { ".so", ".a", ".gz" }; if (StripDebugSymbols) { @@ -125,7 +125,7 @@ public class ApkBuilder Utils.RunProcess(zip, workingDir: Path.Combine(OutputDir, "assets-tozip"), args: "-q -r ../assets/assets.zip ."); Directory.Delete(Path.Combine(OutputDir, "assets-tozip"), true); - + if (!File.Exists(androidJar)) throw new ArgumentException($"API level={BuildApiLevel} is not downloaded in Android SDK"); @@ -144,12 +144,12 @@ public class ApkBuilder .Replace("%EntryPointLibName%", Path.GetFileName(entryPointLib) .Replace("%RID%", GetRid(abi))); File.WriteAllText(Path.Combine(OutputDir, "monodroid.c"), monodroidSrc); - - string cmakeGenArgs = $"-DCMAKE_TOOLCHAIN_FILE={androidToolchain} -DANDROID_ABI=\"{abi}\" -DANDROID_STL=none " + + + string cmakeGenArgs = $"-DCMAKE_TOOLCHAIN_FILE={androidToolchain} -DANDROID_ABI=\"{abi}\" -DANDROID_STL=none " + $"-DANDROID_NATIVE_API_LEVEL={MinApiLevel} -B monodroid"; string cmakeBuildArgs = "--build monodroid"; - + if (StripDebugSymbols) { // Use "-s" to strip debug symbols, it complains it's unused but it works @@ -172,11 +172,11 @@ public class ApkBuilder string packageId = $"net.dot.{ProjectName}"; - File.WriteAllText(Path.Combine(javaSrcFolder, "MainActivity.java"), + File.WriteAllText(Path.Combine(javaSrcFolder, "MainActivity.java"), Utils.GetEmbeddedResource("MainActivity.java")); - File.WriteAllText(Path.Combine(javaSrcFolder, "MonoRunner.java"), + File.WriteAllText(Path.Combine(javaSrcFolder, "MonoRunner.java"), Utils.GetEmbeddedResource("MonoRunner.java")); - File.WriteAllText(Path.Combine(OutputDir, "AndroidManifest.xml"), + File.WriteAllText(Path.Combine(OutputDir, "AndroidManifest.xml"), Utils.GetEmbeddedResource("AndroidManifest.xml") .Replace("%PackageName%", packageId) .Replace("%MinSdkLevel%", MinApiLevel)); @@ -190,10 +190,13 @@ public class ApkBuilder string apkFile = Path.Combine(OutputDir, "bin", $"{ProjectName}.unaligned.apk"); Utils.RunProcess(aapt, $"package -f -m -F {apkFile} -A assets -M AndroidManifest.xml -I {androidJar}", workingDir: OutputDir); - + var dynamicLibs = new List(); - dynamicLibs.Add(Path.Combine(OutputDir, "monodroid", "libmonodroid.so")); - dynamicLibs.AddRange(Directory.GetFiles(sourceDir, "*.so")); + dynamicLibs.Add(Path.Combine(OutputDir, "runtime-android", "libruntime-android.so")); + + // Testing out if this works better for addrange + dynamicLibs.AddRange(Directory.GetFiles(sourceDir, "*", SearchOption.AllDirectories).Where(f => f.EndsWith(".so")).ToArray()); + //dynamicLibs.AddRange(Directory.GetFiles(sourceDir, "*.so")); // add all *.so files to lib/%abi%/ Directory.CreateDirectory(Path.Combine(OutputDir, "lib", abi)); @@ -222,7 +225,7 @@ public class ApkBuilder File.Delete(apkFile); // 5. Generate key - + string signingKey = Path.Combine(OutputDir, "debug.keystore"); if (!File.Exists(signingKey)) { @@ -233,7 +236,7 @@ public class ApkBuilder // 6. Sign APK - Utils.RunProcess(apksigner, $"sign --min-sdk-version {MinApiLevel} --ks debug.keystore " + + Utils.RunProcess(apksigner, $"sign --min-sdk-version {MinApiLevel} --ks debug.keystore " + $"--ks-pass pass:android --key-pass pass:android {alignedApk}", workingDir: OutputDir); Utils.LogInfo($"\nAPK size: {(new FileInfo(alignedApk).Length / 1000_000.0):0.#} Mb.\n"); @@ -241,14 +244,14 @@ public class ApkBuilder return (alignedApk, packageId); } - private static string GetRid(string abi) => abi switch + private static string GetRid(string abi) => abi switch { "arm64-v8a" => "android-arm64", "armeabi-v7a" => "android-arm", "x86_64" => "android-x64", _ => "android-" + abi }; - + /// /// Scan android SDK for build tools (ignore preview versions) /// @@ -266,7 +269,7 @@ private static string GetLatestBuildTools(string androidSdkDir) return buildTools; } - + /// /// Scan android SDK for api levels (ignore preview versions) /// From 066bafa37b14c6614bbd0169c21082ec5e4b26bb Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 11:51:51 +0200 Subject: [PATCH 02/94] Try to build mono libraries --- eng/pipelines/runtime.yml | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 82e197295237b..6a8f8bba445ed 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -247,6 +247,7 @@ jobs: - tvOS_x64 - iOS_arm64 - iOS_x86 + - iOS_x64 - Browser_wasm - Linux_arm jobParameters: @@ -461,29 +462,12 @@ jobs: - Linux_musl_x64 - Linux_x64 - OSX_x64 + - iOS_x64 - Windows_NT_x64 - FreeBSD_x64 jobParameters: liveRuntimeBuildConfig: release -# -# Build libraries using Mono CoreLib only -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/libraries/build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - Android_x86 - - Android_x64 - - Android_arm - - tvOS_arm64 - - iOS_arm - - iOS_x64 - jobParameters: - liveRuntimeBuildConfig: release - # # Libraries Build that only run when libraries is changed # From ebbf08b84c5fa0a513ca426fa8483d459ebb8e4a Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 11:56:59 +0200 Subject: [PATCH 03/94] Try to build mono libraries --- eng/pipelines/runtime.yml | 266 +++++++++++++++++++++++++------------- 1 file changed, 177 insertions(+), 89 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 6a8f8bba445ed..364b7696c155d 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -233,143 +233,130 @@ jobs: eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), eq(variables['isFullMatrix'], true))) -# Build the whole product using Mono runtime -# Only when libraries, mono or installer are changed +# +# Build Mono debug +# Only when libraries or mono changed # - template: /eng/pipelines/common/platform-matrix.yml parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + jobTemplate: /eng/pipelines/mono/templates/build-job.yml runtimeFlavor: mono + buildConfig: debug platforms: + - Android_x64 - Android_x86 + - Android_arm - Android_arm64 - tvOS_x64 - - iOS_arm64 - - iOS_x86 + - tvOS_arm64 - iOS_x64 - - Browser_wasm + - iOS_x86 + - iOS_arm + - iOS_arm64 + - OSX_x64 + - Linux_x64 - Linux_arm + - Linux_arm64 + - Linux_musl_x64 + - Browser_wasm + # - Linux_musl_arm64 + - Windows_NT_x64 + # - Windows_NT_x86 + # - Windows_NT_arm + # - Windows_NT_arm64 jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+installer -c $(_BuildConfig) condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) +# +# Build Mono release +# Only when libraries or mono changed +# - template: /eng/pipelines/common/platform-matrix.yml parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release + jobTemplate: /eng/pipelines/mono/templates/build-job.yml runtimeFlavor: mono + buildConfig: release platforms: - Android_x64 + - Android_x86 - Android_arm + - Android_arm64 + - tvOS_x64 - tvOS_arm64 - - iOS_arm - iOS_x64 + - iOS_x86 + - iOS_arm + - iOS_arm64 + - Linux_x64 + - Linux_arm + - Linux_arm64 - Linux_musl_x64 + - Browser_wasm + # - Linux_musl_arm64 + - Windows_NT_x64 + # - Windows_NT_x86 + # - Windows_NT_arm + # - Windows_NT_arm64 jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+installer -c $(_BuildConfig) condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) # -# Build Mono and Installer on LLVMJIT mode -# +# Build Mono release +# Only when libraries, mono, or the runtime tests changed +# Currently only these architectures are needed for the runtime tests. - template: /eng/pipelines/common/platform-matrix.yml parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release + jobTemplate: /eng/pipelines/mono/templates/build-job.yml runtimeFlavor: mono + buildConfig: release platforms: - OSX_x64 jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMJIT - buildArgs: -s mono+libs+installer -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMJIT - buildArgs: -s mono+libs+installer -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false - condition: >- - or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) + # -# Build Mono and Installer on LLVMAOT mode +# Build Mono LLVM debug +# Only when libraries or mono changed # - template: /eng/pipelines/common/platform-matrix.yml parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMAOT - buildArgs: -s mono+libs+installer -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - condition: >- - or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) - -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + jobTemplate: /eng/pipelines/mono/templates/build-job.yml runtimeFlavor: mono + buildConfig: debug platforms: - OSX_x64 + - Linux_x64 + # - Linux_arm + # - Linux_arm64 + # - Linux_musl_x64 + # - Linux_musl_arm64 + # - Windows_NT_x64 + # - Windows_NT_x86 + # - Windows_NT_arm + # - Windows_NT_arm64 jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMAOT - buildArgs: -s mono+libs+installer -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + runtimeVariant: LLVMJIT condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) -# -# Build Mono debug -# Only when libraries or mono changed -# - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/mono/templates/build-job.yml @@ -378,13 +365,16 @@ jobs: platforms: - OSX_x64 - Linux_x64 - - Linux_arm64 + # - Linux_arm + # - Linux_arm64 + # - Linux_musl_x64 # - Linux_musl_arm64 - - Windows_NT_x64 + # - Windows_NT_x64 # - Windows_NT_x86 # - Windows_NT_arm # - Windows_NT_arm64 jobParameters: + runtimeVariant: LLVMAOT condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), @@ -392,7 +382,7 @@ jobs: eq(variables['isFullMatrix'], true)) # -# Build Mono release +# Build Mono LLVM release # Only when libraries or mono changed # - template: /eng/pipelines/common/platform-matrix.yml @@ -401,24 +391,24 @@ jobs: runtimeFlavor: mono buildConfig: release platforms: + - OSX_x64 - Linux_x64 - - Linux_arm64 + # - Linux_arm + # - Linux_arm64 + # - Linux_musl_x64 # - Linux_musl_arm64 - - Windows_NT_x64 + # - Windows_NT_x64 # - Windows_NT_x86 # - Windows_NT_arm # - Windows_NT_arm64 jobParameters: + runtimeVariant: LLVMJIT condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) -# -# Build Mono release -# Only when libraries, mono, or the runtime tests changed -# Currently only these architectures are needed for the runtime tests. - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/mono/templates/build-job.yml @@ -426,11 +416,20 @@ jobs: buildConfig: release platforms: - OSX_x64 + - Linux_x64 + # - Linux_arm + # - Linux_arm64 + # - Linux_musl_x64 + # - Linux_musl_arm64 + # - Windows_NT_x64 + # - Windows_NT_x86 + # - Windows_NT_arm + # - Windows_NT_arm64 jobParameters: + runtimeVariant: LLVMAOT condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) @@ -462,12 +461,46 @@ jobs: - Linux_musl_x64 - Linux_x64 - OSX_x64 - - iOS_x64 - Windows_NT_x64 - FreeBSD_x64 jobParameters: liveRuntimeBuildConfig: release +# +# Build libraries using Mono CoreLib only +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/libraries/build-job.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - Android_x86 + - Android_x64 + - Android_arm + - tvOS_arm64 + - iOS_arm + - iOS_x64 + jobParameters: + liveRuntimeBuildConfig: release + +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/libraries/build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - Android_x86 + - Android_x64 + - Android_arm64 + - tvOS_x64 + - iOS_arm64 + - iOS_x86 + - iOS_x64 + - Browser_wasm + jobParameters: + liveRuntimeBuildConfig: debug + # # Libraries Build that only run when libraries is changed # @@ -553,6 +586,61 @@ jobs: liveRuntimeBuildConfig: release liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} +- template: /eng/pipelines/installer/installer-matrix.yml + parameters: + buildConfig: Release + runtimeFlavor: mono + platforms: + - Android_x64 + - Android_arm + - tvOS_arm64 + - iOS_arm + - iOS_x64 + jobParameters: + liveRuntimeBuildConfig: release + liveLibrariesBuildConfig: Release + +- template: /eng/pipelines/installer/installer-matrix.yml + parameters: + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - Android_x86 + - Android_arm64 + - tvOS_x64 + - iOS_arm64 + - iOS_x86 + - OSX_x64 + - Linux_x64 + - Browser_wasm + jobParameters: + liveRuntimeBuildConfig: release + liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + +- template: /eng/pipelines/installer/installer-matrix.yml + parameters: + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - OSX_x64 + - Linux_x64 + jobParameters: + runtimeVariant: LLVMJIT + liveRuntimeBuildConfig: release + liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + +- template: /eng/pipelines/installer/installer-matrix.yml + parameters: + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - OSX_x64 + - Linux_x64 + jobParameters: + runtimeVariant: LLVMAOT + liveRuntimeBuildConfig: release + liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + # # Libraries Test Build # Only when CoreCLR, Mono or Libraries is changed @@ -563,9 +651,9 @@ jobs: buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} platforms: - OSX_x64 + - iOS_x64 - Linux_x64 - Windows_NT_x64 - - iOS_x64 - Android_x86 - Android_x64 jobParameters: @@ -713,9 +801,9 @@ jobs: platforms: - Windows_NT_x64 - OSX_x64 + - iOS_x64 - Linux_arm64 - Linux_x64 - - iOS_x64 - Android_x64 helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml jobParameters: From 83d7cab3afbe10f659a5f3ecb2c88fe9963e76ad Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 12:16:01 +0200 Subject: [PATCH 04/94] Address some of Santiago's feedback from Jo's PR --- eng/pipelines/common/xplat-setup.yml | 8 ++------ eng/pipelines/libraries/helix-queues-setup.yml | 10 ++-------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index cd982912c1c3b..3f217e9d3aa68 100644 --- a/eng/pipelines/common/xplat-setup.yml +++ b/eng/pipelines/common/xplat-setup.yml @@ -97,12 +97,8 @@ jobs: name: NetCoreInternal-Pool queue: BuildPool.Ubuntu.1604.Amd64 - # Public OSX Build Pool - ${{ if and(in(parameters.osGroup, 'OSX', 'iOS', 'tvOS'), eq(variables['System.TeamProject'], 'public')) }}: - vmImage: 'macOS-10.14' - - # Official OSX Build Pool - ${{ if and(in(parameters.osGroup, 'OSX', 'iOS', 'tvOS'), ne(variables['System.TeamProject'], 'public')) }}: + # OSX Build Pool (we don't have on-prem OSX BuildPool + ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}: vmImage: 'macOS-10.14' # Official Build Windows Pool diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index da0ff8e977563..4b34d142f3b98 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -89,17 +89,11 @@ jobs: # Android - ${{ if in(parameters.platform, 'Android_x86', 'Android_x64') }}: - - ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}: - - Ubuntu.1804.Amd64.Android.Open - - ${{ if eq(parameters.jobParameters.isFullMatrix, false) }}: - - Ubuntu.1804.Amd64.Android.Open + - Ubuntu.1804.Amd64.Android.Open # iOS x64/x86 - ${{ if in(parameters.platform, 'iOS_x64', 'iOS_x86') }}: - - ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}: - - OSX.1015.Amd64.Open - - ${{ if eq(parameters.jobParameters.isFullMatrix, false) }}: - - OSX.1015.Amd64.Open + - OSX.1015.Amd64.Open # Windows_NT x64 - ${{ if eq(parameters.platform, 'Windows_NT_x64') }}: From 1379eefc81c028a4e0a040f01539d2740b10bcac Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 12:26:15 +0200 Subject: [PATCH 05/94] Merge runtime.yml from master --- eng/pipelines/runtime.yml | 264 +++++++++++++------------------------- 1 file changed, 88 insertions(+), 176 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 364b7696c155d..e3f6b600155b6 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -233,130 +233,143 @@ jobs: eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), eq(variables['isFullMatrix'], true))) -# -# Build Mono debug -# Only when libraries or mono changed +# Build the whole product using Mono runtime +# Only when libraries, mono or installer are changed # - template: /eng/pipelines/common/platform-matrix.yml parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} runtimeFlavor: mono - buildConfig: debug platforms: - - Android_x64 - Android_x86 - - Android_arm - Android_arm64 - tvOS_x64 - - tvOS_arm64 - - iOS_x64 - - iOS_x86 - - iOS_arm - iOS_arm64 - - OSX_x64 - - Linux_x64 - - Linux_arm - - Linux_arm64 - - Linux_musl_x64 + - iOS_x86 + - iOS_x64 - Browser_wasm - # - Linux_musl_arm64 - - Windows_NT_x64 - # - Windows_NT_x86 - # - Windows_NT_arm - # - Windows_NT_arm64 + - Linux_arm jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+installer -c $(_BuildConfig) condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) -# -# Build Mono release -# Only when libraries or mono changed -# - template: /eng/pipelines/common/platform-matrix.yml parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release runtimeFlavor: mono - buildConfig: release platforms: - Android_x64 - - Android_x86 - Android_arm - - Android_arm64 - - tvOS_x64 - tvOS_arm64 - - iOS_x64 - - iOS_x86 - iOS_arm - - iOS_arm64 - - Linux_x64 - - Linux_arm - - Linux_arm64 + - iOS_x64 - Linux_musl_x64 - - Browser_wasm - # - Linux_musl_arm64 - - Windows_NT_x64 - # - Windows_NT_x86 - # - Windows_NT_arm - # - Windows_NT_arm64 jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+installer -c $(_BuildConfig) condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) # -# Build Mono release -# Only when libraries, mono, or the runtime tests changed -# Currently only these architectures are needed for the runtime tests. +# Build Mono and Installer on LLVMJIT mode +# - template: /eng/pipelines/common/platform-matrix.yml parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release runtimeFlavor: mono - buildConfig: release platforms: - OSX_x64 jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMJIT + buildArgs: -s mono+libs+installer -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) - +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMJIT + buildArgs: -s mono+libs+installer -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false + condition: >- + or( + eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) # -# Build Mono LLVM debug -# Only when libraries or mono changed +# Build Mono and Installer on LLVMAOT mode # - template: /eng/pipelines/common/platform-matrix.yml parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release runtimeFlavor: mono - buildConfig: debug platforms: - - OSX_x64 - Linux_x64 - # - Linux_arm - # - Linux_arm64 - # - Linux_musl_x64 - # - Linux_musl_arm64 - # - Windows_NT_x64 - # - Windows_NT_x86 - # - Windows_NT_arm - # - Windows_NT_arm64 jobParameters: - runtimeVariant: LLVMJIT + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMAOT + buildArgs: -s mono+libs+installer -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + condition: >- + or( + eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) + +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - OSX_x64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMAOT + buildArgs: -s mono+libs+installer -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) +# +# Build Mono debug +# Only when libraries or mono changed +# - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/mono/templates/build-job.yml @@ -365,16 +378,13 @@ jobs: platforms: - OSX_x64 - Linux_x64 - # - Linux_arm - # - Linux_arm64 - # - Linux_musl_x64 + - Linux_arm64 # - Linux_musl_arm64 - # - Windows_NT_x64 + - Windows_NT_x64 # - Windows_NT_x86 # - Windows_NT_arm # - Windows_NT_arm64 jobParameters: - runtimeVariant: LLVMAOT condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), @@ -382,7 +392,7 @@ jobs: eq(variables['isFullMatrix'], true)) # -# Build Mono LLVM release +# Build Mono release # Only when libraries or mono changed # - template: /eng/pipelines/common/platform-matrix.yml @@ -391,24 +401,24 @@ jobs: runtimeFlavor: mono buildConfig: release platforms: - - OSX_x64 - Linux_x64 - # - Linux_arm - # - Linux_arm64 - # - Linux_musl_x64 + - Linux_arm64 # - Linux_musl_arm64 - # - Windows_NT_x64 + - Windows_NT_x64 # - Windows_NT_x86 # - Windows_NT_arm # - Windows_NT_arm64 jobParameters: - runtimeVariant: LLVMJIT condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) +# +# Build Mono release +# Only when libraries, mono, or the runtime tests changed +# Currently only these architectures are needed for the runtime tests. - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/mono/templates/build-job.yml @@ -416,20 +426,11 @@ jobs: buildConfig: release platforms: - OSX_x64 - - Linux_x64 - # - Linux_arm - # - Linux_arm64 - # - Linux_musl_x64 - # - Linux_musl_arm64 - # - Windows_NT_x64 - # - Windows_NT_x86 - # - Windows_NT_arm - # - Windows_NT_arm64 jobParameters: - runtimeVariant: LLVMAOT condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) @@ -463,44 +464,10 @@ jobs: - OSX_x64 - Windows_NT_x64 - FreeBSD_x64 - jobParameters: - liveRuntimeBuildConfig: release - -# -# Build libraries using Mono CoreLib only -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/libraries/build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - Android_x86 - - Android_x64 - - Android_arm - - tvOS_arm64 - - iOS_arm - iOS_x64 jobParameters: liveRuntimeBuildConfig: release -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/libraries/build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - Android_x86 - - Android_x64 - - Android_arm64 - - tvOS_x64 - - iOS_arm64 - - iOS_x86 - - iOS_x64 - - Browser_wasm - jobParameters: - liveRuntimeBuildConfig: debug - # # Libraries Build that only run when libraries is changed # @@ -586,61 +553,6 @@ jobs: liveRuntimeBuildConfig: release liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} -- template: /eng/pipelines/installer/installer-matrix.yml - parameters: - buildConfig: Release - runtimeFlavor: mono - platforms: - - Android_x64 - - Android_arm - - tvOS_arm64 - - iOS_arm - - iOS_x64 - jobParameters: - liveRuntimeBuildConfig: release - liveLibrariesBuildConfig: Release - -- template: /eng/pipelines/installer/installer-matrix.yml - parameters: - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - Android_x86 - - Android_arm64 - - tvOS_x64 - - iOS_arm64 - - iOS_x86 - - OSX_x64 - - Linux_x64 - - Browser_wasm - jobParameters: - liveRuntimeBuildConfig: release - liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - -- template: /eng/pipelines/installer/installer-matrix.yml - parameters: - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - OSX_x64 - - Linux_x64 - jobParameters: - runtimeVariant: LLVMJIT - liveRuntimeBuildConfig: release - liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - -- template: /eng/pipelines/installer/installer-matrix.yml - parameters: - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - OSX_x64 - - Linux_x64 - jobParameters: - runtimeVariant: LLVMAOT - liveRuntimeBuildConfig: release - liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - # # Libraries Test Build # Only when CoreCLR, Mono or Libraries is changed @@ -651,9 +563,9 @@ jobs: buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} platforms: - OSX_x64 - - iOS_x64 - Linux_x64 - Windows_NT_x64 + - iOS_x64 - Android_x86 - Android_x64 jobParameters: @@ -801,9 +713,9 @@ jobs: platforms: - Windows_NT_x64 - OSX_x64 - - iOS_x64 - Linux_arm64 - Linux_x64 + - iOS_x64 - Android_x64 helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml jobParameters: From 98377f1df7fe1e6e1344fc43c96323ec65933fb2 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 12:37:13 +0200 Subject: [PATCH 06/94] Build iOSx64 libraries --- eng/pipelines/runtime.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index e3f6b600155b6..88db66f6e0a11 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -247,7 +247,6 @@ jobs: - tvOS_x64 - iOS_arm64 - iOS_x86 - - iOS_x64 - Browser_wasm - Linux_arm jobParameters: @@ -462,9 +461,9 @@ jobs: - Linux_musl_x64 - Linux_x64 - OSX_x64 + - iOS_x64 - Windows_NT_x64 - FreeBSD_x64 - - iOS_x64 jobParameters: liveRuntimeBuildConfig: release From 495c602bdd8aeefb1ef4875244f8ee0a38ff8607 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 12:40:35 +0200 Subject: [PATCH 07/94] Try to build mono product --- eng/pipelines/runtime.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 88db66f6e0a11..0868cb6dc6801 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -376,6 +376,7 @@ jobs: buildConfig: debug platforms: - OSX_x64 + - iOS_x64 - Linux_x64 - Linux_arm64 # - Linux_musl_arm64 @@ -402,6 +403,7 @@ jobs: platforms: - Linux_x64 - Linux_arm64 + - iOS_x64 # - Linux_musl_arm64 - Windows_NT_x64 # - Windows_NT_x86 @@ -425,6 +427,7 @@ jobs: buildConfig: release platforms: - OSX_x64 + - iOS_x64 jobParameters: condition: >- or( From c571262738154ad554e9309476830b848ef4662a Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 12:43:13 +0200 Subject: [PATCH 08/94] Try to build mono product --- eng/pipelines/runtime.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 0868cb6dc6801..56ff74d833f46 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -403,7 +403,6 @@ jobs: platforms: - Linux_x64 - Linux_arm64 - - iOS_x64 # - Linux_musl_arm64 - Windows_NT_x64 # - Windows_NT_x86 From 636bc660171f976c4050109e0450dc5639d65bc5 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 12:52:19 +0200 Subject: [PATCH 09/94] Merge master --- eng/pipelines/common/platform-matrix.yml | 1 + eng/pipelines/common/xplat-setup.yml | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 20d42e8e3edca..6180c7ff78c84 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -330,6 +330,7 @@ jobs: ${{ if eq(parameters.passPlatforms, true) }}: platforms: ${{ parameters.platforms }} helixQueueGroup: ${{ parameters.helixQueueGroup }} + managedTestBuildOsGroup: OSX ${{ insert }}: ${{ parameters.jobParameters }} # iOS x86 diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index 3f217e9d3aa68..2aa4627ad38f8 100644 --- a/eng/pipelines/common/xplat-setup.yml +++ b/eng/pipelines/common/xplat-setup.yml @@ -30,6 +30,17 @@ jobs: - name: System.DisableZipDownload value: true + - name: buildConfigUpper + ${{ if eq(parameters.jobParameters.buildConfig, 'debug') }}: + value: 'Debug' + ${{ if eq(parameters.jobParameters.buildConfig, 'release') }}: + value: 'Release' + ${{ if eq(parameters.jobParameters.buildConfig, 'checked') }}: + value: 'Checked' + + - name: _BuildConfig + value: $(buildConfigUpper) + - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: - name: archiveExtension value: '.zip' From 9d9da07ae5c32b6b08bbb810ee7c985fa901cd26 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 13:17:06 +0200 Subject: [PATCH 10/94] Do not build AllSubsets --- eng/pipelines/runtime.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 56ff74d833f46..cc1ea28b5a9d4 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -426,7 +426,6 @@ jobs: buildConfig: release platforms: - OSX_x64 - - iOS_x64 jobParameters: condition: >- or( From 21d5ebc68f48229ce7bdd0a24fd878141037ef76 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 15:11:29 +0200 Subject: [PATCH 11/94] Remove dead code --- eng/testing/tests.mobile.targets | 65 +++++++++++++------------------- 1 file changed, 27 insertions(+), 38 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 0fe8d4222a009..12b52e0346e63 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -62,6 +62,7 @@ + @@ -74,31 +75,30 @@ + CompilerBinaryPath="$(RuntimePackNativeDir)cross\mono-aot-cross" + Mode="Full" + OutputType="AsmOnly" + Assemblies="@(AotInputAssemblies)" + UseLLVM="$(MonoEnableLLVM)" + LLVMPath="$(RuntimePackNativeDir)cross"> - + @@ -111,7 +111,8 @@ + DestinationFolder="$(TestArchiveTestsDir)/%(RecursiveDir)" + SkipUnchangedFiles="true"/> @@ -123,24 +124,12 @@ - - - - - - <_runnerFilesToPublish Include="$(AndroidTestRunnerDir)*" Condition="'$(TargetOS)' == 'Android'" /> - <_runnerFilesToPublish Include="$(AppleTestRunnerDir)*" Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'" /> - <_runnerFilesToPublish Include="$(WasmTestRunnerDir)*" Condition="'$(TargetOS)' == 'Browser'" /> - - - + From df64e06ed7da37337df7a52d35804bff59de7936 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 15:18:04 +0200 Subject: [PATCH 12/94] Revert: Do not built AllSubsets --- eng/pipelines/runtime.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index cc1ea28b5a9d4..56ff74d833f46 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -426,6 +426,7 @@ jobs: buildConfig: release platforms: - OSX_x64 + - iOS_x64 jobParameters: condition: >- or( From 553147dbe2b9889783248140c97accabd719c0a5 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 15:33:33 +0200 Subject: [PATCH 13/94] Disable test archivation --- src/libraries/sendtohelix.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 1f24b5c25f312..3b7d964b2f303 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -41,6 +41,7 @@ + false true 1.0.0-prerelease.20304.1 From 9e7d3f232d624979fef41f6fe2ff770a9e27224b Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 5 Jun 2020 09:48:45 -0400 Subject: [PATCH 14/94] Improvements for local test running --- eng/testing/AppleRunnerTemplate.sh | 25 ++++++++++++++++--------- eng/testing/tests.mobile.targets | 5 +++++ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/eng/testing/AppleRunnerTemplate.sh b/eng/testing/AppleRunnerTemplate.sh index c146f7e0364b1..5bc594d9daae6 100644 --- a/eng/testing/AppleRunnerTemplate.sh +++ b/eng/testing/AppleRunnerTemplate.sh @@ -1,10 +1,7 @@ #!/usr/bin/env bash EXECUTION_DIR=$(dirname $0) -TEST_NAME=$1 -TARGET_ARCH=$2 -TARGET= -SCHEME_SDK= +[[RunCommands]] if [ "$TARGET_ARCH" == "arm" ]; then TARGET=ios-device @@ -38,15 +35,25 @@ while true; do sleep 5 fi done +# Restart the simulator to make sure it is tied to the right user session +xcode_version=11.4 +xcode_path="/Applications/Xcode${xcode_version/./}.app" +simulator_app="$xcode_path/Contents/Developer/Applications/Simulator.app" +pid=`ps aux | grep "$simulator_app" | grep -v grep | tr -s ' ' | cut -d ' ' -f 2` +if [ ! -z "$pid" ]; then + sudo kill "$pid" +fi +open -a "$simulator_app" +export XHARNESS_OUT="$EXECUTION_DIR/xharness-output" -XHARNESS_OUT="$EXECUTION_DIR/xharness-output" - -dotnet xharness ios test --app="$APP_BUNDLE" \ - --targets=$TARGET \ +dotnet xharness ios test \ + --targets="$TARGET" \ + --app="$APP_BUNDLE" \ + --xcode="/Applications/Xcode114.app" \ --output-directory=$XHARNESS_OUT _exitCode=$? -echo "Xharness artifacts: $XHARNESS_OUT" +echo "Xharness artifacts: `ls -lh $XHARNESS_OUT`" exit $_exitCode diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 0fe8d4222a009..ad9cd8ff4ba92 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -7,6 +7,11 @@ V8 + + + + + Date: Fri, 5 Jun 2020 16:34:05 +0200 Subject: [PATCH 15/94] Return dead code --- eng/testing/tests.mobile.targets | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 4c1f44c47e998..1736298196fc5 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -137,6 +137,17 @@ AssemblySearchPaths="@(AssemblySearchPaths)"/> + + + <_runnerFilesToPublish Include="$(AndroidTestRunnerDir)*" Condition="'$(TargetOS)' == 'Android'" /> + <_runnerFilesToPublish Include="$(AppleTestRunnerDir)*" Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'" /> + <_runnerFilesToPublish Include="$(WasmTestRunnerDir)*" Condition="'$(TargetOS)' == 'Browser'" /> + + + + + From 030511c8a372516c8a66a2a725876f315703c4d8 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 5 Jun 2020 16:17:37 -0400 Subject: [PATCH 16/94] Reintroduce whitespace errors None of these fixes are wrong per se (maybe the ApkBuilder changes?) but they complicate the PR by mixing unrelated changes --- eng/pipelines/common/xplat-setup.yml | 2 +- eng/pipelines/libraries/build-job.yml | 8 ++- eng/pipelines/libraries/build-test-job.yml | 2 +- .../libraries/helix-queues-setup.yml | 2 +- eng/pipelines/runtime.yml | 4 +- eng/testing/tests.mobile.targets | 51 ++++++++++--------- src/libraries/sendtohelix.proj | 6 +-- .../AndroidAppBuilder/ApkBuilder.cs | 39 +++++++------- 8 files changed, 55 insertions(+), 59 deletions(-) diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index 2aa4627ad38f8..7bdde31f7dbc7 100644 --- a/eng/pipelines/common/xplat-setup.yml +++ b/eng/pipelines/common/xplat-setup.yml @@ -18,7 +18,7 @@ jobs: variables: # Disable component governance in our CI builds. These builds are not shipping nor # are they a service. Also the component governance jobs issue lots of inconsequential - # warnings and errors into our build timelines that make it hard to track down + # warnings and errors into our build timelines that make it hard to track down # real errors in the build - name: skipComponentGovernanceDetection value: true diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 0f0a8717d3751..630693dabfa13 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -61,9 +61,7 @@ jobs: - ${{ parameters.variables }} - ${{ if eq(parameters.osGroup, 'Browser') }}: - EMSDK_PATH: /usr/local/emscripten - - ${{ if eq(parameters.osGroup, 'Android') }}: - - ANDROID_OPENSSL_AAR: /tmp/openssl-android - # for coreclr library builds (when not testing) build corelib as well. + # for coreclr library builds (when not testing) build corelib as well. - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}: - _subset: clr.corelib+libs # Tests only run for 'allConfiguration' and 'net472' build-jobs @@ -92,14 +90,14 @@ jobs: $(_additionalBuildArguments) displayName: Restore and Build Product - - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: + - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: - script: | du -sh $(Build.SourcesDirectory)/* df -h displayName: Disk Usage after Build - ${{ if eq(parameters.runTests, false) }}: - - ${{ if ne(parameters.isOfficialBuild, true) }}: + - ${{ if ne(parameters.isOfficialBuild, true) }}: - task: CopyFiles@2 displayName: Prepare testhost folder to publish inputs: diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml index ff51a5062042c..4bc6b69c7d8b0 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -75,7 +75,7 @@ jobs: $(_archiveTestsParameter) displayName: Restore and Build - - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: + - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: - script: | du -sh $(Build.SourcesDirectory)/* df -h diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index 4b34d142f3b98..7ef7187eaaaf4 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -118,7 +118,7 @@ jobs: # NET472 - ${{ if eq(parameters.jobParameters.framework, 'net472') }}: - Windows.10.Amd64.Client19H1.Open - + # AllConfigurations - ${{ if eq(parameters.jobParameters.framework, 'allConfigurations') }}: - Windows.10.Amd64.Server19H1.Open diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 56ff74d833f46..576e38b9799c0 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -156,7 +156,7 @@ jobs: # # Build CoreCLR checked using GCC toolchain # Only when CoreCLR is changed -# +# - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml @@ -573,7 +573,7 @@ jobs: isOfficialBuild: false liveRuntimeBuildConfig: release testScope: innerloop - condition: >- + condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 1736298196fc5..de272a8d7c439 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -80,34 +80,34 @@ + CompilerBinaryPath="$(RuntimePackNativeDir)cross\mono-aot-cross" + Mode="Full" + OutputType="AsmOnly" + Assemblies="@(AotInputAssemblies)" + UseLLVM="$(MonoEnableLLVM)" + LLVMPath="$(RuntimePackNativeDir)cross"> - + - @@ -129,12 +129,13 @@ - + 1800 900 <_timeoutSpan>$([System.TimeSpan]::FromSeconds($(TimeoutInSeconds))) - + true - + $(TestArchiveRuntimeRoot)test-runtime-$(BuildSettings).zip $(TestArchiveRuntimeRoot)packages-testPayload-$(Configuration).zip @@ -66,7 +66,7 @@ set MONO_ENV_OPTIONS='$(MonoEnvOptions)' export MONO_ENV_OPTIONS='$(MonoEnvOptions)' - + true - + $(TestArchiveRuntimeRoot)test-runtime-$(BuildSettings).zip $(TestArchiveRuntimeRoot)packages-testPayload-$(Configuration).zip @@ -66,7 +66,7 @@ set MONO_ENV_OPTIONS='$(MonoEnvOptions)' export MONO_ENV_OPTIONS='$(MonoEnvOptions)' - + <_appBundleFiles Include="$(TestArchiveTestsRoot)**/*"/> <_appBundleDirs Include="@(_appBundleFiles->'%(RootDir)%(Directory)'->Distinct())"/> - + ios-device ios-device ios-simulator-64 From d3366ae3d392d7afa917ac1e32a5355351629287 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 12:58:18 +0200 Subject: [PATCH 18/94] Revert "Bump Helix SDK and keep trailing slashes" This reverts commit d1a42261c34b5413f306ccaca37fed24294b8ac6. --- global.json | 2 +- src/libraries/sendtohelix.proj | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/global.json b/global.json index b47c0f02cdd6f..8a894e7318d52 100644 --- a/global.json +++ b/global.json @@ -15,7 +15,7 @@ "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "5.0.0-beta.20280.1", "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20280.1", "Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "5.0.0-beta.20280.1", - "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20305.2", + "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20304.1", "FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0", "Microsoft.NET.Sdk.IL": "5.0.0-preview.4.20202.18", "Microsoft.Build.NoTargets": "1.0.53", diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 38e54fb3bc7e9..aeff1506fb4d7 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -7,11 +7,11 @@ 1800 900 <_timeoutSpan>$([System.TimeSpan]::FromSeconds($(TimeoutInSeconds))) - + true - + $(TestArchiveRuntimeRoot)test-runtime-$(BuildSettings).zip $(TestArchiveRuntimeRoot)packages-testPayload-$(Configuration).zip @@ -66,7 +66,7 @@ set MONO_ENV_OPTIONS='$(MonoEnvOptions)' export MONO_ENV_OPTIONS='$(MonoEnvOptions)' - + <_appBundleFiles Include="$(TestArchiveTestsRoot)**/*"/> <_appBundleDirs Include="@(_appBundleFiles->'%(RootDir)%(Directory)'->Distinct())"/> - + ios-device ios-device ios-simulator-64 From 16168dae9b723e46f96739086c82955641670296 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 14:16:47 +0200 Subject: [PATCH 19/94] Try building 2 app bundles --- src/libraries/tests.proj | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 3f0984b63d38c..817377df67b56 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -9,7 +9,7 @@ $(ArtifactsDir)coverage true - + @@ -22,6 +22,9 @@ + From 64da851be89f6f4dd00be7f804534aa3af15259d Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 8 Jun 2020 08:31:57 -0400 Subject: [PATCH 20/94] Try a cleaner `.app` find in msbuild, from @akoeplinger --- src/libraries/sendtohelix.proj | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index aeff1506fb4d7..7502a9cabf4e1 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -105,10 +105,7 @@ - <_appBundleFiles Include="$(TestArchiveTestsRoot)**/*"/> - <_appBundleDirs Include="@(_appBundleFiles->'%(RootDir)%(Directory)'->Distinct())"/> - + ios-device ios-device ios-simulator-64 From 506afd2c2b00800daf75b86f8ce48acb1c83ad84 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 8 Jun 2020 08:39:12 -0400 Subject: [PATCH 21/94] Revert "Try a cleaner `.app` find in msbuild, from @akoeplinger" This reverts commit 64da851be89f6f4dd00be7f804534aa3af15259d. --- src/libraries/sendtohelix.proj | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 7502a9cabf4e1..aeff1506fb4d7 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -105,7 +105,10 @@ - + <_appBundleFiles Include="$(TestArchiveTestsRoot)**/*"/> + <_appBundleDirs Include="@(_appBundleFiles->'%(RootDir)%(Directory)'->Distinct())"/> + ios-device ios-device ios-simulator-64 From 677836950df977f70e113e01f6d389653c5dd4bd Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 8 Jun 2020 10:47:10 -0400 Subject: [PATCH 22/94] Do not archiveTests on iOS, it causes tests to be included twice --- eng/pipelines/libraries/build-test-job.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml index 4bc6b69c7d8b0..9b5b4726df410 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -44,7 +44,9 @@ jobs: variables: - librariesTestsArtifactName: ${{ format('libraries_test_assets_{0}_{1}_{2}', parameters.osGroup, parameters.archType, parameters.buildConfig) }} - - _archiveTestsParameter: /p:ArchiveTests=true + - ${{ if notIn(parameters.osGroup, 'iOS', 'tvOS') }}: + - name: _archiveTestsParameter + value: /p:ArchiveTests=true - ${{ if eq(parameters.osGroup, 'Android') }}: - ANDROID_OPENSSL_AAR: /tmp/openssl-android From f3252fdb176ade24b535ebe190d83c1240f1af34 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 8 Jun 2020 11:30:51 -0400 Subject: [PATCH 23/94] Revert "Revert "Try a cleaner `.app` find in msbuild, from @akoeplinger"" This reverts commit 506afd2c2b00800daf75b86f8ce48acb1c83ad84. --- src/libraries/sendtohelix.proj | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index aeff1506fb4d7..7502a9cabf4e1 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -105,10 +105,7 @@ - <_appBundleFiles Include="$(TestArchiveTestsRoot)**/*"/> - <_appBundleDirs Include="@(_appBundleFiles->'%(RootDir)%(Directory)'->Distinct())"/> - + ios-device ios-device ios-simulator-64 From 2743b138d6cc7668eff32dfda69417837c73567e Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 8 Jun 2020 12:44:13 -0400 Subject: [PATCH 24/94] Turn on all the tests on iOS --- src/libraries/tests.proj | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 817377df67b56..bdcb38358e3c0 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -19,15 +19,9 @@ - - + Condition="'$(BuildAllConfigurations)' != 'true'" /> From 6f6731eff17a52b3d4295d15fddeabc4790e1b12 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 8 Jun 2020 15:23:04 -0400 Subject: [PATCH 25/94] Remove Android changes, to keep scope of PR smaller --- eng/install-native-dependencies.sh | 10 ---------- eng/pipelines/common/xplat-setup.yml | 4 ++-- eng/pipelines/libraries/build-job.yml | 2 +- eng/pipelines/libraries/build-test-job.yml | 9 +-------- eng/pipelines/libraries/helix-queues-setup.yml | 4 ---- eng/pipelines/runtime.yml | 3 --- src/libraries/tests.proj | 2 +- 7 files changed, 5 insertions(+), 29 deletions(-) diff --git a/eng/install-native-dependencies.sh b/eng/install-native-dependencies.sh index 99abba2b790ec..00be5a6287289 100755 --- a/eng/install-native-dependencies.sh +++ b/eng/install-native-dependencies.sh @@ -15,16 +15,6 @@ elif [ "$1" = "OSX" ] || [ "$1" = "tvOS" ] || [ "$1" = "iOS" ]; then if [ "$?" != "0" ]; then exit 1; fi -elif [ "$1" = "Android" ]; then - if [ -z "${ANDROID_OPENSSL_AAR}" ]; then - exit 1; - fi - if [ -d "${ANDROID_OPENSSL_AAR}" ]; then - exit 0; - fi - OPENSSL_VER=1.1.1g-alpha-1 - curl https://maven.google.com/com/android/ndk/thirdparty/openssl/${OPENSSL_VER}/openssl-${OPENSSL_VER}.aar -L --output /tmp/openssl.zip - unzip /tmp/openssl.zip -d "${ANDROID_OPENSSL_AAR}" && rm -rf /tmp/openssl.zip else echo "Must pass \"Linux\", \"tvOS\", \"iOS\" or \"OSX\" as first argument." exit 1 diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index 7bdde31f7dbc7..545907b7b1102 100644 --- a/eng/pipelines/common/xplat-setup.yml +++ b/eng/pipelines/common/xplat-setup.yml @@ -99,12 +99,12 @@ jobs: ${{ if eq(parameters.jobParameters.pool, '') }}: pool: # Public Linux Build Pool - ${{ if and(in(parameters.osGroup, 'Android', 'Linux', 'FreeBSD'), eq(variables['System.TeamProject'], 'public')) }}: + ${{ if and(in(parameters.osGroup, 'Linux', 'FreeBSD'), eq(variables['System.TeamProject'], 'public')) }}: name: NetCorePublic-Pool queue: BuildPool.Ubuntu.1604.Amd64.Open # Official Build Linux Pool - ${{ if and(in(parameters.osGroup, 'Android', 'Linux', 'FreeBSD'), ne(variables['System.TeamProject'], 'public')) }}: + ${{ if and(in(parameters.osGroup, 'Linux', 'FreeBSD'), ne(variables['System.TeamProject'], 'public')) }}: name: NetCoreInternal-Pool queue: BuildPool.Ubuntu.1604.Amd64 diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 630693dabfa13..3116709543596 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -75,7 +75,7 @@ jobs: - ${{ if eq(parameters.isOfficialBuild, true) }}: - template: /eng/pipelines/common/restore-internal-tools.yml - - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS', 'Android') }}: + - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}: - script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }} displayName: Install Build Dependencies diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml index 9b5b4726df410..f415dc8f54f72 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -47,9 +47,6 @@ jobs: - ${{ if notIn(parameters.osGroup, 'iOS', 'tvOS') }}: - name: _archiveTestsParameter value: /p:ArchiveTests=true - - ${{ if eq(parameters.osGroup, 'Android') }}: - - ANDROID_OPENSSL_AAR: /tmp/openssl-android - - ${{ parameters.variables }} steps: @@ -61,11 +58,7 @@ jobs: unpackFolder: $(Build.SourcesDirectory)/artifacts cleanUnpackFolder: false - - ${{ if in(parameters.osGroup, 'Android') }}: - - script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }} - displayName: Install Build Dependencies - - - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: + - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: - script: | du -sh $(Build.SourcesDirectory)/* df -h diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index 34512b49c4a7c..58f42d1ae8f6c 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -87,10 +87,6 @@ jobs: - OSX.1013.Amd64.Open - OSX.1014.Amd64.Open - # Android - - ${{ if in(parameters.platform, 'Android_x86', 'Android_x64') }}: - - Ubuntu.1804.Amd64.Android.Open - # iOS x64/x86 - ${{ if in(parameters.platform, 'iOS_x64', 'iOS_x86') }}: - OSX.1015.Amd64.Open diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 576e38b9799c0..0983c4eb35775 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -567,8 +567,6 @@ jobs: - Linux_x64 - Windows_NT_x64 - iOS_x64 - - Android_x86 - - Android_x64 jobParameters: isOfficialBuild: false liveRuntimeBuildConfig: release @@ -717,7 +715,6 @@ jobs: - Linux_arm64 - Linux_x64 - iOS_x64 - - Android_x64 helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml jobParameters: isOfficialBuild: false diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index bdcb38358e3c0..6e92a434cf559 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -9,7 +9,7 @@ $(ArtifactsDir)coverage true - + From e6a94dddf3e8d146528345f47a056e554af5a67d Mon Sep 17 00:00:00 2001 From: Jo Shields Date: Mon, 8 Jun 2020 16:15:07 -0400 Subject: [PATCH 26/94] Update global.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Přemek Vysoký --- global.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/global.json b/global.json index 8a894e7318d52..816b7c7868af8 100644 --- a/global.json +++ b/global.json @@ -15,7 +15,7 @@ "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "5.0.0-beta.20280.1", "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20280.1", "Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "5.0.0-beta.20280.1", - "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20304.1", + "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20308.1", "FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0", "Microsoft.NET.Sdk.IL": "5.0.0-preview.4.20202.18", "Microsoft.Build.NoTargets": "1.0.53", From 8f07f4c1863523523a3aab7eb3746dd55ac1da95 Mon Sep 17 00:00:00 2001 From: Jo Shields Date: Mon, 8 Jun 2020 16:15:18 -0400 Subject: [PATCH 27/94] Update src/libraries/sendtohelix.proj MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Přemek Vysoký --- src/libraries/sendtohelix.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 7502a9cabf4e1..d9470cd09025a 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -43,7 +43,7 @@ false true - 1.0.0-prerelease.20304.1 + 1.0.0-prerelease.20308.1 From 3d73fc663b5f3376dc297d0eabad7135e8502797 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 8 Jun 2020 16:16:08 -0400 Subject: [PATCH 28/94] Remove useless archiveTests=false --- src/libraries/sendtohelix.proj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index d9470cd09025a..46d659c4406a7 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -41,7 +41,6 @@ - false true 1.0.0-prerelease.20308.1 From 0e0403f69030356c81940d8e9e2c2eae626efe64 Mon Sep 17 00:00:00 2001 From: Jo Shields Date: Mon, 8 Jun 2020 16:16:34 -0400 Subject: [PATCH 29/94] Update src/libraries/sendtohelix.proj MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Přemek Vysoký --- src/libraries/sendtohelix.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 46d659c4406a7..d1e579527b0b1 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -103,7 +103,7 @@ DependsOnTargets="CompressRuntimeDirectory"> - + ios-device ios-device From aee9b85ab8565362c4b71437cd9ccefffa5e6985 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Tue, 9 Jun 2020 14:19:01 +0200 Subject: [PATCH 30/94] Fix runtime-packs dir --- eng/pipelines/libraries/build-job.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 3116709543596..0a266ac37de72 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -108,8 +108,8 @@ jobs: - task: CopyFiles@2 displayName: Prepare lib-runtime-packs folder to publish inputs: - sourceFolder: $(Build.SourcesDirectory)/artifacts/bin/lib-runtime-packs - targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/bin/lib-runtime-packs + sourceFolder: $(Build.SourcesDirectory)/artifacts/bin/microsoft.netcore.app.runtime.ios-x64 + targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/bin/microsoft.netcore.app.runtime.ios-x64 - task: CopyFiles@2 displayName: Prepare artifacts toolset folder to publish From 3f2f23c171ec3488c1205882f35e7452bc763e65 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Tue, 9 Jun 2020 10:49:14 -0700 Subject: [PATCH 31/94] Revert changes in yml to use new mono build workflow --- eng/pipelines/libraries/build-job.yml | 7 ------- eng/pipelines/libraries/build-test-job.yml | 5 ++--- eng/pipelines/runtime.yml | 5 ----- 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 0a266ac37de72..f33f413f457ee 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -104,13 +104,6 @@ jobs: sourceFolder: $(Build.SourcesDirectory)/artifacts/bin/testhost targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/bin/testhost - - ${{ if eq(parameters.runtimeFlavor, 'mono') }}: - - task: CopyFiles@2 - displayName: Prepare lib-runtime-packs folder to publish - inputs: - sourceFolder: $(Build.SourcesDirectory)/artifacts/bin/microsoft.netcore.app.runtime.ios-x64 - targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/bin/microsoft.netcore.app.runtime.ios-x64 - - task: CopyFiles@2 displayName: Prepare artifacts toolset folder to publish inputs: diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml index f415dc8f54f72..0ce715add47c9 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -44,9 +44,8 @@ jobs: variables: - librariesTestsArtifactName: ${{ format('libraries_test_assets_{0}_{1}_{2}', parameters.osGroup, parameters.archType, parameters.buildConfig) }} - - ${{ if notIn(parameters.osGroup, 'iOS', 'tvOS') }}: - - name: _archiveTestsParameter - value: /p:ArchiveTests=true + - _archiveTestsParameter: /p:ArchiveTests=true + - ${{ parameters.variables }} steps: diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 0983c4eb35775..0fcf17e8d4d1d 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -376,7 +376,6 @@ jobs: buildConfig: debug platforms: - OSX_x64 - - iOS_x64 - Linux_x64 - Linux_arm64 # - Linux_musl_arm64 @@ -426,7 +425,6 @@ jobs: buildConfig: release platforms: - OSX_x64 - - iOS_x64 jobParameters: condition: >- or( @@ -463,7 +461,6 @@ jobs: - Linux_musl_x64 - Linux_x64 - OSX_x64 - - iOS_x64 - Windows_NT_x64 - FreeBSD_x64 jobParameters: @@ -566,7 +563,6 @@ jobs: - OSX_x64 - Linux_x64 - Windows_NT_x64 - - iOS_x64 jobParameters: isOfficialBuild: false liveRuntimeBuildConfig: release @@ -714,7 +710,6 @@ jobs: - OSX_x64 - Linux_arm64 - Linux_x64 - - iOS_x64 helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml jobParameters: isOfficialBuild: false From ffb1b02eb5b2ebce40ee24b8fe941fe8c7fd6248 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Tue, 9 Jun 2020 10:53:47 -0700 Subject: [PATCH 32/94] Add iOS x64 testing to new collapsed build model --- eng/pipelines/common/global-build-job.yml | 4 ++++ eng/pipelines/libraries/build-job.yml | 11 ++++----- eng/pipelines/libraries/helix.yml | 18 +++++++-------- eng/pipelines/libraries/run-test-job.yml | 11 ++++----- eng/pipelines/runtime.yml | 27 ++++++++++++++++++++++- 5 files changed, 46 insertions(+), 25 deletions(-) diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index e9dfb4999d442..94665e7ab829d 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -12,6 +12,8 @@ parameters: pool: '' condition: true isOfficialBuild: false + runtimeFlavor: 'coreclr' + helixQueues: '' extraStepsTemplate: '' extraStepsParameters: {} @@ -81,6 +83,8 @@ jobs: osSubgroup: ${{ parameters.osSubgroup }} archType: ${{ parameters.archType }} buildConfig: ${{ parameters.buildConfig }} + runtimeFlavor: ${{ parameters.runtimeFlavor }} + helixQueues: ${{ parameters.helixQueues }} ${{ insert }}: ${{ parameters.extraStepsParameters }} - task: PublishBuildArtifacts@1 diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index f33f413f457ee..e3200bd3f2a0e 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -174,14 +174,11 @@ jobs: - ${{ if eq(parameters.runTests, true) }}: - template: /eng/pipelines/libraries/helix.yml parameters: - targetOS: ${{ parameters.osGroup }} - archGroup: ${{ parameters.archType }} - configuration: ${{ parameters.buildConfig }} - helixQueues: ${{ join('+', parameters.helixQueues) }} - msbuildScript: $(_msbuildCommand) - framework: ${{ parameters.framework }} + osGroup: ${{ parameters.osGroup }} + archType: ${{ parameters.archType }} + buildConfig: ${{ parameters.buildConfig }} + helixQueues: ${{ parameters.helixQueues }} testScope: ${{ parameters.testScope }} creator: dotnet-bot - helixToken: '' testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix) extraHelixArguments: $(_extraHelixArguments) diff --git a/eng/pipelines/libraries/helix.yml b/eng/pipelines/libraries/helix.yml index 10e4550bd64f9..f6d886c495fde 100644 --- a/eng/pipelines/libraries/helix.yml +++ b/eng/pipelines/libraries/helix.yml @@ -1,12 +1,10 @@ parameters: runtimeFlavor: '' - archGroup: '' - configuration: '' + archType: '' + buildConfig: '' creator: '' - framework: '' helixQueues: '' - msbuildScript: '' - targetOS: '' + osGroup: '' testRunNamePrefixSuffix: '' testScope: 'innerloop' # innerloop | outerloop | all interpreter: '' @@ -14,13 +12,13 @@ parameters: extraHelixArguments: '' steps: - - script: ${{ parameters.msbuildScript }} + - script: $(_msbuildCommand) $(Build.SourcesDirectory)/src/libraries/sendtohelix.proj /t:test /p:RuntimeFlavor=${{ parameters.runtimeFlavor }} - /p:TargetArchitecture=${{ parameters.archGroup }} - /p:Configuration=${{ parameters.configuration }} - /p:TargetOS=${{ parameters.targetOS }} + /p:TargetArchitecture=${{ parameters.archType }} + /p:Configuration=${{ parameters.buildConfig }} + /p:TargetOS=${{ parameters.osGroup }} /p:MonoEnableInterpreter=${{ parameters.interpreter }} /p:TestScope=${{ parameters.testScope }} /p:TestRunNamePrefixSuffix=${{ parameters.testRunNamePrefixSuffix }} @@ -32,4 +30,4 @@ steps: condition: and(succeeded(), ${{ parameters.condition }}) env: SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops - HelixTargetQueues: ${{ parameters.helixQueues }} # Pass queues to MSBuild as env var to avoid need of escaping them + HelixTargetQueues: ${{ join('+', parameters.helixQueues) }} # Pass queues to MSBuild as env var to avoid need of escaping them diff --git a/eng/pipelines/libraries/run-test-job.yml b/eng/pipelines/libraries/run-test-job.yml index 9a82eadc50d0d..0ab1d8a13704a 100644 --- a/eng/pipelines/libraries/run-test-job.yml +++ b/eng/pipelines/libraries/run-test-job.yml @@ -88,15 +88,12 @@ jobs: - template: /eng/pipelines/libraries/helix.yml parameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} - targetOS: ${{ parameters.osGroup }} - archGroup: ${{ parameters.archType }} - configuration: ${{ parameters.buildConfig }} - helixQueues: ${{ join('+', parameters.helixQueues) }} - msbuildScript: $(_msbuildCommand) - framework: ${{ parameters.framework }} + osGroup: ${{ parameters.osGroup }} + archType: ${{ parameters.archType }} + buildConfig: ${{ parameters.buildConfig }} + helixQueues: ${{ parameters.helixQueues }} testScope: ${{ parameters.testScope }} interpreter: ${{ parameters.interpreter }} creator: dotnet-bot - helixToken: '' testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix) extraHelixArguments: $(_extraHelixArguments) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 0fcf17e8d4d1d..df539c19d9c83 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -270,7 +270,6 @@ jobs: - Android_arm - tvOS_arm64 - iOS_arm - - iOS_x64 - Linux_musl_x64 jobParameters: testGroup: innerloop @@ -283,6 +282,32 @@ jobs: eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) +# +# Build the whole product using Mono and run tests +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - iOS_x64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) + # # Build Mono and Installer on LLVMJIT mode # From 1e9eb5da466e958af442a603c7fc4d5f59347af3 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Tue, 9 Jun 2020 10:57:36 -0700 Subject: [PATCH 33/94] Just run System.Buffers.Tests to make testing faster --- src/libraries/tests.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 6e92a434cf559..e6ac1d84437dc 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -19,7 +19,7 @@ - Date: Tue, 9 Jun 2020 11:36:14 -0700 Subject: [PATCH 34/94] Set helixQueuesTemplate in the right place --- eng/pipelines/runtime.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index df539c19d9c83..3893f1ef9faab 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -288,6 +288,7 @@ jobs: - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml buildConfig: Release runtimeFlavor: mono platforms: @@ -296,7 +297,6 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) - helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml extraStepsTemplate: /eng/pipelines/libraries/helix.yml extraStepsParameters: creator: dotnet-bot From 7c23cd7b5afb4a9027e733e1a6f24ae8d888339c Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Wed, 10 Jun 2020 09:35:54 +0200 Subject: [PATCH 35/94] Set XHarness version in Version.props # Conflicts: # src/libraries/sendtohelix.proj --- eng/Versions.props | 1 + src/libraries/sendtohelix.proj | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 4133b5f3b2a02..4f6c2560df2c7 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -107,6 +107,7 @@ 16.7.0-preview-20200608-10 1.0.0-prerelease.20305.1 + 1.0.0-prerelease.20309.4 2.4.1 2.4.2 1.3.0 diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index d1e579527b0b1..ce4bf6de6fcd0 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -42,7 +42,6 @@ true - 1.0.0-prerelease.20308.1 @@ -53,7 +52,7 @@ - $(HelixPreCommands); set DOTNET_CLI_TELEMETRY_OPTOUT=1;set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1;set DOTNET_MULTILEVEL_LOOKUP=0 + set DOTNET_CLI_TELEMETRY_OPTOUT=1;set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1;set DOTNET_MULTILEVEL_LOOKUP=0 dotnet msbuild %HELIX_CORRELATION_PAYLOAD%\test.msbuild $(HelixCommand) /warnaserror @@ -62,7 +61,7 @@ $(HelixCommand) /p:LocalPackagesPath="%HELIX_CORRELATION_PAYLOAD%\packages\" - + set MONO_ENV_OPTIONS='$(MonoEnvOptions)' export MONO_ENV_OPTIONS='$(MonoEnvOptions)' From 16711255028c0b98d5209204ed9946891c0a5db4 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Wed, 10 Jun 2020 10:33:13 +0200 Subject: [PATCH 36/94] Roll back to XHarness that supports Xcode 11.4 --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index 4f6c2560df2c7..d6eed82097b8a 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -107,7 +107,7 @@ 16.7.0-preview-20200608-10 1.0.0-prerelease.20305.1 - 1.0.0-prerelease.20309.4 + 1.0.0-prerelease.20308.1 2.4.1 2.4.2 1.3.0 From 1f9c3cfc17754ded3b657f08cd3fe4ddac639b34 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Wed, 10 Jun 2020 16:07:21 -0700 Subject: [PATCH 37/94] Cleanup --- eng/pipelines/runtime.yml | 2 +- eng/testing/tests.mobile.targets | 3 ++- eng/testing/tests.targets | 2 +- src/libraries/tests.proj | 5 ++++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 3893f1ef9faab..4146790ebff87 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -296,7 +296,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) + buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true extraStepsTemplate: /eng/pipelines/libraries/helix.yml extraStepsParameters: creator: dotnet-bot diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 235aa7961e0ce..9b757a2d59a55 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -117,7 +117,8 @@ + SkipUnchangedFiles="true" + Condition="'$(ArchiveTests)' == 'true' and '$(IgnoreForCI)' != 'true'" /> diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index 5e44a3070192d..17997be4bfd79 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -26,7 +26,7 @@ diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index e6ac1d84437dc..8625aa162bd68 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -19,9 +19,12 @@ + + Condition="'$(BuildAllConfigurations)' != 'true' and '$(TargetsMobile)' == 'true' and '$(TargetsBrowser)' != 'true'" /> From 82ff98a2791dfdf8b8bc312e9dd7eb913341a0ff Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Thu, 11 Jun 2020 10:36:01 +0200 Subject: [PATCH 38/94] Add XHarness CLI to Version.Details.xml --- eng/Version.Details.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 20185379cb845..380d3503d1211 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -178,5 +178,9 @@ https://github.com/dotnet/xharness 513c09e1d5f22c00df1524ec6d71b0a35c2cfaeb + + https://github.com/dotnet/xharness + 513c09e1d5f22c00df1524ec6d71b0a35c2cfaeb + From a5e7bb386c003dbc654ce0a26fd6b044cbe31ad6 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 09:48:51 -0400 Subject: [PATCH 39/94] Only test System.Buffers for now --- src/libraries/tests.proj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 8625aa162bd68..a9e7982ee12e0 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -21,10 +21,10 @@ + Condition="'$(BuildAllConfigurations)' != 'true' and ('$(TargetsMobile)' != 'true' and '$(TargetsBrowser)' != 'true')" /> + Condition="'$(BuildAllConfigurations)' != 'true' and '$(TargetsMobile)' == 'true' or '$(TargetsBrowser)' == 'true'" /> From 6b62ca3e756d7a867e293f476353f1b702730d8d Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 10:29:25 -0400 Subject: [PATCH 40/94] Try enabling testing for Wasm --- eng/pipelines/common/platform-matrix.yml | 70 ++++++++++++------------ src/libraries/tests.proj | 2 +- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 6180c7ff78c84..3a017c7da03fe 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -147,24 +147,24 @@ jobs: # WebAssembly -# - ${{ if containsValue(parameters.platforms, 'Browser_wasm') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Browser -# archType: wasm -# platform: Browser_wasm -# container: -# image: ubuntu-18.04-webassembly-20200529220811-6a6da63 -# registry: mcr -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'Browser_wasm') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Browser + archType: wasm + platform: Browser_wasm + container: + image: ubuntu-18.04-webassembly-20200529220811-6a6da63 + registry: mcr + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + ${{ insert }}: ${{ parameters.jobParameters }} # FreeBSD # - ${{ if containsValue(parameters.platforms, 'FreeBSD_x64') }}: @@ -315,23 +315,23 @@ jobs: # iOS x64 -- ${{ if containsValue(parameters.platforms, 'iOS_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - osGroup: iOS - archType: x64 - platform: iOS_x64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - managedTestBuildOsGroup: OSX - ${{ insert }}: ${{ parameters.jobParameters }} +# - ${{ if containsValue(parameters.platforms, 'iOS_x64') }}: +# - template: xplat-setup.yml +# parameters: +# jobTemplate: ${{ parameters.jobTemplate }} +# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} +# osGroup: iOS +# archType: x64 +# platform: iOS_x64 +# jobParameters: +# runtimeFlavor: mono +# stagedBuild: ${{ parameters.stagedBuild }} +# buildConfig: ${{ parameters.buildConfig }} +# ${{ if eq(parameters.passPlatforms, true) }}: +# platforms: ${{ parameters.platforms }} +# helixQueueGroup: ${{ parameters.helixQueueGroup }} +# managedTestBuildOsGroup: OSX +# ${{ insert }}: ${{ parameters.jobParameters }} # iOS x86 diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index a9e7982ee12e0..c5a8642f41232 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -24,7 +24,7 @@ Condition="'$(BuildAllConfigurations)' != 'true' and ('$(TargetsMobile)' != 'true' and '$(TargetsBrowser)' != 'true')" /> + Condition="'$(BuildAllConfigurations)' != 'true' and ('$(TargetsMobile)' == 'true' or '$(TargetsBrowser)' == 'true')" /> From 9cfa8956f8b872aeea78fe370838096450e94abc Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 10:35:31 -0400 Subject: [PATCH 41/94] Move Wasm run to template which calls Helix --- eng/pipelines/runtime.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 4146790ebff87..81ad41b292115 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -247,7 +247,6 @@ jobs: - tvOS_x64 - iOS_arm64 - iOS_x86 - - Browser_wasm - Linux_arm jobParameters: testGroup: innerloop @@ -293,6 +292,7 @@ jobs: runtimeFlavor: mono platforms: - iOS_x64 + - Browser_wasm jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono From 6fb4ff2104111c36413b167ae958e6726fedd53b Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 11:28:03 -0400 Subject: [PATCH 42/94] Set a helix queue for wasm --- eng/pipelines/libraries/helix-queues-setup.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index 58f42d1ae8f6c..a7b4efe289589 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -150,4 +150,8 @@ jobs: - ${{ if eq(parameters.platform, 'Windows_NT_arm64') }}: - Windows.10.Arm64.Open + # WebAssembly + - ${{ if eq(parameters.platform, 'Browser_wasm') }}: + - (Ubuntu.2004.Amd64.Open)ubuntu.1604.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-helix-wasm-amd64-20200610155328-b5586b3 + ${{ insert }}: ${{ parameters.jobParameters }} From 03b5001f342247a93adf181e2fa7e8ee89f6bf9e Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 14:12:18 -0400 Subject: [PATCH 43/94] Ensure we archive tests on WebAssembly --- eng/testing/tests.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index 17997be4bfd79..2ddf16a916b71 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -26,7 +26,7 @@ From cd18d9ae1932ee21892163b3314de60e66c57c42 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 14:22:08 -0400 Subject: [PATCH 44/94] Be careful about using TargetsMobile, which is true on Wasm(?) --- src/libraries/sendtohelix.proj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index ce4bf6de6fcd0..732ed6dacf242 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -40,7 +40,7 @@ $([System.Text.RegularExpressions.Regex]::Match($(GlobalJsonContent), '(%3F<="dotnet": ").*(%3F=")')) - + true @@ -61,7 +61,7 @@ $(HelixCommand) /p:LocalPackagesPath="%HELIX_CORRELATION_PAYLOAD%\packages\" - + set MONO_ENV_OPTIONS='$(MonoEnvOptions)' export MONO_ENV_OPTIONS='$(MonoEnvOptions)' @@ -89,7 +89,7 @@ + Condition="'$(BuildAllConfigurations)' != 'true' and '$(TargetOS)' != 'iOS' and '$(TargetOS)' != 'tvOS' and '$(TargetOS)' != 'Android'"> - - + + <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> From 1b74d8032411f462b6b90752f70e47e23e9ac70a Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 15:15:37 -0400 Subject: [PATCH 45/94] Override artifact directory on wasm --- eng/testing/tests.targets | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index 2ddf16a916b71..119916b652325 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -31,6 +31,10 @@ DependsOnTargets="GenerateRunScript"> + + $(OutDir)/AppBundle + + Date: Thu, 11 Jun 2020 15:44:52 -0400 Subject: [PATCH 46/94] Let's install dotnet and xharness for wasm --- src/libraries/sendtohelix.proj | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 732ed6dacf242..bcec28f11a052 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -51,6 +51,15 @@ test/functional/packaging/ + + true + sdk + 3.1.201 + $(HelixPreCommands) "$HELIX_CORRELATION_PAYLOAD"/dotnet/dotnet tool install --tool-path "$HELIX_CORRELATION_PAYLOAD"/xharness-cli --version $(MicrosoftDotNetXHarnessTestRunnersCLIVersion) --add-source https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet-eng/nuget/v3/index.json Microsoft.DotNet.XHarness.CLI; + $(HelixPreCommands) export DOTNET_ROOT="$HELIX_CORRELATION_PAYLOAD"/dotnet; + $(HelixPreCommands) export PATH="$HELIX_CORRELATION_PAYLOAD"/xharness-cli:$PATH; + + set DOTNET_CLI_TELEMETRY_OPTOUT=1;set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1;set DOTNET_MULTILEVEL_LOOKUP=0 From 9f9f758d45dda32678cab0e2fba9680761061d6d Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 16:05:08 -0400 Subject: [PATCH 47/94] fixup --- src/libraries/sendtohelix.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index bcec28f11a052..d57999e3c2528 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -55,7 +55,7 @@ true sdk 3.1.201 - $(HelixPreCommands) "$HELIX_CORRELATION_PAYLOAD"/dotnet/dotnet tool install --tool-path "$HELIX_CORRELATION_PAYLOAD"/xharness-cli --version $(MicrosoftDotNetXHarnessTestRunnersCLIVersion) --add-source https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet-eng/nuget/v3/index.json Microsoft.DotNet.XHarness.CLI; + $(HelixPreCommands) "$HELIX_CORRELATION_PAYLOAD"/dotnet/dotnet tool install --tool-path "$HELIX_CORRELATION_PAYLOAD"/xharness-cli --version $(MicrosoftDotNetXHarnessCLIVersion) --add-source https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet-eng/nuget/v3/index.json Microsoft.DotNet.XHarness.CLI; $(HelixPreCommands) export DOTNET_ROOT="$HELIX_CORRELATION_PAYLOAD"/dotnet; $(HelixPreCommands) export PATH="$HELIX_CORRELATION_PAYLOAD"/xharness-cli:$PATH; From 335b0ce666ed844dc22756ed87bd278100055caa Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 16:11:50 -0400 Subject: [PATCH 48/94] HELIX_CORRELATION_PAYLOAD is readonly in docker --- src/libraries/sendtohelix.proj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index d57999e3c2528..c416a8a91caee 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -55,9 +55,9 @@ true sdk 3.1.201 - $(HelixPreCommands) "$HELIX_CORRELATION_PAYLOAD"/dotnet/dotnet tool install --tool-path "$HELIX_CORRELATION_PAYLOAD"/xharness-cli --version $(MicrosoftDotNetXHarnessCLIVersion) --add-source https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet-eng/nuget/v3/index.json Microsoft.DotNet.XHarness.CLI; + $(HelixPreCommands) "$HELIX_CORRELATION_PAYLOAD"/dotnet/dotnet tool install --tool-path "$HELIX_WORKITEM_PAYLOAD"/xharness-cli --version $(MicrosoftDotNetXHarnessCLIVersion) --add-source https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet-eng/nuget/v3/index.json Microsoft.DotNet.XHarness.CLI; $(HelixPreCommands) export DOTNET_ROOT="$HELIX_CORRELATION_PAYLOAD"/dotnet; - $(HelixPreCommands) export PATH="$HELIX_CORRELATION_PAYLOAD"/xharness-cli:$PATH; + $(HelixPreCommands) export PATH="$HELIX_WORKITEM_PAYLOAD"/xharness-cli:$PATH; From 9e47f396fcb20c334021e1877739adc67c71b7b8 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 17:24:44 -0400 Subject: [PATCH 49/94] Handle xharness directory --- eng/testing/WasmRunnerTemplate.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index 9ec16d23dcebf..a4674f937f690 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -7,7 +7,11 @@ cd $EXECUTION_DIR XHARNESS_OUT="$EXECUTION_DIR/xharness-output" -dotnet xharness wasm test --engine=$JAVASCRIPT_ENGINE \ +if [ ! -x "$(command -v xharness)" ]; then + HARNESS_RUNNER="dotnet" +fi + +$HARNESS_RUNNER xharness wasm test --engine=$JAVASCRIPT_ENGINE \ --js-file=runtime.js -v \ --output-directory=$XHARNESS_OUT \ -- --enable-gc --run WasmTestRunner.dll ${@:2} From 248316ac849386cc9420eef64bd9d19100192b6a Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 11 Jun 2020 18:10:07 -0400 Subject: [PATCH 50/94] Fiddle Helix launcher to run test suite --- eng/testing/WasmRunnerTemplate.sh | 6 +++--- eng/testing/tests.mobile.targets | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index a4674f937f690..b385a492ea37c 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash EXECUTION_DIR=$(dirname $0) -JAVASCRIPT_ENGINE=$1 +[[RunCommands]] cd $EXECUTION_DIR @@ -11,10 +11,10 @@ if [ ! -x "$(command -v xharness)" ]; then HARNESS_RUNNER="dotnet" fi -$HARNESS_RUNNER xharness wasm test --engine=$JAVASCRIPT_ENGINE \ +$HARNESS_RUNNER xharness wasm test --engine=${JAVASCRIPT_ENGINE} \ --js-file=runtime.js -v \ --output-directory=$XHARNESS_OUT \ - -- --enable-gc --run WasmTestRunner.dll ${@:2} + -- --enable-gc --run WasmTestRunner.dll ${TEST_NAME}.dll _exitCode=$? diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 9b757a2d59a55..db8953ae7a58f 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -10,6 +10,7 @@ + From bee0215f3032363b8527f1e571d194319e06f980 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Thu, 11 Jun 2020 15:51:01 -0700 Subject: [PATCH 51/94] Cleanup RunTests script generation for wasm --- eng/testing/WasmRunnerTemplate.sh | 7 ++----- eng/testing/tests.mobile.targets | 9 ++++++--- eng/testing/tests.targets | 2 +- eng/testing/xunit/xunit.console.targets | 10 ++++++---- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index b385a492ea37c..6bba445186fc4 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -1,7 +1,6 @@ #!/usr/bin/env bash EXECUTION_DIR=$(dirname $0) -[[RunCommands]] cd $EXECUTION_DIR @@ -11,10 +10,8 @@ if [ ! -x "$(command -v xharness)" ]; then HARNESS_RUNNER="dotnet" fi -$HARNESS_RUNNER xharness wasm test --engine=${JAVASCRIPT_ENGINE} \ - --js-file=runtime.js -v \ - --output-directory=$XHARNESS_OUT \ - -- --enable-gc --run WasmTestRunner.dll ${TEST_NAME}.dll +# RunCommands defined in tests.mobile.targets +[[RunCommands]] _exitCode=$? diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index db8953ae7a58f..b9d93c72d36f2 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -8,11 +8,14 @@ - - - + + + + $HARNESS_RUNNER xharness wasm test --engine=$(JSEngine) --js-file=runtime.js -v --output-directory=$XHARNESS_OUT -- --enable-gc --run WasmTestRunner.dll $(AssemblyName).dll + + "$(RunScriptOutputPath)" --runtime-path "$(TestHostRootPath.TrimEnd('\/'))" $(RunTestsCommand) --rsp-file "$(TestRspFile)" "$(RunScriptOutputPath)" $(AssemblyName) $(TargetArchitecture) - "$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(_withoutCategories.Replace(';', ' -notrait category=')) + "$(RunScriptOutputPath)" diff --git a/eng/testing/xunit/xunit.console.targets b/eng/testing/xunit/xunit.console.targets index 2824bd8410780..837b432a99eb7 100644 --- a/eng/testing/xunit/xunit.console.targets +++ b/eng/testing/xunit/xunit.console.targets @@ -4,7 +4,7 @@ testResults.xml - + <_depsFileArgument Condition="'$(GenerateDependencyFile)' == 'true'">--depsfile $(AssemblyName).deps.json "$(RunScriptHost)" exec --runtimeconfig $(AssemblyName).runtimeconfig.json $(_depsFileArgument) xunit.console.dll xunit.console.exe @@ -13,13 +13,15 @@ $(RunScriptCommand) -xml $(TestResultsName) $(RunScriptCommand) -nologo $(RunScriptCommand) -nocolor + $(RunScriptCommand) -noappdomain + $(RunScriptCommand) -maxthreads 1 + $(RunScriptCommand) -verbose + + - $(RunScriptCommand) -maxthreads 1 $(RunScriptCommand) -method $(XUnitMethodName) $(RunScriptCommand) -class $(XUnitClassName) - $(RunScriptCommand) -verbose - $(RunScriptCommand) -noappdomain $(RunScriptCommand)$(_withCategories.Replace(';', ' -trait category=')) From a80a5d1b85c99cb0426f92195bdacb32cdff282f Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Thu, 11 Jun 2020 16:36:59 -0700 Subject: [PATCH 52/94] Give runtime.js executable permisions --- eng/testing/WasmRunnerTemplate.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index 6bba445186fc4..bb008998e8635 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -5,6 +5,7 @@ EXECUTION_DIR=$(dirname $0) cd $EXECUTION_DIR XHARNESS_OUT="$EXECUTION_DIR/xharness-output" +chmod +x $EXECUTION_DIR/runtime.js if [ ! -x "$(command -v xharness)" ]; then HARNESS_RUNNER="dotnet" From 6ead7f858bb3aa74b1a23a42fe071ea2b54d90f5 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Thu, 11 Jun 2020 18:13:54 -0700 Subject: [PATCH 53/94] Fix ArchiveTest target to run after app bundle is created --- eng/testing/WasmRunnerTemplate.sh | 1 - eng/testing/tests.mobile.targets | 3 +-- eng/testing/tests.targets | 20 +++++++++++++------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index bb008998e8635..6bba445186fc4 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -5,7 +5,6 @@ EXECUTION_DIR=$(dirname $0) cd $EXECUTION_DIR XHARNESS_OUT="$EXECUTION_DIR/xharness-output" -chmod +x $EXECUTION_DIR/runtime.js if [ ! -x "$(command -v xharness)" ]; then HARNESS_RUNNER="dotnet" diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index b9d93c72d36f2..3c128e0c08264 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -1,7 +1,5 @@ - - $([MSBuild]::NormalizeDirectory('$(OutDir)', 'AppBundle')) $([MSBuild]::NormalizePath('$(BundleDir)', '$(RunScriptOutputName)')) true V8 @@ -170,5 +168,6 @@ diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index faf90f1364912..71effb9ae7447 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -24,19 +24,25 @@ + + + $([MSBuild]::NormalizeDirectory('$(OutDir)', 'AppBundle')) + + <_zipSourceDirectory>$(OutDir) + <_zipSourceDirectory Condition="'$(TargetOS)' == 'Browser'">$(BundleDir) + + - - $(OutDir)/AppBundle - - - From a7b7b8f845710a75d96f5a7d154a690f5878aaee Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 15 Jun 2020 10:21:40 +0200 Subject: [PATCH 54/94] Pre-install XHarness CLI using the Helix SDK --- eng/Version.Details.xml | 4 ++-- eng/testing/WasmRunnerTemplate.sh | 2 +- global.json | 2 +- src/libraries/sendtohelix.proj | 12 ++---------- 4 files changed, 6 insertions(+), 14 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 380d3503d1211..06892b035bf87 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -10,9 +10,9 @@ https://github.com/dotnet/arcade fef373440d604c428950236fbc2b99ce0df368a9 - + https://github.com/dotnet/arcade - fef373440d604c428950236fbc2b99ce0df368a9 + 891512c8ea0788e2a29fd13fb44a8f2b51d93765 https://github.com/dotnet/arcade diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index 6bba445186fc4..aada7fe139028 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -15,6 +15,6 @@ fi _exitCode=$? -echo "Xharness artifacts: $XHARNESS_OUT" +echo "Xharness artifacts: `ls -lh $XHARNESS_OUT`" exit $_exitCode diff --git a/global.json b/global.json index 34e314c7b787d..97953974fda15 100644 --- a/global.json +++ b/global.json @@ -15,7 +15,7 @@ "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "5.0.0-beta.20308.5", "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20280.1", "Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "5.0.0-beta.20280.1", - "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20308.1", + "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20312.1", "FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0", "Microsoft.NET.Sdk.IL": "5.0.0-preview.4.20202.18", "Microsoft.Build.NoTargets": "1.0.53", diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index c416a8a91caee..435c628db46b8 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -40,10 +40,6 @@ $([System.Text.RegularExpressions.Regex]::Match($(GlobalJsonContent), '(%3F<="dotnet": ").*(%3F=")')) - - true - - innerloop @@ -51,13 +47,9 @@ test/functional/packaging/ - + true - sdk - 3.1.201 - $(HelixPreCommands) "$HELIX_CORRELATION_PAYLOAD"/dotnet/dotnet tool install --tool-path "$HELIX_WORKITEM_PAYLOAD"/xharness-cli --version $(MicrosoftDotNetXHarnessCLIVersion) --add-source https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet-eng/nuget/v3/index.json Microsoft.DotNet.XHarness.CLI; - $(HelixPreCommands) export DOTNET_ROOT="$HELIX_CORRELATION_PAYLOAD"/dotnet; - $(HelixPreCommands) export PATH="$HELIX_WORKITEM_PAYLOAD"/xharness-cli:$PATH; + true From 8fda27df5c4fcaafcf56615841dbb82aebc7a6b4 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 15 Jun 2020 13:06:56 +0200 Subject: [PATCH 55/94] Revert "Pre-install XHarness CLI using the Helix SDK" This reverts commit a7b7b8f845710a75d96f5a7d154a690f5878aaee. --- src/libraries/sendtohelix.proj | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 435c628db46b8..c416a8a91caee 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -40,6 +40,10 @@ $([System.Text.RegularExpressions.Regex]::Match($(GlobalJsonContent), '(%3F<="dotnet": ").*(%3F=")')) + + true + + innerloop @@ -47,9 +51,13 @@ test/functional/packaging/ - + true - true + sdk + 3.1.201 + $(HelixPreCommands) "$HELIX_CORRELATION_PAYLOAD"/dotnet/dotnet tool install --tool-path "$HELIX_WORKITEM_PAYLOAD"/xharness-cli --version $(MicrosoftDotNetXHarnessCLIVersion) --add-source https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet-eng/nuget/v3/index.json Microsoft.DotNet.XHarness.CLI; + $(HelixPreCommands) export DOTNET_ROOT="$HELIX_CORRELATION_PAYLOAD"/dotnet; + $(HelixPreCommands) export PATH="$HELIX_WORKITEM_PAYLOAD"/xharness-cli:$PATH; From 17767b3159b04519e7dc7bd0a2e5ba6561fa4788 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 15 Jun 2020 10:47:13 -0400 Subject: [PATCH 56/94] Turn on all tests on wasm --- src/libraries/tests.proj | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index c5a8642f41232..dfe897bcd7ef3 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -17,14 +17,18 @@ + + + + + + + - + Condition="'$(BuildAllConfigurations)' != 'true'" /> From 8ad367858df29e752994a78869e5b25792c742a6 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 15 Jun 2020 13:18:04 -0400 Subject: [PATCH 57/94] Skip test suite which hangs --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index dfe897bcd7ef3..e084c41580308 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -22,6 +22,7 @@ + From d279758a4ea8b36914c311e8003eb19b156f08bf Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 15 Jun 2020 17:58:57 -0400 Subject: [PATCH 58/94] Disable test suites which don't emit result XML --- src/libraries/tests.proj | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index e084c41580308..7c5a8c1e52b6f 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -17,12 +17,38 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + From 36a876fd03d7eb9c9284fa9158be7589049c9950 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 15 Jun 2020 20:12:57 -0400 Subject: [PATCH 59/94] Skip all tests which don't pass yet --- src/libraries/tests.proj | 96 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 7c5a8c1e52b6f..f4f4cfa2bff90 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -49,6 +49,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 18ead207186230217e03081af8914d8bad2fefb3 Mon Sep 17 00:00:00 2001 From: Jo Shields Date: Tue, 16 Jun 2020 00:23:37 -0400 Subject: [PATCH 60/94] Increase timeout on global-build-job It can take more than an hour for a full build of runtime+libs+tests and helix run of tests --- eng/pipelines/common/global-build-job.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index d55570b29400f..578c5a77b9105 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -8,7 +8,7 @@ parameters: container: '' crossrootfsDir: '' variables: {} - timeoutInMinutes: '' + timeoutInMinutes: 120 pool: '' condition: true isOfficialBuild: false From bd09ec06fa2f75b1c3d433ae855542167dbc5d79 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Tue, 16 Jun 2020 11:11:30 -0400 Subject: [PATCH 61/94] Normalise on Windows path seperators --- src/libraries/tests.proj | 190 +++++++++++++++++++-------------------- 1 file changed, 95 insertions(+), 95 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index f4f4cfa2bff90..40ce0526d4419 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -50,101 +50,101 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 9f124aab36e37ac8207cc2c0dffe0ec994c4c7e7 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Tue, 16 Jun 2020 18:37:07 -0400 Subject: [PATCH 62/94] Remove another test suite which doesn't pass any more --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 40ce0526d4419..c82c4c0948b56 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -141,6 +141,7 @@ + From 582d247f9b6af7c627a8c4f26db9279333540fd2 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 17 Jun 2020 10:33:40 -0400 Subject: [PATCH 63/94] Try using HelixPreCommand Include, not a big HelixPreCommands string --- src/libraries/sendtohelixhelp.proj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 69cd72196939c..3cddbbcdefe0c 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -66,9 +66,9 @@ true sdk 3.1.201 - $(HelixPreCommands) "$HELIX_CORRELATION_PAYLOAD"/dotnet/dotnet tool install --tool-path "$HELIX_WORKITEM_PAYLOAD"/xharness-cli --version $(MicrosoftDotNetXHarnessCLIVersion) --add-source https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet-eng/nuget/v3/index.json Microsoft.DotNet.XHarness.CLI; - $(HelixPreCommands) export DOTNET_ROOT="$HELIX_CORRELATION_PAYLOAD"/dotnet; - $(HelixPreCommands) export PATH="$HELIX_WORKITEM_PAYLOAD"/xharness-cli:$PATH; + + + From 0706453a58ed940c5bddaa9c671164c40f74482e Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 17 Jun 2020 10:52:43 -0400 Subject: [PATCH 64/94] ItemGroup not PropertyGroup --- src/libraries/sendtohelixhelp.proj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 3cddbbcdefe0c..b34d392a42893 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -66,6 +66,8 @@ true sdk 3.1.201 + + From ec073af299bc5800078ac7e8b0bead87eacf05b7 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 17 Jun 2020 11:37:34 -0400 Subject: [PATCH 65/94] Typo --- src/libraries/sendtohelixhelp.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index b34d392a42893..06924d11c1ac8 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -70,7 +70,7 @@ - + From dec8dacc702035590eda0f4a2e7080b8b696f094 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 17 Jun 2020 12:34:44 -0400 Subject: [PATCH 66/94] More typos --- src/libraries/sendtohelixhelp.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 06924d11c1ac8..1cacc86269a18 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -71,7 +71,7 @@ - + From 03acee57fa2e55757d3bed1d7ba5c2298bafd590 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 17 Jun 2020 15:43:56 -0400 Subject: [PATCH 67/94] Remove iOS changes, and prepare for un-drafting --- eng/pipelines/common/platform-matrix.yml | 754 +++++++++--------- eng/pipelines/common/xplat-setup.yml | 12 +- eng/pipelines/libraries/build-job.yml | 11 +- .../libraries/helix-queues-setup.yml | 4 - eng/pipelines/libraries/helix.yml | 16 +- eng/pipelines/libraries/run-test-job.yml | 11 +- eng/pipelines/runtime.yml | 2 +- eng/testing/AppleRunnerTemplate.sh | 25 +- eng/testing/tests.mobile.targets | 14 +- eng/testing/tests.targets | 11 +- 10 files changed, 425 insertions(+), 435 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index e76b7e43290e2..ecb21d5686556 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -26,123 +26,122 @@ parameters: jobs: # Linux arm - -# - ${{ if or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Linux -# archType: arm -# platform: Linux_arm -# container: -# image: ubuntu-16.04-cross-20200413125008-09ec757 -# registry: mcr -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# crossrootfsDir: '/crossrootfs/arm' -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Linux + archType: arm + platform: Linux_arm + container: + image: ubuntu-16.04-cross-20200413125008-09ec757 + registry: mcr + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + crossrootfsDir: '/crossrootfs/arm' + ${{ insert }}: ${{ parameters.jobParameters }} # Linux arm64 -# - ${{ if or(containsValue(parameters.platforms, 'Linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Linux -# archType: arm64 -# platform: Linux_arm64 -# container: -# image: ubuntu-16.04-cross-arm64-20200413125008-cfdd435 -# registry: mcr -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# crossrootfsDir: '/crossrootfs/arm64' -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'Linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Linux + archType: arm64 + platform: Linux_arm64 + container: + image: ubuntu-16.04-cross-arm64-20200413125008-cfdd435 + registry: mcr + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + crossrootfsDir: '/crossrootfs/arm64' + ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl x64 -# - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Linux -# osSubgroup: _musl -# archType: x64 -# platform: Linux_musl_x64 -# container: -# # alpine coreclr cmake errors on newer builds -# ${{ if eq(parameters.runtimeFlavor, 'mono') }}: -# image: alpine-3.9-WithNode-0fc54a3-20200131134036 -# ${{ if eq(parameters.runtimeFlavor, 'coreclr') }}: -# image: alpine-3.9-WithNode-0fc54a3-20190918214015 -# registry: mcr -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Linux + osSubgroup: _musl + archType: x64 + platform: Linux_musl_x64 + container: + # alpine coreclr cmake errors on newer builds + ${{ if eq(parameters.runtimeFlavor, 'mono') }}: + image: alpine-3.9-WithNode-0fc54a3-20200131134036 + ${{ if eq(parameters.runtimeFlavor, 'coreclr') }}: + image: alpine-3.9-WithNode-0fc54a3-20190918214015 + registry: mcr + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl arm64 -# - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Linux -# osSubgroup: _musl -# archType: arm64 -# platform: Linux_musl_arm64 -# container: -# image: ubuntu-16.04-cross-arm64-alpine-20200413125008-406629a -# registry: mcr -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# crossrootfsDir: '/crossrootfs/arm64' -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Linux + osSubgroup: _musl + archType: arm64 + platform: Linux_musl_arm64 + container: + image: ubuntu-16.04-cross-arm64-alpine-20200413125008-406629a + registry: mcr + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + crossrootfsDir: '/crossrootfs/arm64' + ${{ insert }}: ${{ parameters.jobParameters }} # Linux x64 -# - ${{ if or(containsValue(parameters.platforms, 'Linux_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Linux -# archType: x64 -# platform: Linux_x64 -# container: -# image: centos-7-359e48e-20200313130914 -# registry: mcr -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'Linux_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Linux + archType: x64 + platform: Linux_x64 + container: + image: centos-7-359e48e-20200313130914 + registry: mcr + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # WebAssembly @@ -166,320 +165,319 @@ jobs: ${{ insert }}: ${{ parameters.jobParameters }} # FreeBSD -# - ${{ if containsValue(parameters.platforms, 'FreeBSD_x64') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: FreeBSD -# archType: x64 -# platform: FreeBSD_x64 -# container: -# image: ubuntu-18.04-cross-freebsd-11-20200407092345-a84b0d2 -# registry: mcr -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# buildConfig: ${{ parameters.buildConfig }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# crossrootfsDir: '/crossrootfs/x64' -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'FreeBSD_x64') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: FreeBSD + archType: x64 + platform: FreeBSD_x64 + container: + image: ubuntu-18.04-cross-freebsd-11-20200407092345-a84b0d2 + registry: mcr + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + buildConfig: ${{ parameters.buildConfig }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + crossrootfsDir: '/crossrootfs/x64' + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + ${{ insert }}: ${{ parameters.jobParameters }} # Android x64 -# - ${{ if containsValue(parameters.platforms, 'Android_x64') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Android -# archType: x64 -# platform: Android_x64 -# container: -# image: ubuntu-18.04-android-20200422191843-e2c3f83 -# registry: mcr -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'Android_x64') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Android + archType: x64 + platform: Android_x64 + container: + image: ubuntu-18.04-android-20200422191843-e2c3f83 + registry: mcr + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # Android x86 -# - ${{ if containsValue(parameters.platforms, 'Android_x86') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Android -# archType: x86 -# platform: Android_x86 -# container: -# image: ubuntu-18.04-android-20200422191843-e2c3f83 -# registry: mcr -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'Android_x86') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Android + archType: x86 + platform: Android_x86 + container: + image: ubuntu-18.04-android-20200422191843-e2c3f83 + registry: mcr + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # Android arm -# - ${{ if containsValue(parameters.platforms, 'Android_arm') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Android -# archType: arm -# platform: Android_arm -# container: -# image: ubuntu-18.04-android-20200422191843-e2c3f83 -# registry: mcr -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'Android_arm') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Android + archType: arm + platform: Android_arm + container: + image: ubuntu-18.04-android-20200422191843-e2c3f83 + registry: mcr + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # Android arm64 -# - ${{ if containsValue(parameters.platforms, 'Android_arm64') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Android -# archType: arm64 -# platform: Android_arm64 -# container: -# image: ubuntu-18.04-android-20200422191843-e2c3f83 -# registry: mcr -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'Android_arm64') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Android + archType: arm64 + platform: Android_arm64 + container: + image: ubuntu-18.04-android-20200422191843-e2c3f83 + registry: mcr + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # tvOS x64 -# - ${{ if containsValue(parameters.platforms, 'tvOS_x64') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: tvOS -# archType: x64 -# platform: tvOS_x64 -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'tvOS_x64') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: tvOS + archType: x64 + platform: tvOS_x64 + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # tvOS arm64 -# - ${{ if containsValue(parameters.platforms, 'tvOS_arm64') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: tvOS -# archType: arm64 -# platform: tvOS_arm64 -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'tvOS_arm64') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: tvOS + archType: arm64 + platform: tvOS_arm64 + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # iOS x64 -# - ${{ if containsValue(parameters.platforms, 'iOS_x64') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: iOS -# archType: x64 -# platform: iOS_x64 -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# managedTestBuildOsGroup: OSX -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'iOS_x64') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: iOS + archType: x64 + platform: iOS_x64 + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # iOS x86 -# - ${{ if containsValue(parameters.platforms, 'iOS_x86') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: iOS -# archType: x86 -# platform: iOS_x86 -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# managedTestBuildOsGroup: OSX -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'iOS_x86') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: iOS + archType: x86 + platform: iOS_x86 + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + managedTestBuildOsGroup: OSX + ${{ insert }}: ${{ parameters.jobParameters }} # iOS arm -# - ${{ if containsValue(parameters.platforms, 'iOS_arm') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: iOS -# archType: arm -# platform: iOS_arm -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'iOS_arm') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: iOS + archType: arm + platform: iOS_arm + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # iOS arm64 -# - ${{ if containsValue(parameters.platforms, 'iOS_arm64') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: iOS -# archType: arm64 -# platform: iOS_arm64 -# jobParameters: -# runtimeFlavor: mono -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if containsValue(parameters.platforms, 'iOS_arm64') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: iOS + archType: arm64 + platform: iOS_arm64 + jobParameters: + runtimeFlavor: mono + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # macOS x64 -# - ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), eq(parameters.platformGroup, 'all')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: OSX -# archType: x64 -# platform: OSX_x64 -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), eq(parameters.platformGroup, 'all')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: OSX + archType: x64 + platform: OSX_x64 + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # Windows x64 -# - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Windows_NT -# archType: x64 -# platform: Windows_NT_x64 -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Windows_NT + archType: x64 + platform: Windows_NT_x64 + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # Windows x86 -# - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x86'), in(parameters.platformGroup, 'all', 'gcstress')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Windows_NT -# archType: x86 -# platform: Windows_NT_x86 -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x86'), in(parameters.platformGroup, 'all', 'gcstress')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Windows_NT + archType: x86 + platform: Windows_NT_x86 + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # Windows arm -# - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm'), eq(parameters.platformGroup, 'all')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Windows_NT -# archType: arm -# platform: Windows_NT_arm -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm'), eq(parameters.platformGroup, 'all')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Windows_NT + archType: arm + platform: Windows_NT_arm + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} # Windows arm64 -# - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm64'), eq(parameters.platformGroup, 'all')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# osGroup: Windows_NT -# archType: arm64 -# platform: Windows_NT_arm64 -# jobParameters: -# runtimeFlavor: ${{ parameters.runtimeFlavor }} -# stagedBuild: ${{ parameters.stagedBuild }} -# buildConfig: ${{ parameters.buildConfig }} -# ${{ if eq(parameters.passPlatforms, true) }}: -# platforms: ${{ parameters.platforms }} -# helixQueueGroup: ${{ parameters.helixQueueGroup }} -# ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm64'), eq(parameters.platformGroup, 'all')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + osGroup: Windows_NT + archType: arm64 + platform: Windows_NT_arm64 + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + ${{ insert }}: ${{ parameters.jobParameters }} diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index 545907b7b1102..f80c77a01eb72 100644 --- a/eng/pipelines/common/xplat-setup.yml +++ b/eng/pipelines/common/xplat-setup.yml @@ -108,8 +108,16 @@ jobs: name: NetCoreInternal-Pool queue: BuildPool.Ubuntu.1604.Amd64 - # OSX Build Pool (we don't have on-prem OSX BuildPool - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}: + # Public OSX Build Pool + ${{ if eq(parameters.osGroup, 'OSX') }}: + vmImage: 'macOS-10.14' + + # Public OSX Build Pool + ${{ if eq(parameters.osGroup, 'iOS') }}: + vmImage: 'macOS-10.14' + + # Public OSX Build Pool + ${{ if eq(parameters.osGroup, 'tvOS') }}: vmImage: 'macOS-10.14' # Official Build Windows Pool diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index e3200bd3f2a0e..f33f413f457ee 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -174,11 +174,14 @@ jobs: - ${{ if eq(parameters.runTests, true) }}: - template: /eng/pipelines/libraries/helix.yml parameters: - osGroup: ${{ parameters.osGroup }} - archType: ${{ parameters.archType }} - buildConfig: ${{ parameters.buildConfig }} - helixQueues: ${{ parameters.helixQueues }} + targetOS: ${{ parameters.osGroup }} + archGroup: ${{ parameters.archType }} + configuration: ${{ parameters.buildConfig }} + helixQueues: ${{ join('+', parameters.helixQueues) }} + msbuildScript: $(_msbuildCommand) + framework: ${{ parameters.framework }} testScope: ${{ parameters.testScope }} creator: dotnet-bot + helixToken: '' testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix) extraHelixArguments: $(_extraHelixArguments) diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index a7b4efe289589..e6c9fbff69c0a 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -87,10 +87,6 @@ jobs: - OSX.1013.Amd64.Open - OSX.1014.Amd64.Open - # iOS x64/x86 - - ${{ if in(parameters.platform, 'iOS_x64', 'iOS_x86') }}: - - OSX.1015.Amd64.Open - # Windows_NT x64 - ${{ if eq(parameters.platform, 'Windows_NT_x64') }}: # netcoreapp diff --git a/eng/pipelines/libraries/helix.yml b/eng/pipelines/libraries/helix.yml index c0c5873d297d6..fdd4cf81babc8 100644 --- a/eng/pipelines/libraries/helix.yml +++ b/eng/pipelines/libraries/helix.yml @@ -1,10 +1,12 @@ parameters: runtimeFlavor: '' - archType: '' - buildConfig: '' + archGroup: '' + configuration: '' creator: '' + framework: '' helixQueues: '' - osGroup: '' + msbuildScript: '' + targetOS: '' testRunNamePrefixSuffix: '' testScope: 'innerloop' # innerloop | outerloop | all interpreter: '' @@ -13,12 +15,12 @@ parameters: scenarios: '' steps: - - script: $(_msbuildCommand) + - script: ${{ parameters.msbuildScript }} $(Build.SourcesDirectory)/src/libraries/sendtohelix.proj /p:RuntimeFlavor=${{ parameters.runtimeFlavor }} - /p:TargetArchitecture=${{ parameters.archType }} - /p:Configuration=${{ parameters.buildConfig }} - /p:TargetOS=${{ parameters.osGroup }} + /p:TargetArchitecture=${{ parameters.archGroup }} + /p:Configuration=${{ parameters.configuration }} + /p:TargetOS=${{ parameters.targetOS }} /p:MonoEnableInterpreter=${{ parameters.interpreter }} /p:TestScope=${{ parameters.testScope }} /p:TestRunNamePrefixSuffix=${{ parameters.testRunNamePrefixSuffix }} diff --git a/eng/pipelines/libraries/run-test-job.yml b/eng/pipelines/libraries/run-test-job.yml index 28de672b22bc4..ee446ac7e95b5 100644 --- a/eng/pipelines/libraries/run-test-job.yml +++ b/eng/pipelines/libraries/run-test-job.yml @@ -92,13 +92,16 @@ jobs: - template: /eng/pipelines/libraries/helix.yml parameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} - osGroup: ${{ parameters.osGroup }} - archType: ${{ parameters.archType }} - buildConfig: ${{ parameters.buildConfig }} - helixQueues: ${{ parameters.helixQueues }} + targetOS: ${{ parameters.osGroup }} + archGroup: ${{ parameters.archType }} + configuration: ${{ parameters.buildConfig }} + helixQueues: ${{ join('+', parameters.helixQueues) }} + msbuildScript: $(_msbuildCommand) + framework: ${{ parameters.framework }} testScope: ${{ parameters.testScope }} interpreter: ${{ parameters.interpreter }} creator: dotnet-bot + helixToken: '' testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix) extraHelixArguments: $(_extraHelixArguments) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index bd3a741ab1ef3..757adabfcd47c 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -269,6 +269,7 @@ jobs: - Android_arm - tvOS_arm64 - iOS_arm + - iOS_x64 - Linux_musl_x64 jobParameters: testGroup: innerloop @@ -291,7 +292,6 @@ jobs: buildConfig: Release runtimeFlavor: mono platforms: - - iOS_x64 - Browser_wasm jobParameters: testGroup: innerloop diff --git a/eng/testing/AppleRunnerTemplate.sh b/eng/testing/AppleRunnerTemplate.sh index 5bc594d9daae6..c146f7e0364b1 100644 --- a/eng/testing/AppleRunnerTemplate.sh +++ b/eng/testing/AppleRunnerTemplate.sh @@ -1,7 +1,10 @@ #!/usr/bin/env bash EXECUTION_DIR=$(dirname $0) -[[RunCommands]] +TEST_NAME=$1 +TARGET_ARCH=$2 +TARGET= +SCHEME_SDK= if [ "$TARGET_ARCH" == "arm" ]; then TARGET=ios-device @@ -35,25 +38,15 @@ while true; do sleep 5 fi done -# Restart the simulator to make sure it is tied to the right user session -xcode_version=11.4 -xcode_path="/Applications/Xcode${xcode_version/./}.app" -simulator_app="$xcode_path/Contents/Developer/Applications/Simulator.app" -pid=`ps aux | grep "$simulator_app" | grep -v grep | tr -s ' ' | cut -d ' ' -f 2` -if [ ! -z "$pid" ]; then - sudo kill "$pid" -fi -open -a "$simulator_app" -export XHARNESS_OUT="$EXECUTION_DIR/xharness-output" -dotnet xharness ios test \ - --targets="$TARGET" \ - --app="$APP_BUNDLE" \ - --xcode="/Applications/Xcode114.app" \ +XHARNESS_OUT="$EXECUTION_DIR/xharness-output" + +dotnet xharness ios test --app="$APP_BUNDLE" \ + --targets=$TARGET \ --output-directory=$XHARNESS_OUT _exitCode=$? -echo "Xharness artifacts: `ls -lh $XHARNESS_OUT`" +echo "Xharness artifacts: $XHARNESS_OUT" exit $_exitCode diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 3c128e0c08264..9a9e1d323cdc6 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -1,5 +1,7 @@ + + $([MSBuild]::NormalizeDirectory('$(OutDir)', 'AppBundle')) $([MSBuild]::NormalizePath('$(BundleDir)', '$(RunScriptOutputName)')) true V8 @@ -69,7 +71,6 @@ - @@ -112,16 +113,7 @@ - - - <_appFiles Include="$(AppBundlePath)/../**/*" /> - - - - + - $([MSBuild]::NormalizeDirectory('$(OutDir)', 'AppBundle')) - <_zipSourceDirectory>$(OutDir) - <_zipSourceDirectory Condition="'$(TargetOS)' == 'Browser'">$(BundleDir) - @@ -93,7 +88,7 @@ "$(RunScriptOutputPath)" --runtime-path "$(TestHostRootPath.TrimEnd('\/'))" $(RunTestsCommand) --rsp-file "$(TestRspFile)" "$(RunScriptOutputPath)" $(AssemblyName) $(TargetArchitecture) - "$(RunScriptOutputPath)" + "$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(_withoutCategories.Replace(';', ' -notrait category=')) From 1c74889461ca2d256077c6ce3cd885f73b019c09 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 17 Jun 2020 17:06:18 -0400 Subject: [PATCH 68/94] More fixups --- eng/testing/tests.mobile.targets | 5 +++++ eng/testing/tests.targets | 6 +----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 9a9e1d323cdc6..17c04a70389c6 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -16,6 +16,11 @@ $HARNESS_RUNNER xharness wasm test --engine=$(JSEngine) --js-file=runtime.js -v --output-directory=$XHARNESS_OUT -- --enable-gc --run WasmTestRunner.dll $(AssemblyName).dll + + <_zipSourceDirectory>$(OutDir) + <_zipSourceDirectory Condition="'$(TargetOS)' == 'Browser'">$(BundleDir) + + - - $([MSBuild]::NormalizeDirectory('$(OutDir)', 'AppBundle')) - - From 90f90467310e8674ce12b5e51cc3f7a16990c888 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 18 Jun 2020 11:05:31 -0400 Subject: [PATCH 69/94] Move directory zip definition to the right place --- eng/testing/tests.mobile.targets | 5 ----- eng/testing/tests.targets | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index b339e8d8bae67..a440e16517a29 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -16,11 +16,6 @@ $HARNESS_RUNNER xharness wasm test --engine=$(JSEngine) --js-file=runtime.js -v --output-directory=$XHARNESS_OUT -- --enable-gc --run WasmTestRunner.dll $(AssemblyName).dll - - <_zipSourceDirectory>$(OutDir) - <_zipSourceDirectory Condition="'$(TargetOS)' == 'Browser'">$(BundleDir) - - + + $([MSBuild]::NormalizeDirectory('$(OutDir)', 'AppBundle')) + <_zipSourceDirectory>$(OutDir) + <_zipSourceDirectory Condition="'$(TargetOS)' == 'Browser'">$(BundleDir) + + Date: Thu, 18 Jun 2020 11:05:54 -0400 Subject: [PATCH 70/94] Put dependency back how it was (gotta figure out why it's bad though) --- eng/testing/tests.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index de5e564d7ed5e..22f184b2adf6c 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -28,7 +28,7 @@ From 4e52d5c1d29cae7165b6b8f9398cc911c296b2b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 18 Jun 2020 18:34:34 +0200 Subject: [PATCH 71/94] Fix circular dependency issue --- eng/testing/tests.mobile.targets | 1 - eng/testing/tests.targets | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index a440e16517a29..5bcfac9ec5a6a 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -165,6 +165,5 @@ diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index 22f184b2adf6c..1fbe7334c5883 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -26,8 +26,7 @@ From ffe2fc36495b01a38dd7c29eae649dfd4ed0654e Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Thu, 18 Jun 2020 10:42:49 -0700 Subject: [PATCH 72/94] Sequence ArchiveTests correctly for browser --- eng/testing/tests.mobile.targets | 2 +- eng/testing/tests.targets | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 5bcfac9ec5a6a..ce697b1c45f0c 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -165,5 +165,5 @@ + DependsOnTargets="UpdateRuntimePack;Publish;BundleTestAppleApp;BundleTestAndroidApp;BundleTestWasmApp;ArchiveTests" /> diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index 1fbe7334c5883..545767cd50369 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -24,10 +24,19 @@ + + PrepareForRun + + + + + From 2e2d618d8eb58822e1f30d9fd76f30c2fd098b9e Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 18 Jun 2020 14:18:35 -0400 Subject: [PATCH 73/94] Deal with nits from Alex --- eng/testing/WasmRunnerTemplate.sh | 2 +- eng/testing/tests.mobile.targets | 2 +- eng/testing/tests.targets | 6 +++--- src/libraries/sendtohelix.proj | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index aada7fe139028..6bba445186fc4 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -15,6 +15,6 @@ fi _exitCode=$? -echo "Xharness artifacts: `ls -lh $XHARNESS_OUT`" +echo "Xharness artifacts: $XHARNESS_OUT" exit $_exitCode diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index ce697b1c45f0c..fb2f41568a0e6 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -8,7 +8,7 @@ - + diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index 545767cd50369..1534c3aa0dadd 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -42,12 +42,12 @@ $([MSBuild]::NormalizeDirectory('$(OutDir)', 'AppBundle')) - <_zipSourceDirectory>$(OutDir) - <_zipSourceDirectory Condition="'$(TargetOS)' == 'Browser'">$(BundleDir) + <_ZipSourceDirectory>$(OutDir) + <_ZipSourceDirectory Condition="'$(TargetOS)' == 'Browser'">$(BundleDir) - diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index bcee118dfc019..e576dc02aa873 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -144,7 +144,7 @@ + Condition="'$(BuildAllConfigurations)' != 'true' and ('$(TargetsMobile)' != 'true' or '$(TargetOS)' == 'Browser')"> From 680582a23df781a19586b70b2f0557b218412cf8 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 18 Jun 2020 15:50:43 -0400 Subject: [PATCH 74/94] Refresh list of failing tests --- src/libraries/tests.proj | 75 +++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 44 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index a454968824143..027c1be6981cb 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -25,13 +25,13 @@ - - + + - + - + @@ -39,15 +39,16 @@ - - - + + + + @@ -59,11 +60,9 @@ - - + - - + @@ -73,8 +72,7 @@ - - + @@ -82,7 +80,7 @@ - + @@ -98,53 +96,42 @@ - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + - - + - - + - + - + + - - From 8ce396429aa9a48d32df0d7f3ef57fe32527810e Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 18 Jun 2020 17:18:23 -0400 Subject: [PATCH 75/94] Define msbuildScript in global-build jobs (i.e. wasm) --- eng/pipelines/runtime.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 757adabfcd47c..aa47e6f605370 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -301,6 +301,7 @@ jobs: extraStepsParameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) + msbuildScript: $(_msbuildCommand) condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), From ef84e2f7d2f0d1e7f0c07be96d4a47b4e8a139b5 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Thu, 18 Jun 2020 14:54:56 -0700 Subject: [PATCH 76/94] Add cleanup in helix.yml missed on merge with master --- eng/pipelines/libraries/build-job.yml | 11 ++++------- eng/pipelines/libraries/helix.yml | 16 +++++++--------- eng/pipelines/libraries/run-test-job.yml | 11 ++++------- eng/pipelines/runtime.yml | 1 - 4 files changed, 15 insertions(+), 24 deletions(-) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index f33f413f457ee..e3200bd3f2a0e 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -174,14 +174,11 @@ jobs: - ${{ if eq(parameters.runTests, true) }}: - template: /eng/pipelines/libraries/helix.yml parameters: - targetOS: ${{ parameters.osGroup }} - archGroup: ${{ parameters.archType }} - configuration: ${{ parameters.buildConfig }} - helixQueues: ${{ join('+', parameters.helixQueues) }} - msbuildScript: $(_msbuildCommand) - framework: ${{ parameters.framework }} + osGroup: ${{ parameters.osGroup }} + archType: ${{ parameters.archType }} + buildConfig: ${{ parameters.buildConfig }} + helixQueues: ${{ parameters.helixQueues }} testScope: ${{ parameters.testScope }} creator: dotnet-bot - helixToken: '' testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix) extraHelixArguments: $(_extraHelixArguments) diff --git a/eng/pipelines/libraries/helix.yml b/eng/pipelines/libraries/helix.yml index fdd4cf81babc8..c0c5873d297d6 100644 --- a/eng/pipelines/libraries/helix.yml +++ b/eng/pipelines/libraries/helix.yml @@ -1,12 +1,10 @@ parameters: runtimeFlavor: '' - archGroup: '' - configuration: '' + archType: '' + buildConfig: '' creator: '' - framework: '' helixQueues: '' - msbuildScript: '' - targetOS: '' + osGroup: '' testRunNamePrefixSuffix: '' testScope: 'innerloop' # innerloop | outerloop | all interpreter: '' @@ -15,12 +13,12 @@ parameters: scenarios: '' steps: - - script: ${{ parameters.msbuildScript }} + - script: $(_msbuildCommand) $(Build.SourcesDirectory)/src/libraries/sendtohelix.proj /p:RuntimeFlavor=${{ parameters.runtimeFlavor }} - /p:TargetArchitecture=${{ parameters.archGroup }} - /p:Configuration=${{ parameters.configuration }} - /p:TargetOS=${{ parameters.targetOS }} + /p:TargetArchitecture=${{ parameters.archType }} + /p:Configuration=${{ parameters.buildConfig }} + /p:TargetOS=${{ parameters.osGroup }} /p:MonoEnableInterpreter=${{ parameters.interpreter }} /p:TestScope=${{ parameters.testScope }} /p:TestRunNamePrefixSuffix=${{ parameters.testRunNamePrefixSuffix }} diff --git a/eng/pipelines/libraries/run-test-job.yml b/eng/pipelines/libraries/run-test-job.yml index ee446ac7e95b5..28de672b22bc4 100644 --- a/eng/pipelines/libraries/run-test-job.yml +++ b/eng/pipelines/libraries/run-test-job.yml @@ -92,16 +92,13 @@ jobs: - template: /eng/pipelines/libraries/helix.yml parameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} - targetOS: ${{ parameters.osGroup }} - archGroup: ${{ parameters.archType }} - configuration: ${{ parameters.buildConfig }} - helixQueues: ${{ join('+', parameters.helixQueues) }} - msbuildScript: $(_msbuildCommand) - framework: ${{ parameters.framework }} + osGroup: ${{ parameters.osGroup }} + archType: ${{ parameters.archType }} + buildConfig: ${{ parameters.buildConfig }} + helixQueues: ${{ parameters.helixQueues }} testScope: ${{ parameters.testScope }} interpreter: ${{ parameters.interpreter }} creator: dotnet-bot - helixToken: '' testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix) extraHelixArguments: $(_extraHelixArguments) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index aa47e6f605370..757adabfcd47c 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -301,7 +301,6 @@ jobs: extraStepsParameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) - msbuildScript: $(_msbuildCommand) condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), From 270c30dbb19ebd8b5b5453ffc8edd6186751f745 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Thu, 18 Jun 2020 16:15:03 -0700 Subject: [PATCH 77/94] Don't compress teshost for Browser --- src/libraries/sendtohelix.proj | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index e576dc02aa873..018d18976c86a 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -144,7 +144,7 @@ + Condition="'$(BuildAllConfigurations)' != 'true' and '$(TargetsMobile)' != 'true'"> @@ -153,7 +153,6 @@ - From 0dd57f0d98537ab3c3abcfc47d3a020c61dd47e8 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 19 Jun 2020 09:17:02 -0400 Subject: [PATCH 78/94] non-building tests now build --- src/libraries/tests.proj | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 027c1be6981cb..3ab764021e18d 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -20,12 +20,6 @@ - - - - - - @@ -61,6 +55,7 @@ + @@ -72,6 +67,7 @@ + @@ -125,6 +121,7 @@ + From 42958debf69ba88c78274f1bf4bba917294f19c2 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 19 Jun 2020 09:18:00 -0400 Subject: [PATCH 79/94] Use Helix SDK to install xharness --- src/libraries/sendtohelixhelp.proj | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 1cacc86269a18..3a7681941ea96 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -64,14 +64,8 @@ true - sdk - 3.1.201 + true - - - - - From afaffb8fd4f802459dd00dab00ab3d59c27ce707 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 19 Jun 2020 10:45:55 -0400 Subject: [PATCH 80/94] Revert "Use Helix SDK to install xharness" This reverts commit 42958debf69ba88c78274f1bf4bba917294f19c2. --- src/libraries/sendtohelixhelp.proj | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 3a7681941ea96..1cacc86269a18 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -64,8 +64,14 @@ true - true + sdk + 3.1.201 + + + + + From 2c8e3bbf9d1d49b250016b378694c7f2b35044f8 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 19 Jun 2020 10:51:19 -0400 Subject: [PATCH 81/94] Enable System.Console --- src/libraries/tests.proj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 3ab764021e18d..441e106b34161 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -66,7 +66,6 @@ - From ab995339d7c20daddff2942852b387d7b72fdcf9 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 19 Jun 2020 13:02:59 -0400 Subject: [PATCH 82/94] Skip another suite, which maybe only started being included via dependencies? --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 441e106b34161..cdd91a20657e2 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -67,6 +67,7 @@ + From a1216c558f7ae08f78270bb13f598d81c8882aa6 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 19 Jun 2020 13:46:47 -0400 Subject: [PATCH 83/94] Move timeoutInMinutes to the right place --- eng/pipelines/common/global-build-job.yml | 2 +- eng/pipelines/runtime.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index 578c5a77b9105..d55570b29400f 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -8,7 +8,7 @@ parameters: container: '' crossrootfsDir: '' variables: {} - timeoutInMinutes: 120 + timeoutInMinutes: '' pool: '' condition: true isOfficialBuild: false diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 757adabfcd47c..fa5b2d38a5795 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -297,6 +297,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + timeoutInMinutes: 120 extraStepsTemplate: /eng/pipelines/libraries/helix.yml extraStepsParameters: creator: dotnet-bot From a2e630bec87863d03387114090c75897aa3030be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Mon, 22 Jun 2020 12:10:12 +0200 Subject: [PATCH 84/94] Reenable test projects that pass now --- src/libraries/tests.proj | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index cdd91a20657e2..3e4a822ff9209 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -23,13 +23,9 @@ - - - - From 5b7e592f2a62cec9441a847389d16b0fc49502aa Mon Sep 17 00:00:00 2001 From: Jo Shields Date: Mon, 22 Jun 2020 10:01:10 -0400 Subject: [PATCH 85/94] Update src/libraries/sendtohelixhelp.proj MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Přemek Vysoký --- src/libraries/sendtohelixhelp.proj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 1cacc86269a18..154991cb54176 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -71,6 +71,8 @@ + $(HelixPreCommands) export XHARNESS_DISABLE_COLORED_OUTPUT=true; + $(HelixPreCommands) export XHARNESS_LOG_WITH_TIMESTAMPS=true; From 25d1eaca6d1f72ae5c9ad0bc681c98d061a0c45c Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 22 Jun 2020 10:13:44 -0400 Subject: [PATCH 86/94] Fixup for Premek's change --- src/libraries/sendtohelixhelp.proj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 154991cb54176..5d9e17db7c224 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -71,8 +71,8 @@ - $(HelixPreCommands) export XHARNESS_DISABLE_COLORED_OUTPUT=true; - $(HelixPreCommands) export XHARNESS_LOG_WITH_TIMESTAMPS=true; + + From 9eb97537691fb3e35e9700a95a2c0adae042b8c6 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Tue, 23 Jun 2020 15:24:32 -0400 Subject: [PATCH 87/94] ActiveIssue on Crypto test in Format.Cbor --- .../System.Formats.Cbor/tests/Reader/CborReaderTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs b/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs index 85996cd51dbf7..bb58b96fa1bfc 100644 --- a/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs +++ b/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs @@ -233,6 +233,7 @@ public static void ReadEncodedValue_InvalidConformance_ConformanceCheckDisabled_ } [Theory] + [ActiveIssue("https://github.com/dotnet/runtime/issues/37669", TestPlatforms.Browser)] [InlineData("a501020326200121582065eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d2258201e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c", "65eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d", "1e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c", From ee4c2f821c144e439ca8f7b8276b3e8dfc3e8de2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Wed, 24 Jun 2020 01:36:03 +0200 Subject: [PATCH 88/94] Another ActiveIssue on Cbor Crypto test --- .../System.Formats.Cbor/tests/Writer/CborWriterTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Formats.Cbor/tests/Writer/CborWriterTests.cs b/src/libraries/System.Formats.Cbor/tests/Writer/CborWriterTests.cs index 13438ab3e8578..d36786bb30572 100644 --- a/src/libraries/System.Formats.Cbor/tests/Writer/CborWriterTests.cs +++ b/src/libraries/System.Formats.Cbor/tests/Writer/CborWriterTests.cs @@ -342,6 +342,7 @@ public static void InvalidConformanceMode_ShouldThrowArgumentOutOfRangeException public static IEnumerable EncodedValueBadInputs => CborReaderTests.InvalidCborValues.Select(x => new[] { x }); [Theory] + [ActiveIssue("https://github.com/dotnet/runtime/issues/37669", TestPlatforms.Browser)] [InlineData("a501020326200121582065eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d2258201e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c", "65eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d", "1e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c", From 80c1930030274f502219be380625cc2be759ecfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Wed, 24 Jun 2020 15:54:00 +0200 Subject: [PATCH 89/94] Enable three more testsuites that pass now --- src/libraries/tests.proj | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 3e4a822ff9209..8160794d35b0f 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -22,11 +22,8 @@ - - - From 42644a6074c129f0d92592c29fb98785ec2eb596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Wed, 24 Jun 2020 15:56:57 +0200 Subject: [PATCH 90/94] Reenable System.Reflection.Emit.ILGeneration --- src/libraries/tests.proj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 8160794d35b0f..48a6469fac4dc 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -33,7 +33,6 @@ - From bf2f9a116fbc378674be841eab61b9ce66de9696 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 24 Jun 2020 12:26:20 -0400 Subject: [PATCH 91/94] Revert "Revert "Use Helix SDK to install xharness"" This reverts commit afaffb8fd4f802459dd00dab00ab3d59c27ce707. --- src/libraries/sendtohelixhelp.proj | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 5d9e17db7c224..3a7681941ea96 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -64,16 +64,8 @@ true - sdk - 3.1.201 + true - - - - - - - From 3cdf5e76bc5e5012bd22825bfe1c18bd14690cbb Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 24 Jun 2020 12:27:01 -0400 Subject: [PATCH 92/94] Run wasm tests in bare Ubuntu 20.04 queue, not in Docker --- eng/pipelines/libraries/helix-queues-setup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index 7e92fe0cb1488..d0aeedc29bd32 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -146,6 +146,6 @@ jobs: # WebAssembly - ${{ if eq(parameters.platform, 'Browser_wasm') }}: - - (Ubuntu.2004.Amd64.Open)ubuntu.1604.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-helix-wasm-amd64-20200610155328-b5586b3 + - Ubuntu.2004.Amd64.Open ${{ insert }}: ${{ parameters.jobParameters }} From 64323dd300096da2399349a636ce78febd3d06aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 25 Jun 2020 13:12:16 +0200 Subject: [PATCH 93/94] Reenable two more test suites --- src/libraries/tests.proj | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 48a6469fac4dc..01fe662120517 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -22,7 +22,6 @@ - @@ -38,7 +37,6 @@ - From 2686b84d46ef98e384146d3b007d34d59e025378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 25 Jun 2020 16:16:32 +0200 Subject: [PATCH 94/94] Reenable three more test suites --- src/libraries/tests.proj | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 01fe662120517..1137b8b2d55b3 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -23,8 +23,6 @@ - - @@ -74,7 +72,6 @@ -