- Have cocoapods installed
- Have ownership privileges to update the cocoapods trunk spec
- Have credentials for Sonatype
Steps to release the Tangram ES iOS Framework to Cocoapods and release the Android AAR to Maven Central:
For the Android library, remove -SNAPSHOT
from the version name in platforms/android/tangram/gradle.properties
.
GROUP=com.mapzen.tangram
VERSION_NAME=1.0.0
For the iOS framework, remove -dev
from the version name in platforms/ios/config.cmake
:
set(FRAMEWORK_VERSION "1.0.0")
And increment the version number in Tangram-es.podspec
:
s.version = '1.0.0'
For desktop apps, update the version number in core/include/tangram.h
#define TANGRAM_VERSION_MAJOR 1
#define TANGRAM_VERSION_MINOR 0
#define TANGRAM_VERSION_PATCH 0
Commit and push to master.
$ git commit -m "Release 1.0.0"
$ git push
Tag the commit with the release version and push the tag to GitHub.
$ git tag 1.0.0
$ git push origin 1.0.0
Draft a release for the new tag at https://github.com/tangrams/tangram-es/releases.
Document changes in the release notes.
Once the iOS Release build completes on GitHub Actions, download the artifact named tangram-ios-<git revision>
containing the CocoaPod contents and then attach it to the GitHub release as tangram-ios-<tag>.zip
.
Once the Android build completes on CircleCI, download the artifact named tangram-android-<git revision>.aar
and then attach it to the GitHub release as tangram-android-<tag>.aar
.
Publish the new release.
Run pod spec lint
in the directory containing Tangram-es.podspec
to validate the Podspec.
Push the podspec to trunk:
pod trunk push Tangram-es.podspec
Log into OSS Sonatype Nexus and release to Central.
For details on this process see the Sonatype OSS Repository Hosting Guide
The new artifact should appear soon in Maven Central.
For the Android library, update the version name and restore -SNAPSHOT
to prepare the next development cycle.
GROUP=com.mapzen.tangram
VERSION_NAME=1.0.1-SNAPSHOT
For the iOS framework, update the version name and restore -dev
:
set(FRAMEWORK_VERSION "1.0.1-dev")
Commit and push to master.
$ git commit -m "Prepare next development cycle"
$ git push