- The
build_ipa
rake task will no longer invokegit checkout master
but will instead checkout the last branch you were on before you invoked thrust.
- Adds option to specify a scheme to build (instead of a target) for deployment.
-
Drops support for automated deploys to TestFlight, since testflightapp.com no longer exists. We recommend that you use Thrust in conjunction with another gem that supports automated deploys, e.g. shenzhen or deliver.
-
Adds rake tasks for building an .ipa file for deployment. The rake tasks use the existing TestFlight deployment configurations to build the .ipa's. The keys that are still used are:
target
build_configuration
provisioning_search_query
versioning_method
tag
-
Drops Android support. If you want to use Thrust to deploy Android apps to TestFlight, use version 0.5.2.
-
Drops
ios
prefix from keys inthrust.yml
:ios_spec_targets
=>spec_targets
ios_distribution_certificate
=>distribution_certificate
deployment_targets
>ios_target
=>target
deployment_targets
>ios_provisioning_search_query
=>provisioning_search_query
deployment_targets
>ios_build_configuration
=>build_configuration
-
Adds
spec_directories
configuration key tothrust.yml
. This allows you to specify from whererake nof
removes focused specs. -
Updates
spec_targets
to require thescheme
name instead of thetarget
name. Thetarget
key is no longer used. -
Adds support for specifying the MacOSX sdk version in a spec target configuration. E.g.
build_sdk
can now be set tomacosx10.9
ormacosx10.10
. Runxcodebuild -showsdks
to see the full list of available sdks. -
Adds support for specifying the Cedar random seed for spec targets (note that this is not currently supported for spec bundles):
CEDAR_RANDOM_SEED=5 bundle exec rake spec_suite
- Adds support for reading environment variables set in the scheme.
e.g. If you set a CEDAR_RANDOM_SEED
in the spec target's scheme in Xcode, the spec task will run with that random seed:
See the Cedar wiki for a list of all available Cedar environment variables.
If you are using a spec bundle, you will need to set the environment variable in the scheme for the main app target.
Version 0.5 introduced a lot of changes. Please see the Upgrading section in the README after installing the update.
-
Removes support for waxsim. Specify
ios_sim_path
to use a non-system installed version of ios-sim. -
Unifies configuration of Cedar Spec Suites and Cedar/iOS/OSX test bundles in
thrust.yml
(breaking configuration changes) -
Fixes hardcoded bundle test destination which was broken in Xcode 6+
-
Allows bundles to be built for architectures specified in Xcode project (removes hardcoded ARCHS flag)
-
Adds support for specifying an alternate path to ios-sim
-
Adds additional options for setting build numbers when deploying to TestFlight by setting the
versioning_method
key in thethrust.yml
. The options are:- 'timestamp-sha': Sets the build number to a combo of the current date and the SHA of the current commit. e.g. '1402021234-f57bea'
- 'commits': Sets the build number to the number of commits in the commit history
- 'none': Does not update the build number during deploy
- Default: When you leave the key blank, it defaults to setting the build number to the SHA of the current commit.
-
Adds support for setting the TestFlight api token from the command line:
TESTFLIGHT_API_TOKEN='your-api-token' rake testflight:deploy
-
Adds support for deploying from a specific tag. E.g. if your CI machine tags every successful build with a 'ci' tag, then specify the
tag
key in your deployment configuration to deploy the last successful build. The feature assumes that the tags conform to the style generated by the auto_tagger gem. -
Adds support for specifying
device_name
andos_version
as arguments to the rake task for each spec target. Defaults for these should be set in thethrust.yml
.
- Added support for Xcode 6 and ios-sim 3.x. You should now specify
device_type_id
in yourthrust.yml
instead ofdevice
.
-
Thrust can now build against Xcode workspaces. In your
thrust.yml
file:-
Replace the
project_name
with aworkspace_name
. -
For each build in your
ios_spec_targets
, includescheme
to specify the scheme to use along with the target.
-
-
If you are upgrading from Version 0.2 or for an example, run
thrust install
and look at the generatedthrust.example.yml
.
-
Thrust should now be installed as a gem, not a submodule. Running
thrust install
after installation sets up theRakefile
and creates an examplethrust.yml
. -
The code has been cleaned up and modularized, making it easier to add new features in the future.
-
Thrust now supports deploying Android apps to TestFlight. Thrust auto-detects whether your project is Android or iOS and will generate the appropriate rake tasks.
-
The structure of
thrust.yml
has been updated, and the names of certain keys have changed to make their meaning clearer. -
All deployments are tagged using auto_tagger. Run
rake autotag:list
to see which commits are deployed to each environment. -
Deploy notes can be auto-generated from commit messages. Set
note_generation_method
toautotag
inthrust.yml
to use this feature. -
Build numbers are no longer auto-incremented during deployment. Instead, the build number is set to the short SHA of the commit that is being deployed. Deployment history is managed by auto_tagger.
-
You no longer have to be in sync with origin to deploy to TestFlight.
-
The 'specs' configuration has been replaced by an array of specs configurations, called 'spec_targets'. This is to allow you to specify multiple targets to be run as specs - for instance, you may wish to run a set of integration tests separately from your unit tests. Running one of these commands will clean the default build configuration list (AdHoc, Debug, Release).
-
Adds 'focused_specs' and 'nof' tasks to show files with focused specs and to remove them, respectively.
-
Adds 'current_version' task to show the current build version of the app.
-
TestFlight deploys now prompt the user for a deployment message
-
Removes adding to default tasks. This is now your responsibility - please define in your own Rakefile if you need to add to the default task. e.g.
task :default => [:specs :something_random]
-
Adds support for non-standard app names defined in your XCode project. These are determined by looking for the first ".app" file it can find in the build folder and basing the name off that file.
-
Adds support for disabling incrementing the build number during a TestFlight deploy. This is via the 'increments_build_number' configuration setting under a distribution in your thrust.yml.