Skip to content

Preserve non-Firebase producer baselines before Firebase 13 cutover #257

Open

Description

@AdamEssenmacher

The Firebase 13 XBD experiment changes the shared native dependency projects to the Firebase 13 closure. Non-Firebase products retain their native pins and existing NuGet declarations, but their legacy Cake build traverses the same repository-owned projects. Removing the old mixed-build guard does not restore a compatible CocoaPods production closure: migrated shared PodSpecs are empty, and scoped projects intentionally require the verified Firebase producer before pack.

Affected producer paths include Google.SignIn and the deferred Cast/Tag Manager/ML Kit closures. This does not require changing or republishing the existing Sign-In 10.1.0 NuGet. Its native and managed code remain unchanged; its current dependency ranges must not silently be widened.

Blocking status: blocks promoting the Firebase experiment to the default repository build/cutover. This is not a waiver of non-Firebase build support and not a claim of consumer compatibility. PR #256 remains a draft with publishing disabled.

Before cutover:

  • Isolate the legacy native resolution and package-production baseline, or explicitly select already-published matching dependency packages without rebuilding them from Firebase 13 sources.
  • Preserve native pins, package IDs, existing published payloads, and consumer dependency bounds for products outside the Firebase migration.
  • Validate Google.SignIn production and its dependency-resolution evidence; document/test the supported legacy commands for deferred products.
  • Avoid restoring the mixed-build guard as a substitute for working legacy builds.

Source review: #256 (comment)
Experiment: #256

Activity

  1. AdamEssenmacher commented on Nov 4, 2026

    @AdamEssenmacher
    OwnerAuthor

    Implemented in PR #256, commit 7a3ffac. Non-Firebase production now uses a pinned, isolated pre-migration source tree; the original Google.SignIn command builds and packs its five-package baseline. Sign-In stays at 10.1.0.0 with unchanged public API, native pins and dependency declarations. A committed regression fixture verifies all five input fingerprints against the published 10.1.0 release. Metadata/native-reference inspection uses the same source baseline. Firebase 13 remains XBD-only; default/mixed requests partition the two producers without fallback.

    Local validation: original Sign-In production command, exact CocoaPods resolution/native-package inspection, direct/transitive simulator/device/Catalyst offline consumers, 10 legacy-producer tests, 72 release-tool tests, 11 native-delivery tests and 125 audit tests passed. The Firebase 13 externals command also passed with a failing pod sentinel.

    The new CI run includes a separate read-only legacy Sign-In/Firebase 12 integration lane: https://github.com/AdamEssenmacher/GoogleApisForiOSComponents/actions/runs/41920372109 . That refreshed CI is still in progress. The issue stays open pending validation and maintainer merge; no packages have been published.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions