-
Notifications
You must be signed in to change notification settings - Fork 564
iOS lib release checklist
Alex Hofsteede edited this page Apr 2, 2014
·
22 revisions
- Evaluate all pull requests (internal or external) and figure out which ones can piggyback on your release. Releases shouldn't be HUGE, but they also have a cost and should bundle new code efficiently.
- Make sure iOS6 SDK is installed (linked under /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/)
- Find it on the internet, or ask Alex Hofsteede or Kyle Warren.
- Make sure your branch is up to date with master.
- Run HelloMixpanelTests in a combination of these scenarios.
- Base SDKs: 6, 7
- Deployment Targets: 6, 7
- Simulators: 3.5inch, 4inch, iPad
- Devices: iPhone4S, iPhone5, iPhone 5S
- Simulator OS: 6, 7
- As well as unit tests, do a basic sanity test on a phone where you look at the output log and make sure events are getting queued/flushed, check backgrounding / killing the app, make sure events and properties don't get lost.
- Once you are satisfied the code is good, merge into master.
- Update the #define VERSION in Mixpanel.m, and change the version number in Mixpanel.podspec
- Create a tag for the new version. Format is "v1.2.3" (using semantic versioning http://semver.org/ ) and push it.
- Run the "pod spec lint" command in the Mixpanel.podspec folder and verify that the file is validated -- otherwise it will not be accepted by Cocoapods. The lint tool will grab the code from the tag you specify in the Mixpanel.podspec, so you can only run this once you have pushed the new tag.
- Go to github releases page and create a new release, with the best, most user-friendly explanation you can muster.
- Release it.
- Fork https://github.com/CocoaPods/Specs and add a new folder under
Mixpanel
for the new version. Copy the new Mixpanel.podspec in there, and submit a pull request. - Talk to Marshall about what you just released. He will send out an email to the dev mailing list.
- Update this page with any information you found missing.