-
Notifications
You must be signed in to change notification settings - Fork 565
iOS lib release checklist
-
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 iOS8 SDK is installed (linked under /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/)
-
Make sure your branch is up to date with master.
-
Run HelloMixpanelTests in a combination of these scenarios.
- Base SDKs: 8, 9
- Deployment Targets: 8, 9
- Simulators: iPhone4inch, iPhone6, iPhone 6+, iPad
- Devices: iPhone4S, iPhone5, iPhone6, iPhone 5S
- Simulator OS: 8, 9
-
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
inMixpanel.m
, and change the version number inMixpanel.podspec
. Make sure to commit the changes so a new SHA is created, before creating the tag. -
Use the following commands in the mixpanel-ios directory to update the header documentation, and commit the result in both
mixpanel-iphone
andanalytics
repos#!/bin/bash rm -rf ./Docs/HeaderDoc headerdoc2html -q -o ./Docs ./Mixpanel/Mixpanel.h mv ./Docs/Mixpanel_h ./Docs/HeaderDoc cp -r ./Docs/HeaderDoc/* ../analytics/media/doctyl/uploads/iPhone-spec/
-
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 Mixpanel.podspec
in the mixpanel-iphone 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 theMixpanel.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.
-
Register for
pod trunk
http://guides.cocoapods.org/making/getting-setup-with-trunk.html and usepod trunk push Mixpanel.podspec
to add the new release to CocoaPods. Check https://github.com/CocoaPods/Specs/tree/master/Specs/Mixpanel to make sure you were successful. -
Archive the Carthage frame work by executing
carthage build --no-skip-current
carthage archive Mixpanel
-
Attach
Mixpanel.framework.zip
to the release on GitHub -
Update any GitHub issues that have been waiting for this release.
-
Update this page with any information you found missing.