@@ -17,7 +17,7 @@ file for how to contribute to this project.
1717## CocoaPods
1818
1919Install
20- * CocoaPods 1.10 .0 (or later)
20+ * CocoaPods 1.12 .0 (or later)
2121 * [ CocoaPods generate] ( https://github.com/square/cocoapods-generate ) - This is
2222 not part of the _ core_ cocoapods install.
2323
@@ -29,3 +29,54 @@ pod gen GoogleAPIClientForREST.podspec --local-sources=./ --auto-open --platform
2929
3030Note: Set the ` --platforms ` option to ` macos ` , ` tvos ` , or ` watchos ` to
3131develop/test for those platforms.
32+
33+ ---
34+
35+ ## Releasing
36+
37+ To update the version number and push a release:
38+
39+ 1 . Examine what has changed; determine the appropriate new version number.
40+
41+ 1 . Update the version number.
42+
43+ Run the ` update_version.py ` script to update the appropriate files with the
44+ new version number, by passing in the new version (must be in X.Y.Z format).
45+
46+ ``` sh
47+ $ ./update_version.py 3.2.1
48+ ```
49+
50+ Submit the changes to the repo.
51+
52+ 1. Create a release on Github.
53+
54+ Top left of the [project' s release page](https://github.com/google/google-api-objectivec-client-for-rest/releases)
55+ is _Draft a new release_.
56+
57+ The tag should be vX.Y.Z where the version number X.Y.Z _exactly_ matches
58+ the one you provided to the `update_version.py` script. (GoogleAPIClientForREST
59+ has a `v` prefix on its tags.)
60+
61+ For the description call out any major changes in the release. Usually the
62+ _Generate release notes_ button in the toolbar is a good starting point and
63+ just updating as need for more/less detail (dropping comments about CI,
64+ updating the version number, etc.).
65+
66+ 1. Publish the CocoaPod.
67+
68+ NOTE: You must be a registered owner of the podspec and be "logged in" from
69+ the CocoaPods pov locally to do this. The general google account for pods is
70+ and owner and can be used for releases.
71+
72+ ```sh
73+ $ pod trunk push --skip-import-validation --skip-tests GoogleAPIClientForREST.podspec
74+ ```
75+
76+ NOTE: Since validations are run on CI during every PR/commit, they are skipped here
77+ because publish takes a long time. And M2 based MBP can take > 1 hour to do this
78+ because of all of the subspecs and because the pod supports all of Apple platforms.
79+
80+ The tests are skipped because Cocoapods has had issues with running watchOS tests
81+ based on the local machines config. Those are also covered in github CI, so this
82+ should be good.
0 commit comments