blob: 35a79079d675fb0c82c4d512a72203782844ff9d [file] [log] [blame]
DRC211c69f2016-10-02 09:13:23 -05001language: c
2
DRCd3a1f892018-03-23 16:11:06 -05003branches:
4 except:
5 - /^[0-9]+\.[0-9]+\.[0-9]+/
6 - /^jpeg-.*/
7
DRC211c69f2016-10-02 09:13:23 -05008matrix:
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
DRCc8e52742019-05-09 09:11:09 -050017 osx_image: xcode8.3
DRC211c69f2016-10-02 09:13:23 -050018 - os: linux
19 compiler: clang
20 env:
DRC6abd3912016-11-15 08:47:43 -060021 CMAKE_BUILD_TYPE=RelWithDebInfo
DRC02f7bcd2019-08-13 16:03:48 -050022 CFLAGS_RELWITHDEBINFO="-O1 -g -fsanitize=address,undefined -fno-omit-frame-pointer"
DRC6abd3912016-11-15 08:47:43 -060023 CMAKE_FLAGS="-DENABLE_SHARED=0"
DRC211c69f2016-10-02 09:13:23 -050024 ASAN_OPTIONS="detect_leaks=1 symbolize=1"
DRC02f7bcd2019-08-13 16:03:48 -050025 CTEST_OUTPUT_ON_FAILURE=1
DRC211c69f2016-10-02 09:13:23 -050026 addons:
27 apt:
28 packages:
29 - nasm
30 - os: linux
31 compiler: gcc
DRC02f7bcd2019-08-13 16:03:48 -050032 env:
33 CMAKE_FLAGS="-DWITH_12BIT=1"
34 CTEST_OUTPUT_ON_FAILURE=1
DRC211c69f2016-10-02 09:13:23 -050035 - os: linux
36 compiler: gcc
DRC02f7bcd2019-08-13 16:03:48 -050037 env:
38 CMAKE_FLAGS="-DWITH_JPEG7=1"
39 CTEST_OUTPUT_ON_FAILURE=1
DRC22527952017-01-19 17:50:59 -060040 addons:
41 apt:
42 packages:
43 - nasm
44 - os: linux
45 compiler: gcc
DRC02f7bcd2019-08-13 16:03:48 -050046 env:
47 CMAKE_FLAGS="-DWITH_JPEG8=1"
48 CTEST_OUTPUT_ON_FAILURE=1
DRC211c69f2016-10-02 09:13:23 -050049 addons:
50 apt:
51 packages:
52 - nasm
53 - os: linux
DRC02f7bcd2019-08-13 16:03:48 -050054 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
DRC211c69f2016-10-02 09:13:23 -050060
Stephen9bc8eb62019-01-01 19:36:03 -080061addons:
62 homebrew:
63 brewfile: true
DRCb98ee192019-07-18 14:14:47 -050064 update: true
Stephen9bc8eb62019-01-01 19:36:03 -080065
DRC5ced1f52019-07-18 14:25:25 -050066cache:
67 directories:
68 - $HOME/Library/Caches/Homebrew
69
70before_cache:
71 - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew cleanup; fi
72
DRC211c69f2016-10-02 09:13:23 -050073before_install:
DRC97205262016-11-23 18:44:33 -060074 - if [ "$TRAVIS_OS_NAME" = "osx" ]; then
DRC97205262016-11-23 18:44:33 -060075 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
DRC211c69f2016-10-02 09:13:23 -050078 - if [ "${BUILD_OFFICIAL:-}" != "" ]; then
79 if [ "$TRAVIS_OS_NAME" = "linux" ]; then
80 docker pull dcommander/buildljt;
81 fi &&
DRC6abd3912016-11-15 08:47:43 -060082 git clone --depth=1 https://github.com/libjpeg-turbo/buildscripts.git -b $TRAVIS_BRANCH ~/src/buildscripts &&
DRCd64e8e22018-03-23 13:57:59 -050083 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 &&
DRCc8e52742019-05-09 09:11:09 -050088 gpg --batch --import ci/sign_ljt &&
DRCd64e8e22018-03-23 13:57:59 -050089 rm ci/sign_ljt;
90 fi
DRC211c69f2016-10-02 09:13:23 -050091 fi
DRC211c69f2016-10-02 09:13:23 -050092
93script:
94 - if [ "${BUILD_OFFICIAL:-}" != "" ]; then
95 mkdir -p ~/src/ljt.nightly &&
96 if [ "$TRAVIS_OS_NAME" = "linux" ]; then
DRC07e304c2018-10-26 09:29:09 -050097 mkdir $HOME/rpmkeys &&
DRCaa829dc2018-11-20 22:52:36 -060098 wget --no-check-certificate "http://www.libjpeg-turbo.org/key/LJTPR-GPG-KEY" -O $HOME/rpmkeys/LJTPR-GPG-KEY &&
DRC07e304c2018-10-26 09:29:09 -050099 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" &&
DRC2d4b2f12016-10-20 17:55:55 -0500100 sudo chown -R travis:travis ~/src/ljt.nightly &&
101 mv ~/src/ljt.nightly/latest/log-$TRAVIS_OS_NAME.txt ~/src/ljt.nightly/latest/files/;
DRC211c69f2016-10-02 09:13:23 -0500102 else
DRCd64e8e22018-03-23 13:57:59 -0500103 PATH=$PATH:~/src/gas-preprocessor ~/src/buildscripts/buildljt -d $TRAVIS_BUILD_DIR -v &&
DRC2d4b2f12016-10-20 17:55:55 -0500104 mv ~/src/ljt.nightly/latest/log-$TRAVIS_OS_NAME.txt ~/src/ljt.nightly/latest/files/;
DRC27f817c2016-10-07 05:07:11 -0500105 fi
DRC211c69f2016-10-02 09:13:23 -0500106 fi
107 - if [ "${BUILD_OFFICIAL:-}" == "" ]; then
DRC211c69f2016-10-02 09:13:23 -0500108 mkdir build &&
109 pushd build &&
DRC6abd3912016-11-15 08:47:43 -0600110 cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE "-DCMAKE_C_FLAGS_RELWITHDEBINFO=$CFLAGS_RELWITHDEBINFO" $CMAKE_FLAGS .. &&
DRCdb0dec32017-09-11 09:48:33 -0500111 export NUMCPUS=`grep -c '^processor' /proc/cpuinfo` &&
112 make -j$NUMCPUS --load-average=$NUMCPUS &&
DRC6abd3912016-11-15 08:47:43 -0600113 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;
DRC211c69f2016-10-02 09:13:23 -0500119 fi &&
120 popd;
121 fi
122
123after_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
DRC211c69f2016-10-02 09:13:23 -0500130deploy:
DRC2d4b2f12016-10-20 17:55:55 -0500131 - 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
DRC1ee329d2016-10-07 12:54:55 -0500140 on:
Matthieu Darbois9a12cf72018-03-30 00:33:00 +0200141 repo: libjpeg-turbo/libjpeg-turbo
DRC1ee329d2016-10-07 12:54:55 -0500142 branch: master
DRC2d4b2f12016-10-20 17:55:55 -0500143 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
DRC1ee329d2016-10-07 12:54:55 -0500153 on:
Matthieu Darbois9a12cf72018-03-30 00:33:00 +0200154 repo: libjpeg-turbo/libjpeg-turbo
DRC1ee329d2016-10-07 12:54:55 -0500155 branch: dev
DRC2d4b2f12016-10-20 17:55:55 -0500156 condition: -n "$BUILD_OFFICIAL"