Skip to content

Publishing a new release

Mike Kistler edited this page Jun 8, 2019 · 5 revisions

Here is the general development and release process for the Swift SDK:

  • Starting on the master branch, start a new side branch
    git checkout -b release-x
    
  • Regenerate the SDK using the Swift generation wiki
  • Perform the required post-generation changes (AKA hand edits) using the Swift post-generation wiki
    • Update post-generation changes wiki as appropriate
  • Update dependencies to latest versions
    carthage update
    
    • Update Package.swift accordingly
  • Update version-dates in tests to target date for release
    • Tests/TestUtilities.swift
  • Run the tests for all updated services and make sure all are passing. Update tests as needed.
  • Assess the test code coverage (in Xcode). Add new tests as needed.
  • Test on Linux (see Running-Swift-Linux-Tests-on-Mac). Update / add tests as needed.
    • Make sure the allTests array contains all the tests -- this is still done manually
  • Update Changelog with all significant changes in the release
    • Run semantic-release with '--dry-run' to ensure that it will assign the appropriate new release number
      semantic-release --dry-run -b develop 
      
  • Create a PR into master for the new release
    • PR description should include the git commit hash for API definitions and SDK generator
  • When tests pass and PR review is complete, merge PR to the master branch
  • Wait for the Travis build on master to finish, and verify that all parts of the deploy process succeeded (Github release, Cocoapods deployment, and API doc regeneration).
  • Collect and publish code coverage

Verify