You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We 've been using CircleCI for many of our open source projects. Since the end of last year 2017, version 2.0 began to come out, and we think it's good time to try it now together with Swift 4.1 and Xcode 9.3
The problem with version 2.0 is it's so powerful and has lots of cool new features like jobs and workflows, but that requires going to documentation for how to migrate configuration file, especially Search and Replace Deprecated 2.0 Keys
Creating config.yml
The first thing is to create a new config.yml inside folder .circleci
Copy your existing circle.yml file into a new directory called .circleci at the root of your project repository.
Next is to declare version and jobs
Add version: 2 to the top of the .circleci/config.yml file.
Checking xcodebuild
For simple cases, we just use xcodebuild to build and test the project, so it's good to try it locally to avoid lots of trial commits to trigger CircleCI. You can take a look at this PR onmyway133/EasyConfetti#20
Before our configuration file for version 1.0 looks like this
- set -o pipefail && xcodebuild -project Cheers.xcodeproj -scheme "Cheers-iOS" -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8,OS=11.0' -enableCodeCoverage YES test
Now is the actual trying xcodebuild, after many failures due to destination param
xcodebuild: error: Unable to find a destination matching the provided destination specifier:
{ platform:iOS Simulator, OS:11.3 }
Missing required device specifier option.
The device type “iOS Simulator” requires that either “name” or “id” be specified.
Please supply either “name” or “id”.
xcodebuild: error: option 'Destination' requires at least one parameter of the form 'key=value'
I found this to work, run this in the same folder as your xcodeproj
Version 2.0 introduces workflow which helps organising jobs
A workflow is a set of rules for defining a collection of jobs and their run order. Workflows support complex job orchestration using a simple set of configuration keys to help you resolve failures sooner.
We 've been using CircleCI for many of our open source projects. Since the end of last year 2017, version 2.0 began to come out, and we think it's good time to try it now together with Swift 4.1 and Xcode 9.3
The problem with version 2.0 is it's so powerful and has lots of cool new features like jobs and workflows, but that requires going to documentation for how to migrate configuration file, especially Search and Replace Deprecated 2.0 Keys
Creating
config.yml
The first thing is to create a new
config.yml
inside folder.circleci
Next is to declare version and jobs
Checking
xcodebuild
For simple cases, we just use
xcodebuild
to build and test the project, so it's good to try it locally to avoid lots of trial commits to trigger CircleCI. You can take a look at this PR onmyway133/EasyConfetti#20Before our configuration file for version 1.0 looks like this
Now we should put
pipefail
insideshell
, follow https://github.com/CircleCI-Public/circleci-demo-ios/blob/master/.circleci/config.ymlNow is the actual trying
xcodebuild
, after many failures due todestination
paramI found this to work, run this in the same folder as your
xcodeproj
Adding workflow
Version 2.0 introduces workflow which helps organising jobs
For our simple use cases, we add this workflow
Collecting Test Metadata
Final
Use below as template
Read more
The text was updated successfully, but these errors were encountered: