Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Releasing the Mapbox iOS SDK

Minh Nguyễn edited this page May 2, 2020 · 59 revisions

(Consider releasing the Mapbox macOS SDK at the same time.)

Version the packages

  1. Choose a version number per Semantic Versioning and our tagging rules. Let's call it ios-vX.Y.Z. If this is a pre-release, go with ios-vX.Y.Z-pre.P, where P begins at 1 and increments for each pre-release.
  2. If necessary, update the screenshot.
  3. Update the version by running ./platform/ios/scripts/update-version.sh vX.Y.Z-pre.P, where vX.Y.Z-pre.P is the full semantic version.
  4. Update the CHANGELOG.md for the release.
  5. Run tx pull -a to add or update translations.
  6. Create a pull request with these changes and have it approved/merged.
  7. Create a tag ios-vX.Y.Z.
  8. git push origin ios-vX.Y.Z

Build and release

The release build and deployment process starts on CircleCI once you push the tag. This will automatically:

  • Build, package, and upload the different release flavors to s3 and GitHub.
  • Create a draft release on GitHub.

Once the ~35 minute deployment process is finished, you should:

  • Copy the release notes to the draft GitHub release.
  • Check that the attached packages are valid.
  • Push the publish button. 💚

The old manual way

In times of dire need, you can still deploy manually by following the instructions in this old revision, which relies on this script.

Stable releases

cocoapods

  • Run pod trunk push platform/ios/Mapbox-iOS-SDK.podspec.

Documentation

Pre-releases

Documentation

Publish API documentation in the mapbox/ios-sdk repo. After generating the docs, only commit the new api/X.X.X/ folder — this makes them publicly available, but leaves the stable version as the default.

Clone this wiki locally