Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 1.43 KB

RELEASING.md

File metadata and controls

41 lines (31 loc) · 1.43 KB

Releasing

Pre-release

  1. Branch develop into release/X.Y.Z if non-release code is still being merged to develop
  2. Update info.plist and MCSCommerceWeb.podspec to include beta version
  3. Iterate this release over this branch
  4. Update the version to a non-beta in info.plist
  5. Update the version and tag number to a non-beta in MCSCommerceWeb.podspec
  6. Update the CHANGELOG.md for the impending release.
  7. Update the README.md with the new version and any new documentation.
  8. git commit -am "Prepare for release X.Y.Z." (where X.Y.Z is the new version)

Release

  1. pod lib lint
  2. Merge release/X.Y.Z -> develop -> master
  3. Checkout master
  4. Delete branch release/X.Y.Z, unless the release needs to be maintained with separate updates
  5. git tag -a X.Y.Z -m "Version X.Y.Z" (where X.Y.Z is the new version)
  6. git push --tags
  7. pod trunk push MCSCommerceWeb.podspec

Post-release

In develop,

  1. Update the info.plist and MCSCommerce.podspec to the next alpha version.
  2. git commit -am "Prepare next development version."
  3. git push

Versioning

Semver is used for versioning. After a new release is tagged with X.Y.Z, the version is updated to X.Y.Z-alpha1 for the next release.

alpha is used when on develop branch; beta is used when working in a release branch.

TODO:

  • Test the running of this in an actual CocoaPods installation
  • Update document for Carthage as well