DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 1 | language: c |
| 2 | |
DRC | d3a1f89 | 2018-03-23 16:11:06 -0500 | [diff] [blame] | 3 | branches: |
| 4 | except: |
| 5 | - /^[0-9]+\.[0-9]+\.[0-9]+/ |
| 6 | - /^jpeg-.*/ |
| 7 | |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 8 | matrix: |
| 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 |
DRC | c8e5274 | 2019-05-09 09:11:09 -0500 | [diff] [blame] | 17 | osx_image: xcode8.3 |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 18 | - os: linux |
| 19 | compiler: clang |
| 20 | env: |
DRC | 6abd391 | 2016-11-15 08:47:43 -0600 | [diff] [blame] | 21 | CMAKE_BUILD_TYPE=RelWithDebInfo |
DRC | 02f7bcd | 2019-08-13 16:03:48 -0500 | [diff] [blame] | 22 | CFLAGS_RELWITHDEBINFO="-O1 -g -fsanitize=address,undefined -fno-omit-frame-pointer" |
DRC | 6abd391 | 2016-11-15 08:47:43 -0600 | [diff] [blame] | 23 | CMAKE_FLAGS="-DENABLE_SHARED=0" |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 24 | ASAN_OPTIONS="detect_leaks=1 symbolize=1" |
DRC | 02f7bcd | 2019-08-13 16:03:48 -0500 | [diff] [blame] | 25 | CTEST_OUTPUT_ON_FAILURE=1 |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 26 | addons: |
| 27 | apt: |
| 28 | packages: |
| 29 | - nasm |
| 30 | - os: linux |
| 31 | compiler: gcc |
DRC | 02f7bcd | 2019-08-13 16:03:48 -0500 | [diff] [blame] | 32 | env: |
| 33 | CMAKE_FLAGS="-DWITH_12BIT=1" |
| 34 | CTEST_OUTPUT_ON_FAILURE=1 |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 35 | - os: linux |
| 36 | compiler: gcc |
DRC | 02f7bcd | 2019-08-13 16:03:48 -0500 | [diff] [blame] | 37 | env: |
| 38 | CMAKE_FLAGS="-DWITH_JPEG7=1" |
| 39 | CTEST_OUTPUT_ON_FAILURE=1 |
DRC | 2252795 | 2017-01-19 17:50:59 -0600 | [diff] [blame] | 40 | addons: |
| 41 | apt: |
| 42 | packages: |
| 43 | - nasm |
| 44 | - os: linux |
| 45 | compiler: gcc |
DRC | 02f7bcd | 2019-08-13 16:03:48 -0500 | [diff] [blame] | 46 | env: |
| 47 | CMAKE_FLAGS="-DWITH_JPEG8=1" |
| 48 | CTEST_OUTPUT_ON_FAILURE=1 |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 49 | addons: |
| 50 | apt: |
| 51 | packages: |
| 52 | - nasm |
| 53 | - os: linux |
DRC | 02f7bcd | 2019-08-13 16:03:48 -0500 | [diff] [blame] | 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 |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 60 | |
Stephen | 9bc8eb6 | 2019-01-01 19:36:03 -0800 | [diff] [blame] | 61 | addons: |
| 62 | homebrew: |
| 63 | brewfile: true |
DRC | b98ee19 | 2019-07-18 14:14:47 -0500 | [diff] [blame] | 64 | update: true |
Stephen | 9bc8eb6 | 2019-01-01 19:36:03 -0800 | [diff] [blame] | 65 | |
DRC | 5ced1f5 | 2019-07-18 14:25:25 -0500 | [diff] [blame] | 66 | cache: |
| 67 | directories: |
| 68 | - $HOME/Library/Caches/Homebrew |
| 69 | |
| 70 | before_cache: |
| 71 | - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew cleanup; fi |
| 72 | |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 73 | before_install: |
DRC | 9720526 | 2016-11-23 18:44:33 -0600 | [diff] [blame] | 74 | - if [ "$TRAVIS_OS_NAME" = "osx" ]; then |
DRC | 9720526 | 2016-11-23 18:44:33 -0600 | [diff] [blame] | 75 | git clone --depth=1 https://github.com/libjpeg-turbo/gas-preprocessor.git ~/src/gas-preprocessor && |
| 76 | ln -fs /Applications/Xcode.app /Applications/Xcode72.app; |
| 77 | fi |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 78 | - if [ "${BUILD_OFFICIAL:-}" != "" ]; then |
| 79 | if [ "$TRAVIS_OS_NAME" = "linux" ]; then |
| 80 | docker pull dcommander/buildljt; |
| 81 | fi && |
DRC | 6abd391 | 2016-11-15 08:47:43 -0600 | [diff] [blame] | 82 | git clone --depth=1 https://github.com/libjpeg-turbo/buildscripts.git -b $TRAVIS_BRANCH ~/src/buildscripts && |
DRC | d64e8e2 | 2018-03-23 13:57:59 -0500 | [diff] [blame] | 83 | if [ -n "$encrypted_f92e8533f6f1_iv" ]; then |
| 84 | openssl aes-256-cbc -K $encrypted_f92e8533f6f1_key -iv $encrypted_f92e8533f6f1_iv -in ci/keys.enc -out ci/keys -d && |
| 85 | tar xf ci/keys && |
| 86 | rm ci/keys && |
| 87 | mv ci/gpgsign ~/src/buildscripts && |
DRC | c8e5274 | 2019-05-09 09:11:09 -0500 | [diff] [blame] | 88 | gpg --batch --import ci/sign_ljt && |
DRC | d64e8e2 | 2018-03-23 13:57:59 -0500 | [diff] [blame] | 89 | rm ci/sign_ljt; |
| 90 | fi |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 91 | fi |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 92 | |
| 93 | script: |
| 94 | - if [ "${BUILD_OFFICIAL:-}" != "" ]; then |
| 95 | mkdir -p ~/src/ljt.nightly && |
| 96 | if [ "$TRAVIS_OS_NAME" = "linux" ]; then |
DRC | 07e304c | 2018-10-26 09:29:09 -0500 | [diff] [blame] | 97 | mkdir $HOME/rpmkeys && |
DRC | aa829dc | 2018-11-20 22:52:36 -0600 | [diff] [blame] | 98 | wget --no-check-certificate "http://www.libjpeg-turbo.org/key/LJTPR-GPG-KEY" -O $HOME/rpmkeys/LJTPR-GPG-KEY && |
DRC | 07e304c | 2018-10-26 09:29:09 -0500 | [diff] [blame] | 99 | 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" && |
DRC | 2d4b2f1 | 2016-10-20 17:55:55 -0500 | [diff] [blame] | 100 | sudo chown -R travis:travis ~/src/ljt.nightly && |
| 101 | mv ~/src/ljt.nightly/latest/log-$TRAVIS_OS_NAME.txt ~/src/ljt.nightly/latest/files/; |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 102 | else |
DRC | d64e8e2 | 2018-03-23 13:57:59 -0500 | [diff] [blame] | 103 | PATH=$PATH:~/src/gas-preprocessor ~/src/buildscripts/buildljt -d $TRAVIS_BUILD_DIR -v && |
DRC | 2d4b2f1 | 2016-10-20 17:55:55 -0500 | [diff] [blame] | 104 | mv ~/src/ljt.nightly/latest/log-$TRAVIS_OS_NAME.txt ~/src/ljt.nightly/latest/files/; |
DRC | 27f817c | 2016-10-07 05:07:11 -0500 | [diff] [blame] | 105 | fi |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 106 | fi |
| 107 | - if [ "${BUILD_OFFICIAL:-}" == "" ]; then |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 108 | mkdir build && |
| 109 | pushd build && |
DRC | 6abd391 | 2016-11-15 08:47:43 -0600 | [diff] [blame] | 110 | cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE "-DCMAKE_C_FLAGS_RELWITHDEBINFO=$CFLAGS_RELWITHDEBINFO" $CMAKE_FLAGS .. && |
DRC | db0dec3 | 2017-09-11 09:48:33 -0500 | [diff] [blame] | 111 | export NUMCPUS=`grep -c '^processor' /proc/cpuinfo` && |
| 112 | make -j$NUMCPUS --load-average=$NUMCPUS && |
DRC | 6abd391 | 2016-11-15 08:47:43 -0600 | [diff] [blame] | 113 | make test && |
| 114 | if [[ ! "${CMAKE_FLAGS[0]}" =~ "WITH_12BIT" && |
| 115 | ! "${CMAKE_FLAGS[0]}" =~ "WITH_SIMD" ]]; then |
| 116 | JSIMD_FORCESSE2=1 make test && |
| 117 | cmake -DFLOATTEST=32bit .. && |
| 118 | JSIMD_FORCENONE=1 make test; |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 119 | fi && |
| 120 | popd; |
| 121 | fi |
| 122 | |
| 123 | after_failure: |
| 124 | - if [ "${BUILD_OFFICIAL:-}" == "" ]; then |
| 125 | if [ -f $TRAVIS_BUILD_DIR/build/config.log ]; then |
| 126 | cat $TRAVIS_BUILD_DIR/build/config.log; |
| 127 | fi |
| 128 | fi |
| 129 | |
DRC | 211c69f | 2016-10-02 09:13:23 -0500 | [diff] [blame] | 130 | deploy: |
DRC | 2d4b2f1 | 2016-10-20 17:55:55 -0500 | [diff] [blame] | 131 | - provider: s3 |
| 132 | bucket: libjpeg-turbo-pr |
| 133 | access_key_id: |
| 134 | secure: bmFEt4H90/oR/LiN9XI+G26Pd6hiyrTw3+Vg3lS4ynwAYk33weApaVM8CyzQTgIhGSPzFStqVm9fTrb3RmrYP/PnNS+/surOeWLkH2DMRxvc0qmetBuNx1+vAN7FUkY8MO/u5uE9WXHAdp4e64pXcLXEbKmh+wgDm72b35WmMxErtHsGbpqy+j47rQkY4BJGi7XQzjjafaamfm4PzitsjkYYsgX8KLI16jyJEIirvyDHCPTn9wKR/jSjelDl+xTlgZGuCqmLCBW8f6JgycIspWjcYfO4WpWvkbnnI2sl3rCMPvOYc4wHe8SwzG0l4tM1PblZZDRcU7vjE15PmNf1Xfq9Vx3RpgBJv+UBNL/Vn0rKdpUCeEcfC12hxrske8DWpV6waBiDivjQJreE+YRXqa5YBhV/EdkoKYCqafnJvRASlOko9evje8F9KXTNsIGTT1HPmU9QM9WoJwLs/Xa3t09EmA2IjhcuAvvUmwCTuBBQVAlDjExiTT3Zhc9IYZDD92JgpAYLgridtzR87ElOxKhTkR4PowdI6UiLYArPjMFTjoz5Rivb9qNpbLaQC8HCYgLWxpWtUTzlW/9rM8izHpF8ySFHjO6E2aA9OJFc0tcbEGwAs2jLGD01OduU+DbBfsIkW0EgfXCPbD3FVgHsn3tkuzgO/bg20SM7uuCEYKQ= |
| 135 | secret_access_key: |
| 136 | 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= |
| 137 | acl: public_read |
| 138 | local-dir: $HOME/src/ljt.nightly/latest/files |
| 139 | upload-dir: $TRAVIS_BRANCH/$TRAVIS_OS_NAME |
DRC | 1ee329d | 2016-10-07 12:54:55 -0500 | [diff] [blame] | 140 | on: |
Matthieu Darbois | 9a12cf7 | 2018-03-30 00:33:00 +0200 | [diff] [blame] | 141 | repo: libjpeg-turbo/libjpeg-turbo |
DRC | 1ee329d | 2016-10-07 12:54:55 -0500 | [diff] [blame] | 142 | branch: master |
DRC | 2d4b2f1 | 2016-10-20 17:55:55 -0500 | [diff] [blame] | 143 | condition: -n "$BUILD_OFFICIAL" |
| 144 | - provider: s3 |
| 145 | bucket: libjpeg-turbo-pr |
| 146 | access_key_id: |
| 147 | secure: bmFEt4H90/oR/LiN9XI+G26Pd6hiyrTw3+Vg3lS4ynwAYk33weApaVM8CyzQTgIhGSPzFStqVm9fTrb3RmrYP/PnNS+/surOeWLkH2DMRxvc0qmetBuNx1+vAN7FUkY8MO/u5uE9WXHAdp4e64pXcLXEbKmh+wgDm72b35WmMxErtHsGbpqy+j47rQkY4BJGi7XQzjjafaamfm4PzitsjkYYsgX8KLI16jyJEIirvyDHCPTn9wKR/jSjelDl+xTlgZGuCqmLCBW8f6JgycIspWjcYfO4WpWvkbnnI2sl3rCMPvOYc4wHe8SwzG0l4tM1PblZZDRcU7vjE15PmNf1Xfq9Vx3RpgBJv+UBNL/Vn0rKdpUCeEcfC12hxrske8DWpV6waBiDivjQJreE+YRXqa5YBhV/EdkoKYCqafnJvRASlOko9evje8F9KXTNsIGTT1HPmU9QM9WoJwLs/Xa3t09EmA2IjhcuAvvUmwCTuBBQVAlDjExiTT3Zhc9IYZDD92JgpAYLgridtzR87ElOxKhTkR4PowdI6UiLYArPjMFTjoz5Rivb9qNpbLaQC8HCYgLWxpWtUTzlW/9rM8izHpF8ySFHjO6E2aA9OJFc0tcbEGwAs2jLGD01OduU+DbBfsIkW0EgfXCPbD3FVgHsn3tkuzgO/bg20SM7uuCEYKQ= |
| 148 | secret_access_key: |
| 149 | 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= |
| 150 | acl: public_read |
| 151 | local-dir: $HOME/src/ljt.nightly/latest/files |
| 152 | upload-dir: $TRAVIS_BRANCH/$TRAVIS_OS_NAME |
DRC | 1ee329d | 2016-10-07 12:54:55 -0500 | [diff] [blame] | 153 | on: |
Matthieu Darbois | 9a12cf7 | 2018-03-30 00:33:00 +0200 | [diff] [blame] | 154 | repo: libjpeg-turbo/libjpeg-turbo |
DRC | 1ee329d | 2016-10-07 12:54:55 -0500 | [diff] [blame] | 155 | branch: dev |
DRC | 2d4b2f1 | 2016-10-20 17:55:55 -0500 | [diff] [blame] | 156 | condition: -n "$BUILD_OFFICIAL" |