Continuous Integration (w/ Travis CI) #213
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR provides extensive Travis-CI support for testing GRDB's many supported combinations:
GRDB
GRDB + Custom SQLite
GRDB + SQLCipher
Installation
make test_install_manual
make test_install_GRDBCipher
make test_CocoaPodsLint
make test_install_SPM
General Information and Enhancements:
.travis.yml
file uses the Makefile to run all tests.make test
as a single job).xcpretty
, if it is available, for better logs on Travis-CI (and also to ensure that the 4MB log limit isn't hit due to lots of unnecessary / unimportant build output).xcpretty-travis-formatter
if running on Travis-CI (which enables collapsible sections and more when browsing logs).MAX_IOS_DESTINATION
appropriately. Presets are included for Xcode 8.3.x, 8.2.x, and 8.1.x. Thus, the makefile can now be used with all GRDB-supported versions of Xcode..ruby-version
file has been removed from the repo + added to the.gitignore
..ruby-version
file is present and contains a version of Ruby greater than Travis-CI supports, it will break the Travis-CI builds.).ci/gemfiles/
directory..travis.yml
file specifies aTID=
environment variable for each test. This is simply to provide a description in the Travis-CI interface that identifies the job's details.Other Notes:
groue/sqlcipher
is rebased using the latest SQLCipher (which uses a much newer SQLite) this should speed up.Updating Guidelines for new Xcode versions
MAX_IOS_DESTINATION
condition for$(XCODEVERSION)
8.4 / 9.0 / etc.travis.yml
file (once Travis-CI officially supports the new Xcode version):osx_image: xcode8.3
jobs toosx_image: xcode8.4
(or whatever the future version is), or to add new jobs to additionally test the new Xcode version.osx_image: xcode8.1
jobs.Setting up Travis-CI
groue/GRDB.swift
groue/GRDB.swift
. These are the settings I'd suggest: