-
Notifications
You must be signed in to change notification settings - Fork 105
Release Steps
When working on a new release, there are a few steps that need to be taken. This should eventually be wrapped up in a script, but for now it's manual. See this example commit.
-
Run clang-format using the style file in the github repository. In terminal, run the script like this:
clang-format -i -style=file ./SmartDeviceLink/*
. -
The project file's version should be bumped to the new version number according to semantic versioning 2.0.0. The example project should also be bumped.
-
Change the version number in the podspec.
-
Ensure that the RPC and protocol versions in the SDLGlobals file are up to date.
-
Update to the newest BSON submodule.
-
Add the exhaustive changes to the CHANGELOG file.
-
Ensure that you have Jazzy installed on your system (
sudo gem install jazzy
). Generate Jazzy Documentation using (from the script directory)bash generate-documentation.sh
. The changes will be committed. -
Ensure that the RPC_SPEC has released to the
master
branch and update the submodule to point to the new release tag (or to the HEAD ofmaster
, if no release of the RPC_SPEC is occurring). -
Commit the release to
develop
, merge it tomaster
(or for Beta / RC arelease/x.x.x
branch) and tag it there (e.g.4.3.0
,4.3.0-alpha.1
,4.3.0-rc.2
), then merge master back to develop.
After committing the new release and tagging it:
-
Create a new release for the tag and add the highlights of the changes. For example, if there are breaking changes, any new features, or major changes / bugfixes.
-
Push the new release to the primary cocoapod using command line:
pod trunk push SmartDeviceLink.podspec --allow-warnings
. -
Push the new release to the secondary cocoapod using command line:
pod trunk push SmartDeviceLink-iOS.podspec --allow-warnings
. -
Add a binary archive to the release for Carthage using this guide. Specifically, build a new version using
carthage build --no-skip-current --platform ios
, then run:carthage archive --project-directory ./
-
Add the docset to the release found in
docs/docsets/
.
Copyright 2021 SmartDeviceLink Consortium