13b921b29Sopenharmony_cilanguage: c
23b921b29Sopenharmony_ci
33b921b29Sopenharmony_cibranches:
43b921b29Sopenharmony_ci  except:
53b921b29Sopenharmony_ci    - /^[0-9]+\.[0-9]+\.[0-9]+/
63b921b29Sopenharmony_ci    - /^jpeg-.*/
73b921b29Sopenharmony_ci
83b921b29Sopenharmony_cimatrix:
93b921b29Sopenharmony_ci  include:
103b921b29Sopenharmony_ci    - os: linux
113b921b29Sopenharmony_ci      env: BUILD_OFFICIAL=1
123b921b29Sopenharmony_ci      sudo: required
133b921b29Sopenharmony_ci      services:
143b921b29Sopenharmony_ci        - docker
153b921b29Sopenharmony_ci    - os: osx
163b921b29Sopenharmony_ci      env: BUILD_OFFICIAL=1
173b921b29Sopenharmony_ci      osx_image: xcode8.3
183b921b29Sopenharmony_ci    - os: linux
193b921b29Sopenharmony_ci      compiler: clang
203b921b29Sopenharmony_ci      env:
213b921b29Sopenharmony_ci        CMAKE_BUILD_TYPE=RelWithDebInfo
223b921b29Sopenharmony_ci        CFLAGS_RELWITHDEBINFO="-O1 -g -fsanitize=address,undefined -fno-omit-frame-pointer"
233b921b29Sopenharmony_ci        CMAKE_FLAGS="-DENABLE_SHARED=0"
243b921b29Sopenharmony_ci        ASAN_OPTIONS="detect_leaks=1 symbolize=1"
253b921b29Sopenharmony_ci        CTEST_OUTPUT_ON_FAILURE=1
263b921b29Sopenharmony_ci      addons:
273b921b29Sopenharmony_ci        apt:
283b921b29Sopenharmony_ci          packages:
293b921b29Sopenharmony_ci            - nasm
303b921b29Sopenharmony_ci    - os: linux
313b921b29Sopenharmony_ci      compiler: gcc
323b921b29Sopenharmony_ci      env:
333b921b29Sopenharmony_ci        CMAKE_FLAGS="-DWITH_12BIT=1"
343b921b29Sopenharmony_ci        CTEST_OUTPUT_ON_FAILURE=1
353b921b29Sopenharmony_ci    - os: linux
363b921b29Sopenharmony_ci      compiler: gcc
373b921b29Sopenharmony_ci      env:
383b921b29Sopenharmony_ci        CMAKE_FLAGS="-DWITH_JPEG7=1"
393b921b29Sopenharmony_ci        CTEST_OUTPUT_ON_FAILURE=1
403b921b29Sopenharmony_ci      addons:
413b921b29Sopenharmony_ci        apt:
423b921b29Sopenharmony_ci          packages:
433b921b29Sopenharmony_ci            - nasm
443b921b29Sopenharmony_ci    - os: linux
453b921b29Sopenharmony_ci      compiler: gcc
463b921b29Sopenharmony_ci      env:
473b921b29Sopenharmony_ci        CMAKE_FLAGS="-DWITH_JPEG8=1"
483b921b29Sopenharmony_ci        CTEST_OUTPUT_ON_FAILURE=1
493b921b29Sopenharmony_ci      addons:
503b921b29Sopenharmony_ci        apt:
513b921b29Sopenharmony_ci          packages:
523b921b29Sopenharmony_ci            - nasm
533b921b29Sopenharmony_ci    - os: linux
543b921b29Sopenharmony_ci      compiler: clang
553b921b29Sopenharmony_ci      env:
563b921b29Sopenharmony_ci        CMAKE_BUILD_TYPE=RelWithDebInfo
573b921b29Sopenharmony_ci        CFLAGS_RELWITHDEBINFO="-O3 -g -fsanitize=memory -fPIE"
583b921b29Sopenharmony_ci        CMAKE_FLAGS="-DWITH_SIMD=0"
593b921b29Sopenharmony_ci        CTEST_OUTPUT_ON_FAILURE=1
603b921b29Sopenharmony_ci
613b921b29Sopenharmony_cibefore_install:
623b921b29Sopenharmony_ci  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then
633b921b29Sopenharmony_ci      pushd $HOME/Downloads &&
643b921b29Sopenharmony_ci      curl -LO https://updates.cdn-apple.com/2019/cert/041-88384-20191011-3d8da658-dca4-4a5b-b67c-26e686876403/JavaForOSX.dmg &&
653b921b29Sopenharmony_ci      hdid JavaForOSX.dmg &&
663b921b29Sopenharmony_ci      sudo installer -pkg /Volumes/Java\ for\ macOS\ 2017-001/JavaForOSX.pkg -target / &&
673b921b29Sopenharmony_ci      hdiutil detach /Volumes/Java\ for\ macOS\ 2017-001 &&
683b921b29Sopenharmony_ci      curl -LO https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci &&
693b921b29Sopenharmony_ci      . ./macports-ci install &&
703b921b29Sopenharmony_ci      sudo /opt/local/bin/port -N install gcc5 yasm md5sha1sum &&
713b921b29Sopenharmony_ci      popd &&
723b921b29Sopenharmony_ci      git clone --depth=1 https://github.com/libjpeg-turbo/gas-preprocessor.git ~/src/gas-preprocessor &&
733b921b29Sopenharmony_ci      ln -fs /Applications/Xcode.app /Applications/Xcode72.app;
743b921b29Sopenharmony_ci    fi
753b921b29Sopenharmony_ci  - if [ "${BUILD_OFFICIAL:-}" != "" ]; then
763b921b29Sopenharmony_ci      if [ "$TRAVIS_OS_NAME" = "linux" ]; then
773b921b29Sopenharmony_ci        docker pull dcommander/buildljt;
783b921b29Sopenharmony_ci      fi &&
793b921b29Sopenharmony_ci      git clone --depth=1 https://github.com/libjpeg-turbo/buildscripts.git -b $TRAVIS_BRANCH ~/src/buildscripts &&
803b921b29Sopenharmony_ci      if [ -n "$encrypted_f92e8533f6f1_iv" ]; then
813b921b29Sopenharmony_ci        openssl aes-256-cbc -K $encrypted_f92e8533f6f1_key -iv $encrypted_f92e8533f6f1_iv -in ci/keys.enc -out ci/keys -d &&
823b921b29Sopenharmony_ci        tar xf ci/keys &&
833b921b29Sopenharmony_ci        rm ci/keys &&
843b921b29Sopenharmony_ci        mv ci/gpgsign ~/src/buildscripts &&
853b921b29Sopenharmony_ci        gpg --batch --import ci/sign_ljt &&
863b921b29Sopenharmony_ci        rm ci/sign_ljt;
873b921b29Sopenharmony_ci      fi
883b921b29Sopenharmony_ci    fi
893b921b29Sopenharmony_ci
903b921b29Sopenharmony_ciscript:
913b921b29Sopenharmony_ci  - if [ "${BUILD_OFFICIAL:-}" != "" ]; then
923b921b29Sopenharmony_ci      mkdir -p ~/src/ljt.nightly &&
933b921b29Sopenharmony_ci      if [ "$TRAVIS_OS_NAME" = "linux" ]; then
943b921b29Sopenharmony_ci        mkdir $HOME/rpmkeys &&
953b921b29Sopenharmony_ci        wget --no-check-certificate "http://www.libjpeg-turbo.org/key/LJTPR-GPG-KEY" -O $HOME/rpmkeys/LJTPR-GPG-KEY &&
963b921b29Sopenharmony_ci        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" &&
973b921b29Sopenharmony_ci        sudo chown -R travis:travis ~/src/ljt.nightly &&
983b921b29Sopenharmony_ci        mv ~/src/ljt.nightly/latest/log-$TRAVIS_OS_NAME.txt ~/src/ljt.nightly/latest/files/;
993b921b29Sopenharmony_ci      else
1003b921b29Sopenharmony_ci        PATH=$PATH:~/src/gas-preprocessor ~/src/buildscripts/buildljt -d $TRAVIS_BUILD_DIR -v &&
1013b921b29Sopenharmony_ci        mv ~/src/ljt.nightly/latest/log-$TRAVIS_OS_NAME.txt ~/src/ljt.nightly/latest/files/;
1023b921b29Sopenharmony_ci      fi
1033b921b29Sopenharmony_ci    fi
1043b921b29Sopenharmony_ci  - if [ "${BUILD_OFFICIAL:-}" == "" ]; then
1053b921b29Sopenharmony_ci      mkdir build &&
1063b921b29Sopenharmony_ci      pushd build &&
1073b921b29Sopenharmony_ci      cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE "-DCMAKE_C_FLAGS_RELWITHDEBINFO=$CFLAGS_RELWITHDEBINFO" $CMAKE_FLAGS .. &&
1083b921b29Sopenharmony_ci      export NUMCPUS=`grep -c '^processor' /proc/cpuinfo` &&
1093b921b29Sopenharmony_ci      make -j$NUMCPUS --load-average=$NUMCPUS &&
1103b921b29Sopenharmony_ci      make test &&
1113b921b29Sopenharmony_ci      if [[ ! "${CMAKE_FLAGS[0]}" =~ "WITH_12BIT" &&
1123b921b29Sopenharmony_ci            ! "${CMAKE_FLAGS[0]}" =~ "WITH_SIMD" ]]; then
1133b921b29Sopenharmony_ci        JSIMD_FORCESSE2=1 make test &&
1143b921b29Sopenharmony_ci        cmake -DFLOATTEST=32bit .. &&
1153b921b29Sopenharmony_ci        JSIMD_FORCENONE=1 make test;
1163b921b29Sopenharmony_ci      fi &&
1173b921b29Sopenharmony_ci      popd;
1183b921b29Sopenharmony_ci    fi
1193b921b29Sopenharmony_ci
1203b921b29Sopenharmony_ciafter_failure:
1213b921b29Sopenharmony_ci  - if [ "${BUILD_OFFICIAL:-}" == "" ]; then
1223b921b29Sopenharmony_ci      if [ -f $TRAVIS_BUILD_DIR/build/config.log ]; then
1233b921b29Sopenharmony_ci        cat $TRAVIS_BUILD_DIR/build/config.log;
1243b921b29Sopenharmony_ci      fi
1253b921b29Sopenharmony_ci    fi
1263b921b29Sopenharmony_ci
1273b921b29Sopenharmony_cideploy:
1283b921b29Sopenharmony_ci  - provider: s3
1293b921b29Sopenharmony_ci    bucket: libjpeg-turbo-pr
1303b921b29Sopenharmony_ci    access_key_id:
1313b921b29Sopenharmony_ci      secure: bmFEt4H90/oR/LiN9XI+G26Pd6hiyrTw3+Vg3lS4ynwAYk33weApaVM8CyzQTgIhGSPzFStqVm9fTrb3RmrYP/PnNS+/surOeWLkH2DMRxvc0qmetBuNx1+vAN7FUkY8MO/u5uE9WXHAdp4e64pXcLXEbKmh+wgDm72b35WmMxErtHsGbpqy+j47rQkY4BJGi7XQzjjafaamfm4PzitsjkYYsgX8KLI16jyJEIirvyDHCPTn9wKR/jSjelDl+xTlgZGuCqmLCBW8f6JgycIspWjcYfO4WpWvkbnnI2sl3rCMPvOYc4wHe8SwzG0l4tM1PblZZDRcU7vjE15PmNf1Xfq9Vx3RpgBJv+UBNL/Vn0rKdpUCeEcfC12hxrske8DWpV6waBiDivjQJreE+YRXqa5YBhV/EdkoKYCqafnJvRASlOko9evje8F9KXTNsIGTT1HPmU9QM9WoJwLs/Xa3t09EmA2IjhcuAvvUmwCTuBBQVAlDjExiTT3Zhc9IYZDD92JgpAYLgridtzR87ElOxKhTkR4PowdI6UiLYArPjMFTjoz5Rivb9qNpbLaQC8HCYgLWxpWtUTzlW/9rM8izHpF8ySFHjO6E2aA9OJFc0tcbEGwAs2jLGD01OduU+DbBfsIkW0EgfXCPbD3FVgHsn3tkuzgO/bg20SM7uuCEYKQ=
1323b921b29Sopenharmony_ci    secret_access_key:
1333b921b29Sopenharmony_ci      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=
1343b921b29Sopenharmony_ci    acl: public_read
1353b921b29Sopenharmony_ci    local-dir: $HOME/src/ljt.nightly/latest/files
1363b921b29Sopenharmony_ci    upload-dir: $TRAVIS_BRANCH/$TRAVIS_OS_NAME
1373b921b29Sopenharmony_ci    on:
1383b921b29Sopenharmony_ci      repo: libjpeg-turbo/libjpeg-turbo
1393b921b29Sopenharmony_ci      branch: master
1403b921b29Sopenharmony_ci      condition: -n "$BUILD_OFFICIAL"
1413b921b29Sopenharmony_ci  - provider: s3
1423b921b29Sopenharmony_ci    bucket: libjpeg-turbo-pr
1433b921b29Sopenharmony_ci    access_key_id:
1443b921b29Sopenharmony_ci      secure: bmFEt4H90/oR/LiN9XI+G26Pd6hiyrTw3+Vg3lS4ynwAYk33weApaVM8CyzQTgIhGSPzFStqVm9fTrb3RmrYP/PnNS+/surOeWLkH2DMRxvc0qmetBuNx1+vAN7FUkY8MO/u5uE9WXHAdp4e64pXcLXEbKmh+wgDm72b35WmMxErtHsGbpqy+j47rQkY4BJGi7XQzjjafaamfm4PzitsjkYYsgX8KLI16jyJEIirvyDHCPTn9wKR/jSjelDl+xTlgZGuCqmLCBW8f6JgycIspWjcYfO4WpWvkbnnI2sl3rCMPvOYc4wHe8SwzG0l4tM1PblZZDRcU7vjE15PmNf1Xfq9Vx3RpgBJv+UBNL/Vn0rKdpUCeEcfC12hxrske8DWpV6waBiDivjQJreE+YRXqa5YBhV/EdkoKYCqafnJvRASlOko9evje8F9KXTNsIGTT1HPmU9QM9WoJwLs/Xa3t09EmA2IjhcuAvvUmwCTuBBQVAlDjExiTT3Zhc9IYZDD92JgpAYLgridtzR87ElOxKhTkR4PowdI6UiLYArPjMFTjoz5Rivb9qNpbLaQC8HCYgLWxpWtUTzlW/9rM8izHpF8ySFHjO6E2aA9OJFc0tcbEGwAs2jLGD01OduU+DbBfsIkW0EgfXCPbD3FVgHsn3tkuzgO/bg20SM7uuCEYKQ=
1453b921b29Sopenharmony_ci    secret_access_key:
1463b921b29Sopenharmony_ci      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=
1473b921b29Sopenharmony_ci    acl: public_read
1483b921b29Sopenharmony_ci    local-dir: $HOME/src/ljt.nightly/latest/files
1493b921b29Sopenharmony_ci    upload-dir: $TRAVIS_BRANCH/$TRAVIS_OS_NAME
1503b921b29Sopenharmony_ci    on:
1513b921b29Sopenharmony_ci      repo: libjpeg-turbo/libjpeg-turbo
1523b921b29Sopenharmony_ci      branch: dev
1533b921b29Sopenharmony_ci      condition: -n "$BUILD_OFFICIAL"
154