From be7b233243b3751ed015b8b9920f92505862e80e Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 5 Jun 2020 11:39:49 +0200 Subject: [PATCH 01/77] 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 00be5a6287289f..99abba2b790ec8 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 b3c92bfcde9af4..20d42e8e3edcac 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 f80c77a01eb727..cd982912c1c3b6 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 f33f413f457eef..0f0a8717d3751a 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 0ce715add47c9d..ff51a5062042c0 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 eee34fdff3bd95..da0ff8e9775635 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 0fcf17e8d4d1d6..82e197295237b1 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 5e12956f8b9efc..0fe8d4222a009e 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 6e92a434cf559d..3f0984b63d38cc 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 a92a5090c33689..c4976ce1362fbc 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/77] 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 82e197295237b1..6a8f8bba445ed0 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/77] 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 6a8f8bba445ed0..364b7696c155d4 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/77] 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 cd982912c1c3b6..3f217e9d3aa687 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 da0ff8e9775635..4b34d142f3b98b 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/77] 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 364b7696c155d4..e3f6b600155b64 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/77] 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 e3f6b600155b64..88db66f6e0a116 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/77] 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 88db66f6e0a116..0868cb6dc68016 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/77] 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 0868cb6dc68016..56ff74d833f463 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/77] 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 20d42e8e3edcac..6180c7ff78c843 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 3f217e9d3aa687..2aa4627ad38f8d 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/77] 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 56ff74d833f463..cc1ea28b5a9d43 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/77] 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 0fe8d4222a009e..12b52e0346e630 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/77] 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 cc1ea28b5a9d43..56ff74d833f463 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/77] 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 1f24b5c25f3124..3b7d964b2f3036 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/77] 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 c146f7e0364b13..5bc594d9daae64 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 0fe8d4222a009e..ad9cd8ff4ba922 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/77] 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 4c1f44c47e9989..1736298196fc50 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/77] 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 2aa4627ad38f8d..7bdde31f7dbc7b 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 0f0a8717d3751a..630693dabfa136 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 ff51a5062042c0..4bc6b69c7d8b0c 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 4b34d142f3b98b..7ef7187eaaaf45 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 56ff74d833f463..576e38b9799c0c 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 1736298196fc50..de272a8d7c439a 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 7fa7d73eedc03b6f4133d3c5cb38d0e92a0ad15d Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 11:24:50 +0200 Subject: [PATCH 18/77] Enable the Android x64 platform --- eng/pipelines/common/platform-matrix.yml | 38 ++++++++++++------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 6180c7ff78c843..9c694993b8494c 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -189,25 +189,25 @@ jobs: # 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 From 1882bfa8acfaf81a1222cb4002183769b2bf6666 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 11:32:47 +0200 Subject: [PATCH 19/77] Create XHarness Android work items --- src/libraries/sendtohelix.proj | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 38e54fb3bc7e95..78cccbcd505aef 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -115,6 +115,17 @@ + + + arm64-v8a + armeabi-v7a + x86_64 + x86 + net.dot.%(Filename) + net.dot.MonoRunner + + + From e3c123959f7556f7873db4a1fa1a8191dfc4b394 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 11:37:15 +0200 Subject: [PATCH 20/77] Build Android_x64 --- eng/pipelines/runtime.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 576e38b9799c0c..5a3c827cb48333 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 @@ -377,6 +377,7 @@ jobs: platforms: - OSX_x64 - iOS_x64 + - Android_x64 - Linux_x64 - Linux_arm64 # - Linux_musl_arm64 @@ -427,6 +428,7 @@ jobs: platforms: - OSX_x64 - iOS_x64 + - Android_x64 jobParameters: condition: >- or( @@ -464,6 +466,7 @@ jobs: - Linux_x64 - OSX_x64 - iOS_x64 + - Android_x64 - Windows_NT_x64 - FreeBSD_x64 jobParameters: @@ -573,7 +576,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), From 4e52da32aac24d4550b3ec1b6b68422d64c100b1 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 11:40:29 +0200 Subject: [PATCH 21/77] Stop building iOS x64 --- eng/pipelines/common/platform-matrix.yml | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 9c694993b8494c..1b5babac4890cc 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -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 From 4f54466a8cc4199a632c538bdfdb38f105ae05c4 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 13:34:57 +0200 Subject: [PATCH 22/77] Define ANDROID_OPENSSL_AAR --- eng/pipelines/libraries/build-job.yml | 8 +++++--- src/libraries/sendtohelix.proj | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 630693dabfa136..0f0a8717d3751a 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 @@ -90,14 +92,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/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 78cccbcd505aef..3674f95eb74258 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -63,7 +63,7 @@ $(HelixCommand) /p:LocalPackagesPath="%HELIX_CORRELATION_PAYLOAD%\packages\" - + set MONO_ENV_OPTIONS='$(MonoEnvOptions)' export MONO_ENV_OPTIONS='$(MonoEnvOptions)' From 5a8c318441ec236332977045d4912334b92f0dbb Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 14:15:36 +0200 Subject: [PATCH 23/77] Build 2 APKs only --- src/libraries/tests.proj | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 3f0984b63d38cc..3161f164d4b566 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -9,7 +9,7 @@ $(ArtifactsDir)coverage true - + @@ -22,7 +22,11 @@ - + + Date: Mon, 8 Jun 2020 16:20:09 +0200 Subject: [PATCH 24/77] Copy the .apks --- eng/testing/tests.mobile.targets | 9 +++++++++ src/libraries/sendtohelix.proj | 10 ++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index de272a8d7c439a..658aea4eee18d6 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -49,9 +49,18 @@ + + + + <_apkFiles Include="$(BundleDir)/../**/*.apk" /> + + + diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 3674f95eb74258..671172d4fb4bcf 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -104,10 +104,7 @@ DependsOnTargets="CompressRuntimeDirectory"> - - <_appBundleFiles Include="$(TestArchiveTestsRoot)**/*"/> - <_appBundleDirs Include="@(_appBundleFiles->'%(RootDir)%(Directory)'->Distinct())"/> - + ios-device ios-device ios-simulator-64 @@ -116,15 +113,16 @@ - - arm64-v8a + armeabi-v7a + arm64-v8a x86_64 x86 net.dot.%(Filename) net.dot.MonoRunner + From 3bf226a9a4759a3be0b5c807c75f70ab05d126d8 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 17:25:25 +0200 Subject: [PATCH 25/77] Copy the apk --- eng/testing/tests.mobile.targets | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 658aea4eee18d6..b16f320e4a1c19 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -54,13 +54,9 @@ - - <_apkFiles Include="$(BundleDir)/../**/*.apk" /> - - - + SkipUnchangedFiles="true" /> From 318d255770a933e33061e5c80e66675312ab143d Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Mon, 8 Jun 2020 19:21:36 +0200 Subject: [PATCH 26/77] Find apks instead of zips --- 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 671172d4fb4bcf..8d3f4b021a70ca 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -113,7 +113,7 @@ - + armeabi-v7a arm64-v8a x86_64 @@ -122,7 +122,6 @@ net.dot.MonoRunner - From 086a68c7efc520d851639734260a3b84a1aa822f Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Tue, 9 Jun 2020 11:16:51 +0200 Subject: [PATCH 27/77] Fix package name --- src/libraries/sendtohelix.proj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 8d3f4b021a70ca..04ac25dbbf4a34 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -113,7 +113,8 @@ - + <_apks Include="$(TestArchiveTestsRoot)**/*.apk" /> + armeabi-v7a arm64-v8a x86_64 From 59bf3b537ee41c0af8a5bb320a8e06419361a8ff Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Tue, 9 Jun 2020 14:19:01 +0200 Subject: [PATCH 28/77] 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 0f0a8717d3751a..266f70d255f286 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -110,8 +110,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 3ce3b6aa216c940d4a090e0752e5241d225b2655 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Tue, 9 Jun 2020 15:04:11 +0200 Subject: [PATCH 29/77] Revert unnecessary changes --- eng/pipelines/common/xplat-setup.yml | 12 ++++++++++-- eng/pipelines/libraries/build-job.yml | 6 +++--- eng/pipelines/libraries/build-test-job.yml | 2 +- eng/pipelines/runtime.yml | 4 ++-- src/libraries/sendtohelix.proj | 7 +++---- src/libraries/tests.proj | 13 +++---------- 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index 7bdde31f7dbc7b..bc434b747cbbf4 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 266f70d255f286..f5e32198a4060d 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -63,7 +63,7 @@ jobs: - 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 +92,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 4bc6b69c7d8b0c..62bdd23721f4e0 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -63,7 +63,7 @@ jobs: - 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/runtime.yml b/eng/pipelines/runtime.yml index 5a3c827cb48333..7a911fda15bb93 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 @@ -576,7 +576,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/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 04ac25dbbf4a34..48ccdd463dc2e3 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 @@ -41,7 +41,6 @@ - false true 1.0.0-prerelease.20304.1 @@ -66,7 +65,7 @@ set MONO_ENV_OPTIONS='$(MonoEnvOptions)' export MONO_ENV_OPTIONS='$(MonoEnvOptions)' - + @@ -19,16 +19,9 @@ - - - - + Condition="'$(BuildAllConfigurations)' != 'true'" /> From ef7730b2d4355f74b9d180138c6940827ee47f94 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Tue, 9 Jun 2020 15:25:58 +0200 Subject: [PATCH 30/77] Do not archive the tests --- eng/pipelines/libraries/build-test-job.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml index 62bdd23721f4e0..234f6e29ff4093 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, 'Android') }}: + - name: _archiveTestsParameter + value: /p:ArchiveTests=true - ${{ if eq(parameters.osGroup, 'Android') }}: - ANDROID_OPENSSL_AAR: /tmp/openssl-android @@ -63,7 +65,7 @@ jobs: - 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 @@ -75,7 +77,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 From 946c4ecb17b8d0107446eb026de88544e511d2d1 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Tue, 9 Jun 2020 16:00:59 +0200 Subject: [PATCH 31/77] Fix runtime packs --- 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 f5e32198a4060d..a4f0c3147d22cf 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -110,8 +110,8 @@ jobs: - 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 + sourceFolder: $(Build.SourcesDirectory)/artifacts/bin/microsoft.netcore.app.runtime.android-x64 + targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/bin/microsoft.netcore.app.runtime.android-x64 - task: CopyFiles@2 displayName: Prepare artifacts toolset folder to publish From 4ed0db1407e32ce1c1d57320793a34fee0565157 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Tue, 9 Jun 2020 14:11:46 -0700 Subject: [PATCH 32/77] Revert changes in yml to use new mono build workflow --- eng/pipelines/libraries/build-job.yml | 11 +---------- eng/pipelines/libraries/build-test-job.yml | 16 ++++------------ eng/pipelines/runtime.yml | 11 ----------- 3 files changed, 5 insertions(+), 33 deletions(-) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index a4f0c3147d22cf..f33f413f457eef 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -61,8 +61,6 @@ 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. - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}: - _subset: clr.corelib+libs @@ -77,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 @@ -106,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.android-x64 - targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/bin/microsoft.netcore.app.runtime.android-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 234f6e29ff4093..0ce715add47c9d 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -44,12 +44,8 @@ jobs: variables: - librariesTestsArtifactName: ${{ format('libraries_test_assets_{0}_{1}_{2}', parameters.osGroup, parameters.archType, parameters.buildConfig) }} - - ${{ if notIn(parameters.osGroup, 'Android') }}: - - name: _archiveTestsParameter - value: /p:ArchiveTests=true - - ${{ if eq(parameters.osGroup, 'Android') }}: - - ANDROID_OPENSSL_AAR: /tmp/openssl-android - + - _archiveTestsParameter: /p:ArchiveTests=true + - ${{ parameters.variables }} steps: @@ -61,11 +57,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 @@ -77,7 +69,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/runtime.yml b/eng/pipelines/runtime.yml index 7a911fda15bb93..0fcf17e8d4d1d6 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -376,8 +376,6 @@ jobs: buildConfig: debug platforms: - OSX_x64 - - iOS_x64 - - Android_x64 - Linux_x64 - Linux_arm64 # - Linux_musl_arm64 @@ -427,8 +425,6 @@ jobs: buildConfig: release platforms: - OSX_x64 - - iOS_x64 - - Android_x64 jobParameters: condition: >- or( @@ -465,8 +461,6 @@ jobs: - Linux_musl_x64 - Linux_x64 - OSX_x64 - - iOS_x64 - - Android_x64 - Windows_NT_x64 - FreeBSD_x64 jobParameters: @@ -569,9 +563,6 @@ jobs: - OSX_x64 - Linux_x64 - Windows_NT_x64 - - iOS_x64 - - Android_x86 - - Android_x64 jobParameters: isOfficialBuild: false liveRuntimeBuildConfig: release @@ -719,8 +710,6 @@ jobs: - OSX_x64 - Linux_arm64 - Linux_x64 - - iOS_x64 - - Android_x64 helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml jobParameters: isOfficialBuild: false From bca38575228d893a4916169442616a3e104bc692 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Tue, 9 Jun 2020 10:53:47 -0700 Subject: [PATCH 33/77] 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 b5b8b47b66fb60..d55570b29400fb 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 f33f413f457eef..e3200bd3f2a0e7 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 10e4550bd64f9a..f6d886c495fde9 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 9a82eadc50d0d6..0ab1d8a13704a6 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 0fcf17e8d4d1d6..df539c19d9c83a 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 2c0cb10e5767d6059979bf6047ca6322ccba79d0 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Tue, 9 Jun 2020 10:57:36 -0700 Subject: [PATCH 34/77] 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 6e92a434cf559d..e6ac1d84437dca 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 35/77] 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 df539c19d9c83a..3893f1ef9faab4 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 e3526cd7decee22d45fe07d3b82720d7709f2693 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Tue, 9 Jun 2020 14:20:03 -0700 Subject: [PATCH 36/77] Add android to test matrix --- eng/pipelines/common/global-build-job.yml | 6 +++++- eng/pipelines/runtime.yml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index d55570b29400fb..c67402ee89f5f9 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -48,6 +48,10 @@ jobs: ${{ if ne(parameters.isOfficialBuild, true) }}: value: '' + - ${{ if and(eq(parameters.osGroup, 'Android'), eq(parameters.isOfficialBuild, false)) }}: + - name: ANDROID_OPENSSL_AAR + value: /tmp/openssl-android + - ${{ parameters.variables }} steps: @@ -56,7 +60,7 @@ jobs: - ${{ if eq(parameters.isOfficialBuild, true) }}: - template: /eng/pipelines/common/restore-internal-tools.yml - - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}: + - ${{ if or(in(parameters.osGroup, 'OSX', 'iOS', 'tvOS'), and(eq(parameters.osGroup, 'Android'), eq(parameters.isOfficialBuild, false))) }}: - script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }} displayName: Install Build Dependencies diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 3893f1ef9faab4..6b6ffafb4e5fc0 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -266,7 +266,6 @@ jobs: buildConfig: Release runtimeFlavor: mono platforms: - - Android_x64 - Android_arm - tvOS_arm64 - iOS_arm @@ -293,6 +292,7 @@ jobs: runtimeFlavor: mono platforms: - iOS_x64 + - Android_x64 jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono From 1996e659d0ee9d601370cedf6e9a5dee9f38dfa7 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Wed, 10 Jun 2020 09:35:54 +0200 Subject: [PATCH 37/77] Set XHarness version in Version.props --- eng/Versions.props | 1 + src/libraries/sendtohelix.proj | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 4133b5f3b2a025..4f6c2560df2c70 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 48ccdd463dc2e3..2352be96b7ae55 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -42,7 +42,6 @@ true - 1.0.0-prerelease.20304.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 From 768323bd0c71692250b92cd47b184963d19b1e60 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Wed, 10 Jun 2020 09:43:21 +0200 Subject: [PATCH 38/77] Address PR feedback --- eng/install-native-dependencies.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/eng/install-native-dependencies.sh b/eng/install-native-dependencies.sh index 99abba2b790ec8..5fb43744110777 100755 --- a/eng/install-native-dependencies.sh +++ b/eng/install-native-dependencies.sh @@ -17,7 +17,8 @@ elif [ "$1" = "OSX" ] || [ "$1" = "tvOS" ] || [ "$1" = "iOS" ]; then fi elif [ "$1" = "Android" ]; then if [ -z "${ANDROID_OPENSSL_AAR}" ]; then - exit 1; + echo "The ANDROID_OPENSSL_AAR variable must be set!" + exit 1; fi if [ -d "${ANDROID_OPENSSL_AAR}" ]; then exit 0; @@ -26,7 +27,7 @@ elif [ "$1" = "Android" ]; then 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." + echo "Must pass \"Linux\", \"Android\", \"tvOS\", \"iOS\" or \"OSX\" as first argument." exit 1 fi From 3f7917935e715969328354816c2d21df63fe31b2 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Wed, 10 Jun 2020 10:33:13 +0200 Subject: [PATCH 39/77] 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 4f6c2560df2c70..d6eed82097b8a3 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 96b9b62372192e477845790552db60fba6a20e5c Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Wed, 10 Jun 2020 15:59:18 -0700 Subject: [PATCH 40/77] Cleanup --- eng/pipelines/runtime.yml | 2 +- eng/testing/tests.mobile.targets | 6 ++++-- eng/testing/tests.targets | 2 +- src/libraries/tests.proj | 5 ++++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 6b6ffafb4e5fc0..6543fccd2e2a9f 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 0c63bc9af14036..91243434eca162 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -56,7 +56,8 @@ + SkipUnchangedFiles="true" + Condition="'$(ArchiveTests)' == 'true' and '$(IgnoreForCI)' != 'true'" /> @@ -122,7 +123,8 @@ + SkipUnchangedFiles="true" + Condition="'$(ArchiveTests)' == 'true' and '$(IgnoreForCI)' != 'true'" /> diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index 5e44a3070192dd..17997be4bfd79f 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 e6ac1d84437dca..8625aa162bd68f 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 774a62471af94b44974eb5c252e3448566c43647 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Thu, 11 Jun 2020 10:41:57 +0200 Subject: [PATCH 41/77] Use hosted pools for Android --- eng/pipelines/common/xplat-setup.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index bc434b747cbbf4..f80c77a01eb727 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 From 67868b37ccc8375e97ab597be6166b31f62485e6 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Thu, 11 Jun 2020 10:42:07 +0200 Subject: [PATCH 42/77] 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 9906b66bcc8a36..793a06df3ebd06 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -178,5 +178,9 @@ https://github.com/dotnet/xharness 966e978642d33e54529dcb2c1bb486b4dc55d4a2 + + https://github.com/dotnet/xharness + 513c09e1d5f22c00df1524ec6d71b0a35c2cfaeb + From 71bcddb0e571038fb7fbdf95bf684366e9841d87 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Fri, 12 Jun 2020 10:33:03 +0200 Subject: [PATCH 43/77] Bump XHarness and Helix SDK versions # Conflicts: # global.json --- .config/dotnet-tools.json | 2 +- eng/Version.Details.xml | 4 ++-- global.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 46328feeb7de23..bc9f9f2ac898e5 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -15,7 +15,7 @@ ] }, "microsoft.dotnet.xharness.cli": { - "version": "1.0.0-prerelease.20303.2", + "version": "1.0.0-prerelease.20311.3", "commands": [ "xharness" ] diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 380d3503d12118..b474dbb09fe227 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -178,9 +178,9 @@ https://github.com/dotnet/xharness 513c09e1d5f22c00df1524ec6d71b0a35c2cfaeb - + https://github.com/dotnet/xharness - 513c09e1d5f22c00df1524ec6d71b0a35c2cfaeb + de1e82c874dbafccd3545b0cb59fba2e08cb60f1 diff --git a/global.json b/global.json index e3abfbdf204d3b..55be244f894bdd 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.20305.2", + "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20311.8", "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 1c37a266300eac73551452335d23c0efe93a586a Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 15 Jul 2020 11:44:19 -0400 Subject: [PATCH 44/77] Run all the tests --- src/libraries/tests.proj | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 0a90ef8049964a..d6dd69b9138cce 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -67,10 +67,7 @@ - + Condition="'$(BuildAllConfigurations)' != 'true'" /> From d9318951b593062ab9444f7b02a0bf5cc8f80046 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 15 Jul 2020 11:59:09 -0400 Subject: [PATCH 45/77] Create an empty ItemGroup for inevitable excludes --- src/libraries/tests.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index d6dd69b9138cce..bc48b109cb90ee 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -20,6 +20,9 @@ + + + From 5ed3ef0d0b84f5d887a6d71ac9b9a73abd26c8d3 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 15 Jul 2020 17:07:22 -0400 Subject: [PATCH 46/77] Use our build pool for Android --- eng/pipelines/common/xplat-setup.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index f6a5ee11f4ecaf..25bc24996ff938 100644 --- a/eng/pipelines/common/xplat-setup.yml +++ b/eng/pipelines/common/xplat-setup.yml @@ -103,12 +103,12 @@ 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, 'Linux', 'FreeBSD', 'Android'), 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, 'Linux', 'FreeBSD', 'Android'), ne(variables['System.TeamProject'], 'public')) }}: name: NetCoreInternal-Pool queue: BuildPool.Ubuntu.1604.Amd64 From 5e012d468f51cabdecdcb106a700bd951473ba9e Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 16 Jul 2020 11:54:40 -0400 Subject: [PATCH 47/77] Bump timeout to 4 hours for now --- 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 df4e539e53402d..df43e87e4be2ee 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -325,7 +325,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 120 + timeoutInMinutes: 240 condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), From b5d03ee50799858461f78d1f5ba57f7211eb17b8 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 20 Jul 2020 08:54:05 -0400 Subject: [PATCH 48/77] Why is this stuff disabled on official builds? --- eng/pipelines/common/global-build-job.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index 8131d9e06911f3..45810fcd0cf7ae 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -54,7 +54,7 @@ jobs: ${{ if ne(parameters.isOfficialBuild, true) }}: value: '' - - ${{ if and(eq(parameters.osGroup, 'Android'), eq(parameters.isOfficialBuild, false)) }}: + - ${{ if eq(parameters.osGroup, 'Android') }}: - name: ANDROID_OPENSSL_AAR value: /tmp/openssl-android @@ -68,7 +68,7 @@ jobs: - ${{ if eq(parameters.isOfficialBuild, true) }}: - template: /eng/pipelines/common/restore-internal-tools.yml - - ${{ if or(in(parameters.osGroup, 'OSX', 'iOS', 'tvOS'), and(eq(parameters.osGroup, 'Android'), eq(parameters.isOfficialBuild, false))) }}: + - ${{ if or(in(parameters.osGroup, 'OSX', 'iOS', 'tvOS'), eq(parameters.osGroup, 'Android')) }}: - script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }} displayName: Install Build Dependencies From baa3ccd7e52abd9d95a1859aa16b7e01ee2f9a07 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 20 Jul 2020 08:54:58 -0400 Subject: [PATCH 49/77] Remove noise --- eng/pipelines/common/global-build-job.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index 45810fcd0cf7ae..58f7df626e9231 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -58,7 +58,6 @@ jobs: - name: ANDROID_OPENSSL_AAR value: /tmp/openssl-android - - ${{ parameters.variables }} - ${{ each variable in parameters.variables }}: - ${{ variable }} From ab182ca366fd7193a8da5fbdf3dd79ff8cd43c13 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 20 Jul 2020 09:01:33 -0400 Subject: [PATCH 50/77] This property should only be set if ArchiveTests == true --- eng/testing/tests.mobile.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 907155ede08e8d..cdd972edc31ae3 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -83,7 +83,7 @@ - + From 6d9ccd8159204a6d1f2afa56cc9b5db651724fb3 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 20 Jul 2020 09:11:59 -0400 Subject: [PATCH 51/77] probably not needed --- 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 7ddd13a893ab0c..91c7e9b39e89a3 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -91,7 +91,7 @@ $(HelixCommand) /p:LocalPackagesPath="%HELIX_CORRELATION_PAYLOAD%\packages\" - + From ff09c41cbda82f30d4f32589cb9688cc2ec0e4f1 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 20 Jul 2020 11:38:12 -0400 Subject: [PATCH 52/77] Arcade broke API - https://github.com/dotnet/arcade/commit/c2266fadd03f3c0d76c8a4cfec827c5b5bc70285 --- 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 caedf197636a66..4a0f6134dc7baa 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -163,14 +163,14 @@ <_apks Include="$(TestArchiveTestsRoot)**/*.apk" /> - + armeabi-v7a arm64-v8a x86_64 x86 net.dot.%(Filename) net.dot.MonoRunner - + From 6d323d6680c3d7d15fe167578682063e7b229cd8 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 20 Jul 2020 16:02:00 -0400 Subject: [PATCH 53/77] Add Android test exclusion list --- src/libraries/tests.proj | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index f2bc2dbd2f3bed..d9a543bc56eedd 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -21,6 +21,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From df0c2250ba30205e31b29b1e3236e2e5ec06b5ad Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Tue, 21 Jul 2020 12:22:10 -0400 Subject: [PATCH 54/77] Also numerics --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index d9a543bc56eedd..22c7c0d45bfe91 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -46,6 +46,7 @@ + From c5ae6eb9e961f53b89ea3c2301e763335377879b Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Tue, 21 Jul 2020 16:34:47 -0400 Subject: [PATCH 55/77] start cleanup --- eng/pipelines/libraries/helix-queues-setup.yml | 4 ---- eng/pipelines/runtime.yml | 3 ++- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index 53e6f760bb428f..6dcf09937078fa 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -89,10 +89,6 @@ jobs: - ${{ 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 - # Windows_NT x64 - ${{ if eq(parameters.platform, 'Windows_NT_x64') }}: # netcoreapp diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 5e52d7f3705166..6b62550ffa7a6e 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -286,6 +286,7 @@ jobs: - Android_arm - tvOS_arm64 - iOS_arm + - iOS_x64 - Linux_musl_x64 jobParameters: testGroup: innerloop @@ -320,7 +321,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 240 + timeoutInMinutes: 120 condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), From 57f4939c14c2e2017a0c68e2cade50b89f069ca9 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Tue, 21 Jul 2020 16:38:02 -0400 Subject: [PATCH 56/77] remove big hacky change --- eng/pipelines/common/platform-matrix.yml | 1224 +++++++--------------- 1 file changed, 396 insertions(+), 828 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index af5d02339bce78..b4f80202400629 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -27,330 +27,171 @@ 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 @@ -377,562 +218,289 @@ jobs: # 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 }} - -# 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 containsValue(parameters.platforms, 'Android_x86') }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} +- ${{ if containsValue(parameters.platforms, 'iOS_x64') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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 }} -# variables: ${{ parameters.variables }} -# 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 }} + variables: ${{ parameters.variables }} + 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'), in(parameters.platformGroup, 'all', 'gcstress')) }}: -# - template: xplat-setup.yml -# parameters: -# jobTemplate: ${{ parameters.jobTemplate }} -# helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} -# variables: ${{ parameters.variables }} -# 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'), in(parameters.platformGroup, 'all', 'gcstress')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + variables: ${{ parameters.variables }} + 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 }} From 46ee9cf80fe375fada36045dc8ced0b14388c8cb Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Tue, 21 Jul 2020 16:38:55 -0400 Subject: [PATCH 57/77] ios change --- eng/testing/AppleRunnerTemplate.sh | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/eng/testing/AppleRunnerTemplate.sh b/eng/testing/AppleRunnerTemplate.sh index 5bc594d9daae64..c146f7e0364b13 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 From 3e953f17d61cdd2a245c3f4d7c87f703708d786f Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 22 Jul 2020 08:20:13 -0400 Subject: [PATCH 58/77] I keep being told more VMs will boot, and yet... --- 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 6b62550ffa7a6e..1fe1071b410b65 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -321,7 +321,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 120 + timeoutInMinutes: 240 condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), From d3e9be67067d1111161a306f57256a019d295f91 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 22 Jul 2020 12:09:48 -0400 Subject: [PATCH 59/77] Exclude 2 more test suites --- src/libraries/tests.proj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index fa24bdf0e99b49..57f95bb564c591 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -49,9 +49,11 @@ + + From dd726e3a6ebde740c4e2b5dcd0c0349e2107b124 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 22 Jul 2020 15:43:44 -0400 Subject: [PATCH 60/77] Remove iOS noise --- eng/testing/tests.mobile.targets | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index bc9f71a99580c2..29ba0c3f4319fc 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -126,16 +126,7 @@ - - - <_appFiles Include="$(AppBundlePath)/../**/*" /> - - - - + Date: Wed, 22 Jul 2020 15:45:21 -0400 Subject: [PATCH 61/77] Fix up conditional --- 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 4a0f6134dc7baa..c21c179bb82f2b 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -173,7 +173,7 @@ - + <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> From 9e2ff06c37cb59425eacc4fbd0eeb0eca31fe3f6 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Wed, 22 Jul 2020 16:06:48 -0400 Subject: [PATCH 62/77] Clean up Android runner --- eng/testing/AndroidRunnerTemplate.sh | 21 ++++++++++++++------- eng/testing/tests.mobile.targets | 4 ++++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/eng/testing/AndroidRunnerTemplate.sh b/eng/testing/AndroidRunnerTemplate.sh index e703db4be2416f..3b0576c561da76 100644 --- a/eng/testing/AndroidRunnerTemplate.sh +++ b/eng/testing/AndroidRunnerTemplate.sh @@ -1,8 +1,8 @@ -#!/usr/bin/env bash +#!/usr/bin/env bash EXECUTION_DIR=$(dirname $0) -TEST_NAME=$1 -TARGET_ARCH=$2 + +cd $EXECUTION_DIR APK=$EXECUTION_DIR/bin/$TEST_NAME.apk @@ -20,12 +20,19 @@ done XHARNESS_OUT="$EXECUTION_DIR/xharness-output" -dotnet xharness android test --instrumentation="net.dot.MonoRunner" \ - --package-name="net.dot.$TEST_NAME" \ - --app=$APK --output-directory=$XHARNESS_OUT -v +if [ ! -z "$XHARNESS_CLI_PATH" ]; then + # When running in CI, we only have the .NET runtime available + # We need to call the XHarness CLI DLL directly via dotnet exec + HARNESS_RUNNER="dotnet exec $XHARNESS_CLI_PATH" +else + HARNESS_RUNNER="dotnet xharness" +fi + +# RunCommands defined in tests.mobile.targets +[[RunCommands]] _exitCode=$? -echo "Xharness artifacts: $XHARNESS_OUT" +echo "XHarness artifacts: $XHARNESS_OUT" exit $_exitCode diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 29ba0c3f4319fc..15d2ccc31eb5f4 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -22,6 +22,10 @@ + + $HARNESS_RUNNER android test --instrumentation="net.dot.MonoRunner" --package-name="net.dot.$(AssemblyName)" --app=$APK --output-directory=$XHARNESS_OUT -v + + Date: Wed, 22 Jul 2020 17:50:15 -0400 Subject: [PATCH 63/77] Fixups --- eng/testing/AndroidRunnerTemplate.sh | 2 -- eng/testing/tests.mobile.targets | 9 +++------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/eng/testing/AndroidRunnerTemplate.sh b/eng/testing/AndroidRunnerTemplate.sh index 3b0576c561da76..a1e89f0e7ea012 100644 --- a/eng/testing/AndroidRunnerTemplate.sh +++ b/eng/testing/AndroidRunnerTemplate.sh @@ -4,8 +4,6 @@ EXECUTION_DIR=$(dirname $0) cd $EXECUTION_DIR -APK=$EXECUTION_DIR/bin/$TEST_NAME.apk - # it doesn't support parallel execution yet, so, here is a hand-made semaphore: LOCKDIR=/tmp/androidtests.lock while true; do diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 15d2ccc31eb5f4..88bdf4acccd323 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -9,7 +9,9 @@ + + @@ -17,13 +19,8 @@ $HARNESS_RUNNER wasm test --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js -v --output-directory=$XHARNESS_OUT -- --run WasmTestRunner.dll $(AssemblyName).dll - - - - - - $HARNESS_RUNNER android test --instrumentation="net.dot.MonoRunner" --package-name="net.dot.$(AssemblyName)" --app=$APK --output-directory=$XHARNESS_OUT -v + $HARNESS_RUNNER android test --instrumentation="net.dot.MonoRunner" --package-name="net.dot.$(AssemblyName)" --app=$APK --output-directory=$XHARNESS_OUT -v -- From daef616ad85b840a9d807e5b3e99eaf189b54780 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 23 Jul 2020 13:13:11 -0400 Subject: [PATCH 64/77] Try being more like AOSP test runner --- .../AndroidAppBuilder/Templates/MonoRunner.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/tools-local/tasks/mobile.tasks/AndroidAppBuilder/Templates/MonoRunner.java b/tools-local/tasks/mobile.tasks/AndroidAppBuilder/Templates/MonoRunner.java index 3317fdf39779b0..84d494057f1bff 100644 --- a/tools-local/tasks/mobile.tasks/AndroidAppBuilder/Templates/MonoRunner.java +++ b/tools-local/tasks/mobile.tasks/AndroidAppBuilder/Templates/MonoRunner.java @@ -58,15 +58,11 @@ public void onStart() { Log.i("DOTNET", "initRuntime"); int retcode = initRuntime(filesDir, cacheDir, docsDir); - runOnMainSync(new Runnable() { - public void run() { - Bundle result = new Bundle(); - result.putInt("return-code", retcode); - // Xharness cli expects "test-results-path" with test results - result.putString("test-results-path", docsDir + "/testResults.xml"); - finish(retcode, result); - } - }); + Bundle result = new Bundle(); + result.putInt("return-code", retcode); + // Xharness cli expects "test-results-path" with test results + result.putString("test-results-path", docsDir + "/testResults.xml"); + finish(Activity.RESULT_OK, result); } static void unzipAssets(Context context, String toPath, String zipName) { From 2c9f28a38ea15eff40cc5c3af9dc5a815b79270f Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 23 Jul 2020 14:42:39 -0400 Subject: [PATCH 65/77] Temporarily re-enable 100% of tests on android --- 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 b1a29d6e895b06..1f190b5a379c95 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -20,7 +20,7 @@ - + From aa31cf365ce33ca21898ae3141256848eab56f8d Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 23 Jul 2020 14:43:32 -0400 Subject: [PATCH 66/77] Revert "Temporarily re-enable 100% of tests on android" This reverts commit 2c9f28a38ea15eff40cc5c3af9dc5a815b79270f. --- 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 1f190b5a379c95..b1a29d6e895b06 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -20,7 +20,7 @@ - + From 5cf1d281d99b7f740432c63ded211d92f2c74a5a Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Thu, 23 Jul 2020 17:03:14 -0400 Subject: [PATCH 67/77] Categorize Android test failures. This exclusion list should be accurate --- src/libraries/tests.proj | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index b1a29d6e895b06..af9ff4d79153d6 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -21,41 +21,45 @@ - + + + + + + + + + + + + + + + + - - - - - - - - - - - From 97bfcd963413489922658c8ce19d5b2897f53d12 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 24 Jul 2020 07:56:36 -0400 Subject: [PATCH 68/77] Looks like some env vars were rendered obsolete during work --- eng/testing/tests.mobile.targets | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 071b6e4fb93748..beca70b5d243af 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -8,19 +8,13 @@ $(JSEngineArgs) --engine-arg=--stack-trace-limit=1000 - - - - - - $HARNESS_RUNNER wasm test --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js -v --output-directory=$XHARNESS_OUT -- --run WasmTestRunner.dll $(AssemblyName).dll - $HARNESS_RUNNER android test --instrumentation="net.dot.MonoRunner" --package-name="net.dot.$(AssemblyName)" --app=$APK --output-directory=$XHARNESS_OUT -v -- + $HARNESS_RUNNER android test --instrumentation="net.dot.MonoRunner" --package-name="net.dot.$(AssemblyName)" --app=$EXECUTION_DIR/bin/$(TestProjectName).apk --output-directory=$XHARNESS_OUT -v -- From 32fd5d93e855f85f1a7326141b69d32e093e0989 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 24 Jul 2020 07:57:01 -0400 Subject: [PATCH 69/77] Reduce timeout again, I'm sure this won't come back to bite me --- 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 4e96e2db096d4b..36d79899293fbd 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -321,7 +321,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 240 + timeoutInMinutes: 120 condition: >- or( eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), From 3fd014b1ba628aa2b8181e525a8f49c82a389ed6 Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 24 Jul 2020 09:45:10 -0400 Subject: [PATCH 70/77] Add an exclusion. Starting to think OOM killer is behind mystery problems --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 9fae9f79513c24..e9d29729919472 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -35,6 +35,7 @@ + From cde1fe96159e1d88dbc51e3e70c152efdcda3c2b Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Fri, 24 Jul 2020 11:54:25 -0400 Subject: [PATCH 71/77] Another exclude...? --- src/libraries/tests.proj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index e9d29729919472..30114c7b73fd17 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -21,8 +21,9 @@ - + + @@ -31,7 +32,7 @@ - + From 8c3f2367c83c4b091d71d6e556e106a2cb916c5a Mon Sep 17 00:00:00 2001 From: Joseph Shields Date: Mon, 31 Aug 2020 08:11:44 -0400 Subject: [PATCH 72/77] Another exclude --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 0685ea37934882..0616cbdb7946cd 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -41,6 +41,7 @@ + From 1dfbaba929d89558ea47d929c51a0eba9830b554 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Wed, 2 Sep 2020 08:46:26 +0200 Subject: [PATCH 73/77] Fix logging of work item count --- src/libraries/sendtohelixhelp.proj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 4388c143966d52..ae11dcb433352a 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -189,7 +189,9 @@ - + + + From 76da9f766a6bb9d8be7fdce9b41e49aeae571eae Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Thu, 3 Sep 2020 13:19:32 +0200 Subject: [PATCH 74/77] Put a doc explaining an MSBuild bug --- src/libraries/sendtohelixhelp.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index ae11dcb433352a..a10e9bd8ae7c36 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -164,6 +164,7 @@ + <_apks Include="$(TestArchiveTestsRoot)**/*.apk" /> armeabi-v7a From 28b0c0272ec6eafeeb8b6e8989b9a6b9562090f9 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Thu, 10 Sep 2020 15:31:42 +0200 Subject: [PATCH 75/77] Fix missing > --- 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 cfcfb65b1f1784..511f7f68fe0020 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -64,7 +64,7 @@ - From 88a6dc39643cb31d0d0d30e1b561f8fde1352293 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Thu, 10 Sep 2020 16:52:58 +0200 Subject: [PATCH 76/77] Fix missing ' --- 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 90d87bd4c6cde4..3dbbfde43b0ca4 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -203,7 +203,7 @@ - + From b5b0e0bf6f83405b1c5ca827c9fd0ce4887ba58a Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Thu, 15 Oct 2020 10:16:22 +0200 Subject: [PATCH 77/77] Measure disk usage for Android --- eng/pipelines/common/global-build-job.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index 47b7ac82903d7a..dadacd460ba1d4 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -69,7 +69,7 @@ jobs: - ${{ if eq(parameters.isOfficialBuild, true) }}: - template: /eng/pipelines/common/restore-internal-tools.yml - - ${{ if or(in(parameters.osGroup, 'OSX', 'iOS', 'tvOS'), eq(parameters.osGroup, 'Android')) }}: + - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS', 'Android') }}: - script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }} ${{ parameters.archType }} azDO displayName: Install Build Dependencies @@ -82,7 +82,7 @@ jobs: - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -ci -arch ${{ parameters.archType }} $(_osParameter) ${{ parameters.buildArgs }} $(_officialBuildParameter) $(_crossBuildPropertyArg) $(_cxx11Parameter) displayName: Build product - - ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}: + - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS', 'Android') }}: - script: | du -sh $(Build.SourcesDirectory)/* df -h