1language: c 2 3branches: 4 except: 5 - /^[0-9]+\.[0-9]+\.[0-9]+/ 6 - /^jpeg-.*/ 7 8matrix: 9 include: 10 - os: linux 11 env: BUILD_OFFICIAL=1 12 sudo: required 13 services: 14 - docker 15 - os: osx 16 env: BUILD_OFFICIAL=1 17 osx_image: xcode8.3 18 - os: linux 19 compiler: clang 20 env: 21 CMAKE_BUILD_TYPE=RelWithDebInfo 22 CFLAGS_RELWITHDEBINFO="-O1 -g -fsanitize=address,undefined -fno-omit-frame-pointer" 23 CMAKE_FLAGS="-DENABLE_SHARED=0" 24 ASAN_OPTIONS="detect_leaks=1 symbolize=1" 25 CTEST_OUTPUT_ON_FAILURE=1 26 addons: 27 apt: 28 packages: 29 - nasm 30 - os: linux 31 compiler: gcc 32 env: 33 CMAKE_FLAGS="-DWITH_12BIT=1" 34 CTEST_OUTPUT_ON_FAILURE=1 35 - os: linux 36 compiler: gcc 37 env: 38 CMAKE_FLAGS="-DWITH_JPEG7=1" 39 CTEST_OUTPUT_ON_FAILURE=1 40 addons: 41 apt: 42 packages: 43 - nasm 44 - os: linux 45 compiler: gcc 46 env: 47 CMAKE_FLAGS="-DWITH_JPEG8=1" 48 CTEST_OUTPUT_ON_FAILURE=1 49 addons: 50 apt: 51 packages: 52 - nasm 53 - os: linux 54 compiler: clang 55 env: 56 CMAKE_BUILD_TYPE=RelWithDebInfo 57 CFLAGS_RELWITHDEBINFO="-O3 -g -fsanitize=memory -fPIE" 58 CMAKE_FLAGS="-DWITH_SIMD=0" 59 CTEST_OUTPUT_ON_FAILURE=1 60 61before_install: 62 - if [ "$TRAVIS_OS_NAME" = "osx" ]; then 63 pushd $HOME/Downloads && 64 curl -LO https://updates.cdn-apple.com/2019/cert/041-88384-20191011-3d8da658-dca4-4a5b-b67c-26e686876403/JavaForOSX.dmg && 65 hdid JavaForOSX.dmg && 66 sudo installer -pkg /Volumes/Java\ for\ macOS\ 2017-001/JavaForOSX.pkg -target / && 67 hdiutil detach /Volumes/Java\ for\ macOS\ 2017-001 && 68 curl -LO https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci && 69 . ./macports-ci install && 70 sudo /opt/local/bin/port -N install gcc5 yasm md5sha1sum && 71 popd && 72 git clone --depth=1 https://github.com/libjpeg-turbo/gas-preprocessor.git ~/src/gas-preprocessor && 73 ln -fs /Applications/Xcode.app /Applications/Xcode72.app; 74 fi 75 - if [ "${BUILD_OFFICIAL:-}" != "" ]; then 76 if [ "$TRAVIS_OS_NAME" = "linux" ]; then 77 docker pull dcommander/buildljt; 78 fi && 79 git clone --depth=1 https://github.com/libjpeg-turbo/buildscripts.git -b $TRAVIS_BRANCH ~/src/buildscripts && 80 if [ -n "$encrypted_f92e8533f6f1_iv" ]; then 81 openssl aes-256-cbc -K $encrypted_f92e8533f6f1_key -iv $encrypted_f92e8533f6f1_iv -in ci/keys.enc -out ci/keys -d && 82 tar xf ci/keys && 83 rm ci/keys && 84 mv ci/gpgsign ~/src/buildscripts && 85 gpg --batch --import ci/sign_ljt && 86 rm ci/sign_ljt; 87 fi 88 fi 89 90script: 91 - if [ "${BUILD_OFFICIAL:-}" != "" ]; then 92 mkdir -p ~/src/ljt.nightly && 93 if [ "$TRAVIS_OS_NAME" = "linux" ]; then 94 mkdir $HOME/rpmkeys && 95 wget --no-check-certificate "http://www.libjpeg-turbo.org/key/LJTPR-GPG-KEY" -O $HOME/rpmkeys/LJTPR-GPG-KEY && 96 docker run -v $HOME/src/ljt.nightly:/root/src/ljt.nightly -v $HOME/src/buildscripts:/root/src/buildscripts -v $TRAVIS_BUILD_DIR:/root/src/libjpeg-turbo -v $HOME/.gnupg:/root/.gnupg -v $HOME/rpmkeys:/rpmkeys -t dcommander/buildljt:latest bash -c "rpm --import /rpmkeys/LJTPR-GPG-KEY && ~/src/buildscripts/buildljt -d /root/src/libjpeg-turbo -v" && 97 sudo chown -R travis:travis ~/src/ljt.nightly && 98 mv ~/src/ljt.nightly/latest/log-$TRAVIS_OS_NAME.txt ~/src/ljt.nightly/latest/files/; 99 else 100 PATH=$PATH:~/src/gas-preprocessor ~/src/buildscripts/buildljt -d $TRAVIS_BUILD_DIR -v && 101 mv ~/src/ljt.nightly/latest/log-$TRAVIS_OS_NAME.txt ~/src/ljt.nightly/latest/files/; 102 fi 103 fi 104 - if [ "${BUILD_OFFICIAL:-}" == "" ]; then 105 mkdir build && 106 pushd build && 107 cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE "-DCMAKE_C_FLAGS_RELWITHDEBINFO=$CFLAGS_RELWITHDEBINFO" $CMAKE_FLAGS .. && 108 export NUMCPUS=`grep -c '^processor' /proc/cpuinfo` && 109 make -j$NUMCPUS --load-average=$NUMCPUS && 110 make test && 111 if [[ ! "${CMAKE_FLAGS[0]}" =~ "WITH_12BIT" && 112 ! "${CMAKE_FLAGS[0]}" =~ "WITH_SIMD" ]]; then 113 JSIMD_FORCESSE2=1 make test && 114 cmake -DFLOATTEST=32bit .. && 115 JSIMD_FORCENONE=1 make test; 116 fi && 117 popd; 118 fi 119 120after_failure: 121 - if [ "${BUILD_OFFICIAL:-}" == "" ]; then 122 if [ -f $TRAVIS_BUILD_DIR/build/config.log ]; then 123 cat $TRAVIS_BUILD_DIR/build/config.log; 124 fi 125 fi 126 127deploy: 128 - provider: s3 129 bucket: libjpeg-turbo-pr 130 access_key_id: 131 secure: bmFEt4H90/oR/LiN9XI+G26Pd6hiyrTw3+Vg3lS4ynwAYk33weApaVM8CyzQTgIhGSPzFStqVm9fTrb3RmrYP/PnNS+/surOeWLkH2DMRxvc0qmetBuNx1+vAN7FUkY8MO/u5uE9WXHAdp4e64pXcLXEbKmh+wgDm72b35WmMxErtHsGbpqy+j47rQkY4BJGi7XQzjjafaamfm4PzitsjkYYsgX8KLI16jyJEIirvyDHCPTn9wKR/jSjelDl+xTlgZGuCqmLCBW8f6JgycIspWjcYfO4WpWvkbnnI2sl3rCMPvOYc4wHe8SwzG0l4tM1PblZZDRcU7vjE15PmNf1Xfq9Vx3RpgBJv+UBNL/Vn0rKdpUCeEcfC12hxrske8DWpV6waBiDivjQJreE+YRXqa5YBhV/EdkoKYCqafnJvRASlOko9evje8F9KXTNsIGTT1HPmU9QM9WoJwLs/Xa3t09EmA2IjhcuAvvUmwCTuBBQVAlDjExiTT3Zhc9IYZDD92JgpAYLgridtzR87ElOxKhTkR4PowdI6UiLYArPjMFTjoz5Rivb9qNpbLaQC8HCYgLWxpWtUTzlW/9rM8izHpF8ySFHjO6E2aA9OJFc0tcbEGwAs2jLGD01OduU+DbBfsIkW0EgfXCPbD3FVgHsn3tkuzgO/bg20SM7uuCEYKQ= 132 secret_access_key: 133 secure: mrkOpEtqd2dEmi/qNJyX9vkME+6xgVBnXaRETKF7jT+flcQCQ0ayQkRkMV7lzGqq44XFg+n6Cpfn6oW0gH9RNdcC8YQvFP+kgzPx6nw6V/M31Vz6ySapJf59HBzVevf0NJkr0/1JoWsp1iq4IoN10WPzsCXZB55Io3Cf7DgpR+yiyBlWOctDfNdjJ97Juw3ENE80MHDf0fVqdUOIknQka1p68yAGkjar9kc2Oe7o94RzzmoqEn8tuFumiBQjIcuVRALsKqz+eIxBNgkL3BF9shVyRjOWLAeBhMPVFxZs5Dgd4ECbvU0i33gfmje3d6qqcw78N2lZaLefoVvWol3pOzVO133ewOSY9/lmpqEiRUU2ohEe8T4aSoS7posBW42itUTO4Y5w+eVOnHsm4sRQaI+/AXWTe7GPel+P8Qbe8Ya10A5gnpoag7o3raRDcHx+/qaZw1Af/u4XiAOYz3be3U90Qc+YMc/kS5i8BH0GXBbSfaWQ00CwRFlZQ3n1xUqmjC2CmjZTki3W/p7mEt0DjhcH9ZIXscK603sCC+mF6pEd9019k5fG/8fr2Y4Ptai9kd3BxZJCX9/jSoMfWOBbgkA5bRgHU0xrAj+p49qD6Ej9Xr8GE3+uebz3sEuhSFRnCKwKoOHOemfgevfO2y/jQXP677WPf3xQX7bVDfTFSHU= 134 acl: public_read 135 local-dir: $HOME/src/ljt.nightly/latest/files 136 upload-dir: $TRAVIS_BRANCH/$TRAVIS_OS_NAME 137 on: 138 repo: libjpeg-turbo/libjpeg-turbo 139 branch: master 140 condition: -n "$BUILD_OFFICIAL" 141 - provider: s3 142 bucket: libjpeg-turbo-pr 143 access_key_id: 144 secure: bmFEt4H90/oR/LiN9XI+G26Pd6hiyrTw3+Vg3lS4ynwAYk33weApaVM8CyzQTgIhGSPzFStqVm9fTrb3RmrYP/PnNS+/surOeWLkH2DMRxvc0qmetBuNx1+vAN7FUkY8MO/u5uE9WXHAdp4e64pXcLXEbKmh+wgDm72b35WmMxErtHsGbpqy+j47rQkY4BJGi7XQzjjafaamfm4PzitsjkYYsgX8KLI16jyJEIirvyDHCPTn9wKR/jSjelDl+xTlgZGuCqmLCBW8f6JgycIspWjcYfO4WpWvkbnnI2sl3rCMPvOYc4wHe8SwzG0l4tM1PblZZDRcU7vjE15PmNf1Xfq9Vx3RpgBJv+UBNL/Vn0rKdpUCeEcfC12hxrske8DWpV6waBiDivjQJreE+YRXqa5YBhV/EdkoKYCqafnJvRASlOko9evje8F9KXTNsIGTT1HPmU9QM9WoJwLs/Xa3t09EmA2IjhcuAvvUmwCTuBBQVAlDjExiTT3Zhc9IYZDD92JgpAYLgridtzR87ElOxKhTkR4PowdI6UiLYArPjMFTjoz5Rivb9qNpbLaQC8HCYgLWxpWtUTzlW/9rM8izHpF8ySFHjO6E2aA9OJFc0tcbEGwAs2jLGD01OduU+DbBfsIkW0EgfXCPbD3FVgHsn3tkuzgO/bg20SM7uuCEYKQ= 145 secret_access_key: 146 secure: mrkOpEtqd2dEmi/qNJyX9vkME+6xgVBnXaRETKF7jT+flcQCQ0ayQkRkMV7lzGqq44XFg+n6Cpfn6oW0gH9RNdcC8YQvFP+kgzPx6nw6V/M31Vz6ySapJf59HBzVevf0NJkr0/1JoWsp1iq4IoN10WPzsCXZB55Io3Cf7DgpR+yiyBlWOctDfNdjJ97Juw3ENE80MHDf0fVqdUOIknQka1p68yAGkjar9kc2Oe7o94RzzmoqEn8tuFumiBQjIcuVRALsKqz+eIxBNgkL3BF9shVyRjOWLAeBhMPVFxZs5Dgd4ECbvU0i33gfmje3d6qqcw78N2lZaLefoVvWol3pOzVO133ewOSY9/lmpqEiRUU2ohEe8T4aSoS7posBW42itUTO4Y5w+eVOnHsm4sRQaI+/AXWTe7GPel+P8Qbe8Ya10A5gnpoag7o3raRDcHx+/qaZw1Af/u4XiAOYz3be3U90Qc+YMc/kS5i8BH0GXBbSfaWQ00CwRFlZQ3n1xUqmjC2CmjZTki3W/p7mEt0DjhcH9ZIXscK603sCC+mF6pEd9019k5fG/8fr2Y4Ptai9kd3BxZJCX9/jSoMfWOBbgkA5bRgHU0xrAj+p49qD6Ej9Xr8GE3+uebz3sEuhSFRnCKwKoOHOemfgevfO2y/jQXP677WPf3xQX7bVDfTFSHU= 147 acl: public_read 148 local-dir: $HOME/src/ljt.nightly/latest/files 149 upload-dir: $TRAVIS_BRANCH/$TRAVIS_OS_NAME 150 on: 151 repo: libjpeg-turbo/libjpeg-turbo 152 branch: dev 153 condition: -n "$BUILD_OFFICIAL" 154