How to make an official card.io-iOS-SDK release:
- To make any changes to
acknowledgments.md
,LICENSE.md
,README.md
,CardIO.podspec
, orrelease_notes.txt
, you'll find the original files in your card.io-iOS-SDK project'sRelease
folder. - Update
release_notes.txt
with any public-facing changes. - Update
CardIO.podspec
to reflect the new version number. (Also double-check iOS version forspec.platform
andspec.ios.deployment-target
.) - Run
fab build:outdir=~
(or specify some other output directory). - In the resulting directory, take a pass through all public-facing files (header files, release notes, etc.) to make sure they're up to date, clear, and perfect. Except for the card.io version number, which we'll fix in just a bit.
- If needed, get someone else to read all public-facing files. Making them pretty and flawless is very important. :)
- Test the generated library in a new project (e.g. the Sample App), as a sanity check.
- Run
pod lib lint
to confirm that CardIO.podspec isn't broken. If it is, fix as necessary. - Tag the card.io-iOS-SDK commit used for the release. The convention for the tag is of the form "iOS_x.y.z".
[Note to GUI-using people: make an annotated tag, via command line
git tag -a iOS_x.y.z -m 'iOS_x.y.z'
.] - Run the
fab build:outdir=~
command again, and confirm that now the correct version number appears in the header files. - Merge and push to card.io-iOS-source
master
- Now we'll update the card.io-iOS-SDK repo:
- From the folder created by the second
fab build
you did, just a couple of steps ago, copy all files and folders to your local clone of the git.luolix.topcard.io-iOS-SDK
repo. - Commit to your local clone of the github
card.io-iOS-SDK
repo with a commit message of the form "Release x.y.z". - Tag the card.io-iOS-SDK commit used for the release. The convention for the tag is of the form "x.y.z".
[Note to GUI-using people: make an annotated tag, via command line
git tag -a x.y.z -m x.y.z
.] - Push to github.com card.io-iOS-SDK.
- From the folder created by the second
- Next, we'll create the "Release" on github.com:
- Go to
https://github.com/card-io/card.io-iOS-SDK/releases
. - Click the
Draft a new release
button. - For
Tag version
enterx.y.z
, wherex.y.z
is the new SDK version number. (GitHub should then indicate that this is an existing tag.) - Fill in
Release title
andDescribe this release
as you please. (See previous Releases for examples.) - Click
Publish release
. - Back on the "Releases" page, admire your results.
- Go to
- Next, we'll update CocoaPods.
- In Terminal,
cd
to your local card.io-iOS-SDK directory. - Run
pod trunk push CardIO.podspec
.
- In Terminal,
- Post appropriate notifications on (1) Twitter and (2) https://groups.google.com/forum/#!forum/card-io-sdk-announce
- Update the library in our Cordova/Phonegap Plugin repo under
src/ios/CardIO
. - And don't forget to update PayPal-iOS-SDK!