diff options
author | Alexander Köplinger <alex.koeplinger@outlook.com> | 2019-07-25 18:13:23 +0300 |
---|---|---|
committer | Alexander Köplinger <alex.koeplinger@outlook.com> | 2019-07-26 00:47:24 +0300 |
commit | 77ac509c0b6f11091881d8c9221a49d957eb1cb3 (patch) | |
tree | 64c3850dbea017ceb5566b7e15d2aa271c872b2d /scripts | |
parent | 04517d3a3955c5a4a899d88c4af7987b2b277101 (diff) |
[sdks] Add special build job for building with Xcode 11
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/ci/pipeline/sdks-archive.groovy | 20 | ||||
-rwxr-xr-x | scripts/ci/run-jenkins.sh | 36 |
2 files changed, 40 insertions, 16 deletions
diff --git a/scripts/ci/pipeline/sdks-archive.groovy b/scripts/ci/pipeline/sdks-archive.groovy index c0397964362..2d2a7592931 100644 --- a/scripts/ci/pipeline/sdks-archive.groovy +++ b/scripts/ci/pipeline/sdks-archive.groovy @@ -1,6 +1,8 @@ isPr = (env.ghprbPullId && !env.ghprbPullId.empty ? true : false) monoBranch = (isPr ? "pr" : env.BRANCH_NAME) -jobName = (isPr ? "archive-mono-pullrequest" : "archive-mono") +jobName = env.JOB_NAME.split('/').first() +xcode11 = (jobName == "archive-mono-xcode11" ? true : false) +azureContainerName = (xcode11 ? "mono-sdks-xcode11" : "mono-sdks") if (monoBranch == 'master') { properties([ /* compressBuildLog() */ // compression is incompatible with JEP-210 right now @@ -16,6 +18,7 @@ if (monoBranch == 'master') { parallel ( "Android Darwin (Debug)": { + if (xcode11) return throttle(['provisions-android-toolchain']) { node ("osx-devices") { archive ("android", "debug", "Darwin") @@ -23,6 +26,7 @@ parallel ( } }, "Android Darwin (Release)": { + if (xcode11) return throttle(['provisions-android-toolchain']) { node ("osx-devices") { archive ("android", "release", "Darwin") @@ -30,6 +34,7 @@ parallel ( } }, "Android Windows (Release)": { + if (xcode11) return throttle(['provisions-android-toolchain']) { node ("w64") { archive ("android", "release", "Windows") @@ -37,6 +42,7 @@ parallel ( } }, "Android Linux (Debug)": { + if (xcode11) return throttle(['provisions-android-toolchain']) { node ("debian-10-amd64-exclusive") { archive ("android", "debug", "Linux", "debian-10-amd64multiarchi386-preview", "g++-mingw-w64 gcc-mingw-w64 lib32stdc++6 lib32z1 libz-mingw-w64-dev linux-libc-dev:i386 zlib1g-dev zlib1g-dev:i386 zulu-8 rsync", "/mnt/scratch") @@ -44,6 +50,7 @@ parallel ( } }, "Android Linux (Release)": { + if (xcode11) return throttle(['provisions-android-toolchain']) { node ("debian-10-amd64-exclusive") { archive ("android", "release", "Linux", "debian-10-amd64multiarchi386-preview", "g++-mingw-w64 gcc-mingw-w64 lib32stdc++6 lib32z1 libz-mingw-w64-dev linux-libc-dev:i386 zlib1g-dev zlib1g-dev:i386 zulu-8 rsync", "/mnt/scratch") @@ -52,19 +59,20 @@ parallel ( }, "iOS": { throttle(['provisions-ios-toolchain']) { - node ("osx-devices") { + node (xcode11 ? "xcode11" : "osx-devices") { archive ("ios", "release", "Darwin") } } }, "Mac": { throttle(['provisions-mac-toolchain']) { - node ("osx-devices") { + node (xcode11 ? "xcode11" : "osx-devices") { archive ("mac", "release", "Darwin") } } }, "WASM Linux": { + if (xcode11) return throttle(['provisions-wasm-toolchain']) { node ("ubuntu-1804-amd64") { archive ("wasm", "release", "Linux", "ubuntu-1804-amd64-preview", "npm dotnet-sdk-2.1 nuget openjdk-8-jre python3-pip") @@ -112,7 +120,7 @@ def archive (product, configuration, platform, chrootname = "", chrootadditional def brewpackages = "autoconf automake ccache cmake coreutils gdk-pixbuf gettext glib gnu-sed gnu-tar intltool ios-deploy jpeg libffi libidn2 libpng libtiff libtool libunistring ninja openssl p7zip pcre pkg-config scons wget xz mingw-w64 make xamarin/xamarin-android-windeps/mingw-zlib" sh "brew tap xamarin/xamarin-android-windeps" sh "brew install ${brewpackages} || brew upgrade ${brewpackages}" - sh "CI_TAGS=sdks-${product},no-tests,${configuration} scripts/ci/run-jenkins.sh" + sh "CI_TAGS=sdks-${product},no-tests,${configuration}${xcode11 ? ',xcode11' : ''} scripts/ci/run-jenkins.sh" } else if (platform == "Linux") { chroot chrootName: chrootname, command: "CI_TAGS=sdks-${product},no-tests,${configuration} ANDROID_TOOLCHAIN_DIR=/mnt/scratch/android-toolchain ANDROID_TOOLCHAIN_CACHE_DIR=/mnt/scratch/android-archives scripts/ci/run-jenkins.sh", @@ -134,7 +142,7 @@ def archive (product, configuration, platform, chrootname = "", chrootadditional stage('Upload Archive to Azure') { azureUpload(storageCredentialId: "fbd29020e8166fbede5518e038544343", storageType: "blobstorage", - containerName: "mono-sdks", + containerName: azureContainerName, virtualPath: "", filesPath: "${packageFileName},${packageFileName}.sha1", allowAnonymousAccess: true, @@ -145,7 +153,7 @@ def archive (product, configuration, platform, chrootname = "", chrootadditional sh 'git clean -xdff' - utils.reportGitHubStatus (isPr ? env.ghprbActualCommit : commitHash, "Archive-${product}-${configuration}-${platform}", "https://xamjenkinsartifact.azureedge.net/mono-sdks/${packageFileName}", 'SUCCESS', packageFileName) + utils.reportGitHubStatus (isPr ? env.ghprbActualCommit : commitHash, "Archive-${product}-${configuration}-${platform}", "https://xamjenkinsartifact.azureedge.net/${azureContainerName}/${packageFileName}", 'SUCCESS', packageFileName) } catch (Exception e) { utils.reportGitHubStatus (isPr ? env.ghprbActualCommit : commitHash, "Archive-${product}-${configuration}-${platform}", env.BUILD_URL, 'FAILURE', "Build failed.") diff --git a/scripts/ci/run-jenkins.sh b/scripts/ci/run-jenkins.sh index a8658158f0c..d89228b2a72 100755 --- a/scripts/ci/run-jenkins.sh +++ b/scripts/ci/run-jenkins.sh @@ -134,13 +134,23 @@ fi if [[ ${CI_TAGS} == *'sdks-ios'* ]]; then # configuration on our bots: https://github.com/mono/mono/pull/11691#issuecomment-439178459 - export XCODE_DIR=/Applications/Xcode101.app/Contents/Developer - export XCODE32_DIR=/Applications/Xcode94.app/Contents/Developer - export MACOS_VERSION=10.14 - export IOS_VERSION=12.1 - export TVOS_VERSION=12.1 - export WATCHOS_VERSION=5.1 - export WATCHOS64_32_VERSION=5.1 + if [[ ${CI_TAGS} == *'xcode11'* ]]; then + export XCODE_DIR=/Applications/Xcode11.app/Contents/Developer + export XCODE32_DIR=/Applications/Xcode94.app/Contents/Developer + export MACOS_VERSION=10.15 + export IOS_VERSION=13.0 + export TVOS_VERSION=13.0 + export WATCHOS_VERSION=6.0 + export WATCHOS64_32_VERSION=6.0 + else + export XCODE_DIR=/Applications/Xcode101.app/Contents/Developer + export XCODE32_DIR=/Applications/Xcode94.app/Contents/Developer + export MACOS_VERSION=10.14 + export IOS_VERSION=12.1 + export TVOS_VERSION=12.1 + export WATCHOS_VERSION=5.1 + export WATCHOS64_32_VERSION=5.1 + fi # make sure we embed the correct path into the PDBs export MONOTOUCH_MCS_FLAGS=-pathmap:${MONO_REPO_ROOT}/=/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/ @@ -186,9 +196,15 @@ fi if [[ ${CI_TAGS} == *'sdks-mac'* ]]; then # configuration on our bots: https://github.com/mono/mono/pull/11691#issuecomment-439178459 - export XCODE_DIR=/Applications/Xcode101.app/Contents/Developer - export XCODE32_DIR=/Applications/Xcode94.app/Contents/Developer - export MACOS_VERSION=10.14 + if [[ ${CI_TAGS} == *'xcode11'* ]]; then + export XCODE_DIR=/Applications/Xcode11.app/Contents/Developer + export XCODE32_DIR=/Applications/Xcode94.app/Contents/Developer + export MACOS_VERSION=10.15 + else + export XCODE_DIR=/Applications/Xcode101.app/Contents/Developer + export XCODE32_DIR=/Applications/Xcode94.app/Contents/Developer + export MACOS_VERSION=10.14 + fi # make sure we embed the correct path into the PDBs export XAMMAC_MCS_FLAGS=-pathmap:${MONO_REPO_ROOT}/=/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/src/Xamarin.Mac/ |