pipeline { agent any stages { stage('Preamble') { parallel { stage('AArch64 SVE') { agent { label 'aarch64' } steps { sh ''' echo "AArch64 SVE on" `hostname` export PATH=$PATH:/opt/arm/arm-instruction-emulator-1.2.1_Generic-AArch64_Ubuntu-14.04_aarch64-linux/bin export LD_LIBRARY_PATH=/opt/arm/arm-instruction-emulator-1.2.1_Generic-AArch64_Ubuntu-14.04_aarch64-linux/lib:/opt/arm/arm-hpc-compiler-18.1_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib export CC=/opt/arm/arm-hpc-compiler-18.1_Generic-AArch64_Ubuntu-16.04_aarch64-linux/bin/armclang rm -rf build mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=../install -DSLEEF_SHOW_CONFIG=1 .. make -j 4 all export OMP_WAIT_POLICY=passive export CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j 4 make install ''' } } stage('Intel Compiler') { agent { label 'icc' } steps { sh ''' echo "Intel Compiler on" `hostname` export PATH=$PATH:/export/opt/sde-external-8.16.0-2018-01-30-lin:/export/opt/compilers_and_libraries_2018/linux/bin/intel64 export LD_LIBRARY_PATH=/export/opt/compilers_and_libraries_2018.1.163/linux/compiler/lib/intel64_lin/ export CC=icc rm -rf build mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=../install -DSLEEF_SHOW_CONFIG=1 .. make -j 4 all export OMP_WAIT_POLICY=passive export CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j 4 make install ''' } } stage('FMA4') { agent { label 'fma4' } steps { sh ''' echo "FMA4 on" `hostname` export PATH=$PATH:/opt/local/bin:/opt/bin:/opt/sde-external-8.16.0-2018-01-30-lin export LD_LIBRARY_PATH=/opt/local/lib:/opt/lib rm -rf build mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=../install -DSLEEF_SHOW_CONFIG=1 .. make -j 4 all export OMP_WAIT_POLICY=passive export CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j 4 make install ''' } } stage('GCC-4.8') { agent { label 'x86' } steps { sh ''' echo "gcc-4 on" `hostname` export PATH=$PATH:/opt/sde-external-8.16.0-2018-01-30-lin export CC=gcc-4.8 rm -rf build mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=../install -DSLEEF_SHOW_CONFIG=1 .. make -j 4 all export OMP_WAIT_POLICY=passive export CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j 4 make install ''' } } stage('Static libs on mac') { agent { label 'mac' } steps { sh ''' echo "On" `hostname` export PATH=$PATH:/opt/local/bin:/opt/local/bin:/usr/local/bin:/usr/bin:/bin rm -rf build mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=../install -DSLEEF_SHOW_CONFIG=1 -DBUILD_SHARED_LIBS=FALSE .. make -j 2 all export OMP_WAIT_POLICY=passive export CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j 2 make install ''' } } stage('Windows') { agent { label 'win' } steps { bat ''' set "PROJECT_DIR=%cd%" set "ORG_PATH=%PATH%" PATH C:/Cygwin64/bin;C:/Cygwin64/usr/bin;%PROJECT_DIR%/build-cygwin/bin;%PATH% rmdir /S /Q build-cygwin C:/Cygwin64/bin/bash -c 'mkdir build-cygwin;cd build-cygwin;cmake -g"Unix Makefiles" ..;make -j 4' del /Q /F %PROJECT_DIR%/build-cygwin/bin/iut* PATH %ORG_PATH%;C:/Cygwin64/bin;C:/Cygwin64/usr/bin;%PROJECT_DIR%/build-cygwin/bin;%PROJECT_DIR%/build/bin cd %PROJECT_DIR% rmdir /S /Q build mkdir build cd build cmake -G"Visual Studio 15 2017 Win64" .. -DCMAKE_INSTALL_PREFIX=install -DSLEEF_SHOW_CONFIG=1 -DBUILD_SHARED_LIBS=FALSE cmake --build . --target install --config Release ctest --output-on-failure -j 4 -C Release ''' } } stage('PowerPC VSX') { agent { label 'x86 && xenial' } steps { sh ''' echo "PowerPC VSX on" `hostname` rm -rf build-native mkdir build-native cd build-native cmake -DSLEEF_SHOW_CONFIG=1 .. make -j 4 all cd .. export PATH=$PATH:`pwd`/travis export QEMU_CPU=POWER8 chmod +x travis/ppc64el-cc rm -rf build mkdir build cd build cmake -DCMAKE_TOOLCHAIN_FILE=../travis/toolchain-ppc64el.cmake -DNATIVE_BUILD_DIR=`pwd`/../build-native -DEMULATOR=qemu-ppc64le-static -DCMAKE_INSTALL_PREFIX=../install -DSLEEF_SHOW_CONFIG=1 .. make -j 4 all export OMP_WAIT_POLICY=passive export CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j 4 make install ''' } } } } } }