diff options
author | Ludovic Henry <luhenry@microsoft.com> | 2018-10-02 00:43:46 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-02 00:43:46 +0300 |
commit | 0aebe90cac85a171735629a779f44ca04bc90377 (patch) | |
tree | 14cb84a7d88a4d58762624fce3122a64d800fdc5 /scripts/ci | |
parent | 9182bcccc3ded3ea3b00e10771ea81b0ed3fcc8f (diff) |
[sdks] Create archive targets for pre-building on CI (#10882)
* [sdks] Remove redundant --enable-cxx
* [sdks] Shorten `-m32`/`-m64` parameters detection for runtimes
* [sdks] Build BCL profiles without configure flags
* [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] Create archive targets for pre-building on CI
* [sdks] Use archive-{android,ios,wasm} on CI
* [sdks] Run archive-llvm-llvm{,win}{32,64} on CI
Diffstat (limited to 'scripts/ci')
-rwxr-xr-x | scripts/ci/run-jenkins.sh | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/scripts/ci/run-jenkins.sh b/scripts/ci/run-jenkins.sh index e2e71f06f4b..cb54c39f136 100755 --- a/scripts/ci/run-jenkins.sh +++ b/scripts/ci/run-jenkins.sh @@ -94,22 +94,23 @@ 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 if [[ ${CI_TAGS} == *'cxx'* ]]; then echo "ENABLE_CXX=1" >> sdks/Make.config fi export device_test_suites="Mono.Runtime.Tests System.Core" - ${TESTCMD} --label=provision-llvm --timeout=60m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds provision-llvm36-llvm32 provision-llvm-llvm64 + ${TESTCMD} --label=archive --timeout=180m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds archive-ios NINJA= - ${TESTCMD} --label=build-sim-runtimes --timeout=60m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds package-ios-{sim64,sim32,simtv,simwatch} - ${TESTCMD} --label=build-dev-runtimes --timeout=60m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds package-ios-{target64,target32,targettv,targetwatch} - ${TESTCMD} --label=build-cross-compilers --timeout=60m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds package-ios-{cross64,cross32,cross32-64,crosswatch} - - ${TESTCMD} --label=bcl --timeout=60m --fatal make -j ${CI_CPU_COUNT} -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 @@ -128,28 +129,25 @@ 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 llvm-llvm64 llvm36-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 if [[ ${CI_TAGS} == *'cxx'* ]]; then echo "ENABLE_CXX=1" >> sdks/Make.config fi + # For some very strange reasons, `make -C sdks/android accept-android-license` get stuck when invoked through ${TESTCMD} # but doesn't get stuck when called via the shell, so let's just call it here now. ${TESTCMD} --label=provision-android --timeout=120m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds provision-android && make -C sdks/android accept-android-license - if [[ ${CI_TAGS} == *'provision-mxe'* ]]; then - ${TESTCMD} --label=provision-mxe --timeout=240m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds provision-mxe - fi - ${TESTCMD} --label=provision-llvm --timeout=240m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds provision-llvm-llvm{,win}{32,64} - ${TESTCMD} --label=runtimes --timeout=120m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds package-android-{armeabi-v7a,arm64-v8a,x86,x86_64} package-android-host-{Darwin,mxe-Win64} package-android-cross-{arm,arm64,x86,x86_64}{,-win} - ${TESTCMD} --label=package --timeout=60m --fatal make -C sdks/android package + ${TESTCMD} --label=provision-mxe --timeout=240m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds provision-mxe + ${TESTCMD} --label=archive --timeout=180m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds archive-android NINJA= IGNORE_PROVISION_ANDROID=1 IGNORE_PROVISION_MXE=1 + ${TESTCMD} --label=mini --timeout=60m make -C sdks/android check-mini ${TESTCMD} --label=corlib --timeout=60m make -C sdks/android check-corlib ${TESTCMD} --label=System --timeout=60m make -C sdks/android check-System @@ -181,8 +179,9 @@ if [[ ${CI_TAGS} == *'webassembly'* ]]; if [[ ${CI_TAGS} == *'cxx'* ]]; then echo "ENABLE_CXX=1" >> sdks/Make.config fi - ${TESTCMD} --label=runtimes --timeout=60m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds package-wasm-runtime package-wasm-cross - ${TESTCMD} --label=bcl --timeout=60m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds package-bcl + + ${TESTCMD} --label=archive --timeout=180m --fatal make -j ${CI_CPU_COUNT} -C sdks/builds archive-wasm NINJA= + ${TESTCMD} --label=wasm-build --timeout=60m --fatal make -j ${CI_CPU_COUNT} -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 |