]> granicus.if.org Git - libjpeg-turbo/commitdiff
Travis: Use xcode8.3 image
authorDRC <information@libjpeg-turbo.org>
Thu, 9 May 2019 14:11:09 +0000 (09:11 -0500)
committerDRC <information@libjpeg-turbo.org>
Thu, 9 May 2019 23:09:42 +0000 (18:09 -0500)
xcode7.3 is based on El Capitan, which is EOL, and Homebrew no longer
provides El Cap bottles (pre-compiled binaries.)  Thus, Homebrew was
trying to build GCC 5, YASM, and the other packages we need from source,
which caused the Mac CI builds to time out.  I tried goading Homebrew
into installing GCC 5.5.0_2 and YASM 1.3.0_1, which still have El Cap
bottles available, by using the URLs of those specific versions of the
formulae (from the Homebrew GitHub repository) as package names.  This
failed, however, because 'brew bundle' converted the URLs to all
lowercase.  I then tried explicitly installing the old formulae by using
'brew install' with the aforementioned URLs (bypassing the Travis
Homebrew addon), but Homebrew still tried to build all of the
dependencies from source.

Upgrading to Xcode 8.3.x necessitated regression testing the performance
on iOS, but that proved less of a pain than figuring out how to install
all of the old Homebrew bottles we needed.  Also, this future-proofs the
CI builds against the inevitable discontinuation of the xcode7.3 image.

Note that Xcode 8.3.x improves iOS 64-bit decompression performance
significantly relative to Xcode 7.2.x or 7.3.x.  iOS 32-bit performance
unfortunately regresses by as much as 5%, but it can't be helped (32-bit
iOS apps are no longer supported on iOS 11+ anyhow, and the next major
release of libjpeg-turbo will remove support for them as well.)

.travis.yml

index 25389549f7530ee81d879229588599485a389baf..94e758925321f723d7ef8e34c5becf689136346b 100644 (file)
@@ -14,7 +14,7 @@ matrix:
         - docker
     - os: osx
       env: BUILD_OFFICIAL=1
-      osx_image: xcode7.3
+      osx_image: xcode8.3
     - os: linux
       dist: trusty
       compiler: clang
@@ -55,11 +55,9 @@ matrix:
 addons:
   homebrew:
     brewfile: true
-    update: true
 
 before_install:
   - if [ "$TRAVIS_OS_NAME" = "osx" ]; then
-      ln -fs /usr/local/bin/gpg1 /usr/local/bin/gpg &&
       git clone --depth=1 https://github.com/libjpeg-turbo/gas-preprocessor.git ~/src/gas-preprocessor &&
       ln -fs /Applications/Xcode.app /Applications/Xcode72.app;
     fi
@@ -73,7 +71,7 @@ before_install:
         tar xf ci/keys &&
         rm ci/keys &&
         mv ci/gpgsign ~/src/buildscripts &&
-        gpg --import ci/sign_ljt &&
+        gpg --batch --import ci/sign_ljt &&
         rm ci/sign_ljt;
       fi
     fi