chore: pin geofence native SDK versions and sample test wiring#358
Open
mrehan27 wants to merge 2 commits into
Open
chore: pin geofence native SDK versions and sample test wiring#358mrehan27 wants to merge 2 commits into
mrehan27 wants to merge 2 commits into
Conversation
Contributor
Sample app builds 📱Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request.
|
c15ceec to
4208495
Compare
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Temporary scaffolding so CI and reviewers can build the sample apps against the pre-release geofence native builds (Android snapshot / iOS feature branch), and so this PR's working build is distributed to the feature-branch Firebase channel while the feature branch's own push builds are broken until the native SDKs ship. Also pins iOS native_sdk_version back to the feature branch's podspec version so CocoaPods resolves the umbrella subspecs. Reverted before this PR merges. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4208495 to
48c2744
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Wires the geofence feature to the native SDK versions that will ship it, and makes the sample apps buildable/testable against the pre-release native builds in the meantime.
Two intentional commits; please don't squash them in review:
Commit 1 — the real change we keep. Pins the native SDK versions that will contain geofence:
android/build.gradle:cioVersion4.18.2 → 4.20.0pubspec.yaml+Package.swift:native_sdk_version/ SPM pin4.5.3 → 4.7.0These versions aren't published yet, which is why Commit 2 exists.
Commit 2 — temporary scaffolding so CI and reviewers can build/test the sample apps against pre-release native code, and so peers get a working feature build in the meantime:
cioVersion→feature-geofence-on-device-SNAPSHOT+ the Sonatype Central snapshots repocustomerio-iospinned tobranch: feature/geofence-on-deviceCustomerIO/LocationGeofencegit pod (the umbrella subspec isn't on the released trunk spec yet)pubspec.yaml: temporarily pinsnative_sdk_versionto4.6.0(the branch's current podspec version) so CocoaPods resolves — deliberately adjusts Commit 1's iOS bump, for testing onlyreusable-build-sample-apps.yml): routes this PR's (working) primary-app build to thefeature-branchFirebase distribution channel. The feature branch's own push builds fail to compile until the native geofence SDKs ship, so feature-build subscribers would otherwise get nothing — a small branch-gated addition to the distribution-group step gives them a working build in the interim (mirrors the equivalent React Native change).Reverting Commit 2 restores Commit 1's production state exactly.
Note for reviewers & Bugbot
Commit 2 is temporary, test-only scaffolding and is reverted before merge — its changes never reach the feature branch. Please don't flag them as defects: the snapshot/branch pins, the
native_sdk_versiondowngrade, the git pod, and the CIfeature-branchdistribution wiring.Verified locally
Merge plan
Commit 2 exists only so CI can build, reviewers can test, and feature-build subscribers get a working build while this PR is open. When the native geofence SDKs go live, Commit 2 is reverted entirely, so only Commit 1 lands on
feature/geofence-on-device.Ticket
https://linear.app/customerio/issue/MBL-1783/flutter-add-geofencing-support
Note
Medium Risk
Changes are labeled temporary and internal, but they alter dependency resolution (snapshot repo, git/branch pins) and CI distribution routing—easy to ship accidentally if the revert is missed.
Overview
Adds temporary pre-release wiring so geofence can be built and tested before published Android 4.20.0 / iOS 4.7.0 native SDKs ship. The PR description treats a separate commit as the long-term version pins; this diff is mostly the scaffolding that is meant to be reverted once natives are live.
Android (
android/build.gradle):cioVersionmoves from 4.18.2 tofeature-geofence-on-device-SNAPSHOT, and Sonatype Central snapshots Maven is added so Gradle can resolve the unreleased artifacts.iOS: SPM (
Package.swift) pinscustomerio-iosto branchfeature/geofence-on-deviceinstead of an exact release. The CocoaPods sample loads the geofence override script from that branch, callsinstall_non_production_ios_sdk_git_branch, and adds a gitCustomerIO/LocationGeofencepod because the umbrella subspec is not on the released trunk yet.Plugin metadata:
pubspec.yamlnative_sdk_versionis bumped 4.5.3 → 4.6.0 so CocoaPods resolution matches the branch podspec during testing.CI (
reusable-build-sample-apps.yml): for the primary sample app on Android and iOS jobs, builds from PR head branchmbl-1783-geofence-releaseare also published to thefeature-branchFirebase distribution group so peers get installable builds while feature-branch pushes may not compile yet.Reviewed by Cursor Bugbot for commit 48c2744. Bugbot is set up for automated code reviews on this repo. Configure here.