Skip to content

Latest commit

 

History

History
95 lines (74 loc) · 2.84 KB

release-checklist.md

File metadata and controls

95 lines (74 loc) · 2.84 KB

Tangram ES Release Checklist

Requirements

  • 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:

1. Prepare release commit

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

2. Tag release commit

Tag the commit with the release version and push the tag to GitHub.

$ git tag 1.0.0
$ git push origin 1.0.0

3. Create a Release on GitHub

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.

3. Push iOS framework to CocoaPods

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

4. Promote Android artifact to production

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.

5. Prepare next development cycle

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