-
Notifications
You must be signed in to change notification settings - Fork 222
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 branchgit 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
- 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
- Run semantic-release with '--dry-run' to ensure that it will assign the appropriate new release number
- 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
- GitHub release: https://github.com/watson-developer-cloud/swift-sdk/releases
- Cocoapods published: https://cocoapods.org/, search on "IBMWatson"
- Docs published: http://watson-developer-cloud.github.io/swift-sdk/
- Code Coverage report: