google / GoogleUtilities
git clone https://github.com/google/GoogleUtilities.git
8.1.5 · 6d ago
🔥 on GitHub Trending today
—
+0
stars, 24h · #631
+0
stars, 7 days · #1,662
+0
stars, 30 days · #10,088
136
★ total
81
forks · 3 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageObjective-C
LicenseApache-2.0
Created2021-01-13 (5y ago)
Last push6d ago
Watchers8
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #5 daily in objective-c
- 2026-10-20 — #8 monthly in objective-c
- 2026-10-20 — #4 weekly in objective-c
Links
README excerpt
[![Actions Status][gh-google-utilities-badge]][gh-actions]
# GoogleUtilities
GoogleUtilities provides a set of utilities for Firebase and other Google SDKs for Apple platform
development.
The utilities are not directly supported for non-Google library usage.
## Integration Testing
These instructions apply to minor and patch version updates. Major versions need
a customized adaptation.
After the CI is green:
* Determine the next version for release by checking the
tagged releases.
Ensure that the next release version keeps the Swift PM and CocoaPods versions in sync.
* Verify that the releasing version is the latest entry in the CHANGELOG.md,
updating it if necessary.
* Update the version in the podspec to match the latest entry in the CHANGELOG.md
* Checkout the `main` branch and ensure it is up to date
[code]
* Add the CocoaPods tag (`{version}` will be the latest version in the podspec)
[code]
* Push the podspec to the designated repo
* If this version of GoogleUtilities is intended to launch **before or with** the next Firebase release:
Push to SpecsStaging
[code]
If the command fails with `Unable to find the 'staging' repo.`, add the staging repo with:
[code]
* Otherwise:
Push to SpecsDev
[code]
If the command fails with `Unable to find the 'dev' repo.`, add the dev repo with:
[code]
* Run Firebase CI by waiting until next nightly or adding a PR that touches `Gemfile`.
* On google3, run copybara using the command below. Then, start a global TAP on the generated CL. Deflake as needed.
[code]
## Publishing
The release process is as follows:
1. Tag and release for Swift PM
2. Publish to CocoaPods
3. Create GitHub Release
4. Perform post release cleanup
### Swift Package Manager
By creating and pushing a tag
for Swift PM, the newly tagged version will be immediately released for public use.
Given this, please verify the intended time of release for Swift PM.
* Add a version tag for Swift PM
[code]
*Note: Ensure that any inflight PRs that depend on the new `GoogleUtilities` version are updated to point to the
newly tagged version rather than a checksum.*
### CocoaPods
* Publish the newly versioned pod to CocoaPods
It's recommended to point to the `GoogleUtilities.podspec` in `staging` to make sure the correct spec is being published.
[code]
*Note: In some cases, it may be acceptable to `pod trunk push` with the `--skip-tests` flag. Please double check with
the maintainers before doing so.*
The pod push was successful if the above command logs: `🚀 GoogleUtilities ({version}) successfully published`.
In addition, a new commit that publishes the new version (co-authored by CocoaPodsAtGoogle)
should appear in the CocoaPods specs repo. Last, the latest version should be displayed
on GoogleUtilities's CocoaPods page.
### Create GitHub Release
Update the release template's **Tag version** and **Release title**
fields with the latest version. In addition, reference the Release Notes in the release's description.