Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Henry <luhenry@microsoft.com>2018-10-10 20:35:45 +0300
committerGitHub <noreply@github.com>2018-10-10 20:35:45 +0300
commit46b723d6b015e5b9a10b03e7c4b4c8259177589b (patch)
tree7d2995d215379cd0d953b4a39652912e258b48c0 /scripts
parentab3c897d6851ccf75e840d8b767aafa0d0a32d53 (diff)
[2018-06] [sdks] Create archive targets for pre-building on CI (#10936)
* [sdks] Remove redundant --enable-cxx * [sdks] Shorten `-m32`/`-m64` parameters detection for runtimes * [sdks] Build BCL profiles without configure flags * [sdks] Create archive targets for pre-building on CI * [sdks] Add BclTemplate to build BCL profiles This is to avoid building all the profiles in a single `sdks/out/bcl` directory which will be shared between android, ios and wasm. * [sdks] Use archive-{android,ios,wasm} on CI * [sdks] Run archive-llvm-llvm{,win}{32,64} on CI * [sdks] Add download/pack capabilities for LLVM * [sdks] Ensure LLVM is cloned before trying to download * [sdks] Simplify call to BclTemplate * Put xunit tests in mcs/class/lib/PROFILE/tests too So they are next to their NUnit counterparts. Move xunit remote executor app to tests dir too and compile it when compiling the test assembly instead of doing it before running the test. We need to use an absolute path for the xunit remote executor and it needs to be in Windows format on Windows since we pass it as an env var to the xunit tests. * [sdks] Build LLVM with make in parallel * [mcs] Make directory dependency as order-only We would otherwise always rebuild the target since the directory is updated whenever something is added to the directory. This is a common Makefile technique. * [sdks] Build tests for BCL targets * [build] Switch to netstandard based xunit
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/ci/run-jenkins.sh34
1 files changed, 18 insertions, 16 deletions
diff --git a/scripts/ci/run-jenkins.sh b/scripts/ci/run-jenkins.sh
index f4da7c77815..049e87782a5 100755
--- a/scripts/ci/run-jenkins.sh
+++ b/scripts/ci/run-jenkins.sh
@@ -83,17 +83,20 @@ then
wget -qO- https://download.mono-project.com/test/new-certs.tgz| tar zx -C ~/.config/.mono/
fi
+if [[ ${CI_TAGS} == *'sdks-llvm'* ]]; then
+ ${TESTCMD} --label=archive --timeout=120m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds archive-llvm36-llvm32 archive-llvm-llvm{,win}{32,64} NINJA=
+ exit 0
+fi
+
if [[ ${CI_TAGS} == *'product-sdks-ios'* ]];
then
echo "DISABLE_ANDROID=1" > sdks/Make.config
echo "DISABLE_WASM=1" >> sdks/Make.config
+ echo "DISABLE_DESKTOP=1" >> sdks/Make.config
export device_test_suites="Mono.Runtime.Tests System.Core"
- ${TESTCMD} --label=build-sim-runtimes --timeout=60m --fatal make -j4 -C sdks/builds package-ios-{sim64,sim32,simtv,simwatch}
- ${TESTCMD} --label=build-dev-runtimes --timeout=60m --fatal make -j4 -C sdks/builds package-ios-{target64,target32,targettv,targetwatch}
- ${TESTCMD} --label=build-cross-compilers --timeout=60m --fatal make -j4 -C sdks/builds package-ios-{cross64,cross32,crosswatch}
+ ${TESTCMD} --label=archive --timeout=180m --fatal make -j12 -C sdks/builds archive-ios NINJA=
- ${TESTCMD} --label=bcl --timeout=60m --fatal make -j4 -C sdks/builds package-bcl
${TESTCMD} --label=build-tests --timeout=10m --fatal make -C sdks/ios compile-tests
${TESTCMD} --label=run-sim --timeout=20m make -C sdks/ios run-ios-sim-all
${TESTCMD} --label=build-ios-dev --timeout=60m make -C sdks/ios build-ios-dev-all
@@ -112,22 +115,19 @@ if [[ ${CI_TAGS} == *'product-sdks-ios'* ]];
if [[ ${CI_TAGS} == *'run-device-tests'* ]]; then
for suite in ${device_test_suites}; do ${TESTCMD} --label=run-ios-dev-interp-mixed-${suite} --timeout=10m make -C sdks/ios run-ios-dev-${suite}; done
fi
- ${TESTCMD} --label=package --timeout=60m tar cvzf mono-product-sdk-$GIT_COMMIT.tar.gz -C sdks/out/ bcl ios-llvm64 ios-llvm32 ios-cross32-release ios-cross64-release
exit 0
fi
if [[ ${CI_TAGS} == *'product-sdks-android'* ]];
then
- echo "IGNORE_PROVISION_ANDROID=1" > sdks/Make.config
- echo "IGNORE_PROVISION_MXE=1" >> sdks/Make.config
- echo "IGNORE_PROVISION_LLVM=1" >> sdks/Make.config
+ echo "DISABLE_IOS=1" > sdks/Make.config
+ echo "DISABLE_WASM=1" >> sdks/Make.config
+ echo "DISABLE_DESKTOP=1" >> sdks/Make.config
echo "DISABLE_CCACHE=1" >> sdks/Make.config
- ${TESTCMD} --label=provision-android --timeout=120m --fatal make -j4 -C sdks/builds provision-android
- if [[ ${CI_TAGS} == *'provision-mxe'* ]]; then
- ${TESTCMD} --label=provision-mxe --timeout=240m --fatal make -j4 -C sdks/builds provision-mxe
- fi
- ${TESTCMD} --label=llvm --timeout=240m --fatal make -j4 -C sdks/builds provision-llvm-llvm{,win}{32,64}
- ${TESTCMD} --label=runtimes --timeout=120m --fatal make -j4 -C sdks/builds package-android-{armeabi,armeabi-v7a,arm64-v8a,x86,x86_64} package-android-host-{Darwin,mxe-Win64} package-android-cross-{arm,arm64,x86,x86_64}{,-win}
+
+ ${TESTCMD} --label=provision-android --timeout=120m --fatal make -j12 -C sdks/builds provision-android
+ ${TESTCMD} --label=provision-mxe --timeout=240m --fatal make -j12 -C sdks/builds provision-mxe
+ ${TESTCMD} --label=archive --timeout=180m --fatal make -j12 -C sdks/builds archive-android NINJA= IGNORE_PROVISION_ANDROID=1 IGNORE_PROVISION_MXE=1
exit 0
fi
@@ -135,8 +135,10 @@ if [[ ${CI_TAGS} == *'webassembly'* ]];
then
echo "DISABLE_ANDROID=1" > sdks/Make.config
echo "DISABLE_IOS=1" >> sdks/Make.config
- ${TESTCMD} --label=runtimes --timeout=60m --fatal make -j4 -C sdks/builds package-wasm-interp
- ${TESTCMD} --label=bcl --timeout=60m --fatal make -j4 -C sdks/builds package-bcl
+ echo "DISABLE_DESKTOP=1" >> sdks/Make.config
+
+ ${TESTCMD} --label=archive --timeout=180m --fatal make -j4 -C sdks/builds archive-wasm NINJA=
+
${TESTCMD} --label=wasm-build --timeout=60m --fatal make -j4 -C sdks/wasm build
${TESTCMD} --label=ch-mini-test --timeout=60m make -C sdks/wasm run-ch-mini
${TESTCMD} --label=v8-mini-test --timeout=60m make -C sdks/wasm run-v8-mini