This guide targets Developers of this SDK. It explains how to build the project and how the CI setup works.
First, you must setup some environment variables which are required by the project.
RMAAPIEndpoint=https://www.example.com
RASApplicationIdentifier=test-app-id
RASProjectSubscriptionKey=test-subscription-key
Next, run pod install
from the root directory, open MiniApp.xcworkspace
, and you should be able to successfully build the Sample App.
Note: You must define the environment variables before installing the pods because there is a post install script which sets up the project with your environment variables.
We currently don't provide an API for public use, so you must provide your own API.
TravisCI is used for building and testing the project for every pull request. It is also used for publishing the SDK and Sample App.
Note that two Sample App builds are created on merge to master or during a release:
- One build for the iOS Simulator (built on TravisCI and then uploaded to App Center - App Center does not support building for the Simulator target)
- One build for iOS Devices (built directly on App Center in order to keep the certificate and provisioning profile secret)
The following describes the steps that CI performs when a branch is merged to master.
- We trigger a build on TravisCI by merging a branch to master.
- CI builds SDK and Sample App, run tests, linting, etc.
- CI creates a ZIP file for the iOS Simulator (Staging) build of the Sample App.
- Publishes build to App Center "Testers" group.
- App Center builds the Sample App for iOS Devices (Staging).
- Publishes build to App Center "Testers" group.
The following describes the steps that CI performs when releasing a new version of the SDK.
- We trigger a build on TravisCI by pushing a Git tag to the repo in the format
vX.X.X
. - CI builds SDK and Sample App, run tests, linting, etc.
- CI publishes the SDK to Cocoapods.
- CI creates ZIP file for the iOS Simulator (Production) build of the Sample App.
- Publishes build to App Center "Production" group.
- CI merges the
master
branch into theprod
branch.- This triggers a build on App Center for the iOS Device (Production) build of the Sample App.
- Publishes build to App Center "Production" group.
- CI publishes documentation to Github Pages site.