Skip to content

Conversation

@badboy
Copy link
Member

@badboy badboy commented Oct 28, 2025

My Xcode refuses to actually update the dependencies, it just spins and does nothing (and sometimes crashes). So this PR is not actually complete or tested.
I appreciate if someone could help with that.

@badboy badboy requested a review from a team as a code owner October 28, 2025 12:42
@badboy badboy requested a review from mdotb-moz October 28, 2025 12:42
@badboy badboy requested a review from issammani as a code owner October 28, 2025 14:15
@lmarceau lmarceau changed the title Update to Glean v66 Bump FXIOS [Dependencies] Update to Glean v66 Oct 28, 2025
@lmarceau
Copy link
Contributor

Build failed on the unit tests testObjectRecordedToGleanMatchesExpected @issammani if you have some time to look otherwise I'll try to have a look later today!

@lmarceau
Copy link
Contributor

lmarceau commented Oct 28, 2025

@badboy what Xcode version do you have? I've had a similar issue in the past with dependencies not loaded in Xcode 16.2, we're nowadays using Xcode 26

@lmarceau
Copy link
Contributor

Build failed on the unit tests testObjectRecordedToGleanMatchesExpected @issammani if you have some time to look otherwise I'll try to have a look later today!

The test testObjectRecordedToGleanMatchesExpected is failing locally as well. And not just in the CI.

The values returned by value = GleanMetrics.NimbusSystem.recordedNimbusContext.testGetValue() are mostly nil, which is causing the test to fail.

Optional<RecordedNimbusContextObject>
  ▿ some : RecordedNimbusContextObject
    - isFirstRun : nil
    - eventQueryValues : nil
    - isPhone : nil
    - appVersion : nil
    ▿ locale : Optional<String>
      - some : "en-CA"
    - daysSinceInstall : nil
    - daysSinceUpdate : nil
    ▿ language : Optional<String>
      - some : "en"
    ▿ region : Optional<String>
      - some : "CA"
    - isDefaultBrowser : nil
    - isBottomToolbarUser : nil
    - hasEnabledTipsNotifications : nil
    - hasAcceptedTermsOfUse : nil
    - isAppleIntelligenceAvailable : nil
    - cannotUseAppleIntelligence : nil

Any idea why the returned testGetValue is not the expected one? This seems like a blocker for this PR.

GleanMetrics.Pings.shared.nimbus.testBeforeNextSubmit { e in
    value = GleanMetrics.NimbusSystem.recordedNimbusContext.testGetValue()
    expectation.fulfill()
}

@lmarceau lmarceau self-requested a review October 28, 2025 23:29
@badboy
Copy link
Member Author

badboy commented Oct 29, 2025

@badboy what Xcode version do you have? I've had a similar issue in the past with dependencies not loaded in Xcode 16.2, we're nowadays using Xcode 26

Latest. It turns out that I missed updating the version in MozillaRustComponents and thus the version resolution failed, but Xcode was just not having it.
Running the update manually on the CLI using xcodebuild -resolvePackageDependencies showed the error and I could address it.
I then didn't have the time to run the tests locally, so I pushed and hoped for CI.
Now that I know of the error I can go and fix it.

@badboy
Copy link
Member Author

badboy commented Oct 29, 2025

This uncovered another small bug in the Glean testGetValue function. Fixing that and then updating this PR again.

@badboy badboy changed the title Bump FXIOS [Dependencies] Update to Glean v66 Bump FXIOS [Dependencies] Update to Glean v66.0.1 Oct 30, 2025
@issammani
Copy link
Collaborator

@badboy @lmarceau should this be automated ? it would be easy to add a peridioc check for both glean and glean_parser.

@mobiletest-ci-bot
Copy link

🥇 Perfect PR size

Smaller PRs are easier to review. Thanks for making life easy for reviewers! ✨

❌ Per-file test coverage gate

The following changed file(s) are below 35.0% coverage:

File Coverage Required
MozillaRustComponents/Package.swift 0.0% 35.0%

Generated by 🚫 Danger Swift against e90aaa7

Copy link
Collaborator

@issammani issammani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ! I will let @lmarceau do a final pass and merge 😄

@issammani issammani removed the request for review from mdotb-moz October 30, 2025 15:48
@lmarceau lmarceau merged commit 0f575a2 into mozilla-mobile:main Oct 30, 2025
12 checks passed
@github-actions
Copy link
Contributor

🚀 PR merged to main, targeting version: 145.0

@lmarceau
Copy link
Contributor

@badboy @lmarceau should this be automated ? it would be easy to add a peridioc check for both glean and glean_parser.

Would be nice to automate this yes

@badboy badboy deleted the glean-v66 branch October 31, 2025 09:16
@badboy
Copy link
Member Author

badboy commented Oct 31, 2025

@badboy @lmarceau should this be automated ? it would be easy to add a peridioc check for both glean and glean_parser.

Would be nice to automate this yes

Focus already uses upToNextMajorVersion in the dependency specification, Firefox-iOS doesn't, but it could.
That should make it easy to upgrade by using Xcode's "Update to Latest Package Versions". That step could be automated and should rarely cause issues (if it does there's a bug on our side).
The sdk_generator.sh equally specifies a MAJOR.MINOR version and upgrades to the latest patch version within that.

Glean follows semver, so major version upgrades usually include breaking changes (though we use the same version across all target languages, so the breaking changes might not apply). Still that will require human intervention some of the time, but the update process itself could be automated.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants