Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Remove support for Xcode 14 #1835

Merged
merged 70 commits into from
Jan 28, 2025

Conversation

dplewis
Copy link
Member

@dplewis dplewis commented Jan 13, 2025

New Pull Request Checklist

Issue Description

The CI is currently broken due to simulators not being support across 3 versions of Xcode.

Closes: #1836

Approach

  • Test against Watch 9
  • Test against iPhone 16
  • Test against Xcode 15 / 16

TODOs before merging

  • Add tests
  • Add changes to documentation (guides, repository pages, in-code descriptions)

Copy link

parse-github-assistant bot commented Jan 13, 2025

Thanks for opening this pull request!

  • 🎉 We are excited about your hands-on contribution!

@mtrezza mtrezza mentioned this pull request Jan 13, 2025
5 tasks
@dplewis
Copy link
Member Author

dplewis commented Jan 16, 2025

@mtrezza Looks like there are 3 failing / flaky tests, the starter projects build correctly on Xcode 15/16

-[InstallationUnitTests testInstallationHasApplicationBadge]
-[InstallationUnitTests testInstallationSetsApplicationBadge]
-[ParseClientConfigurationTests testServerValidation]

@mtrezza
Copy link
Member

mtrezza commented Jan 16, 2025

Great, do you have any guesses why they are failing?

Copy link

codecov bot commented Jan 16, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.65%. Comparing base (dd05d41) to head (b53dfa7).
Report is 39 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #1835       +/-   ##
===========================================
+ Coverage   64.24%   82.65%   +18.40%     
===========================================
  Files         201      282       +81     
  Lines       23233    30723     +7490     
===========================================
+ Hits        14926    25393    +10467     
+ Misses       8307     5330     -2977     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dplewis
Copy link
Member Author

dplewis commented Jan 17, 2025

@mtrezza I disabled the tests for now but I kinda figured out what is wrong. There are currently 3 trackers for the app badges.

[PFApplication currentApplication].systemApplication.applicationIconBadgeNumber
[PFApplication currentApplication].iconBadgeNumber // don't need this as it's only tracking the badges, internal, not used in macos
PFInstallation.badge

https://github.com/parse-community/Parse-SDK-iOS-OSX/pull/1835/files#diff-dfe3d69d32126f73e0311c93db9c0dfa92d02c375a4360aaf6b089d153cd7fef

Will fix in a separate PR.

@mtrezza
Copy link
Member

mtrezza commented Jan 17, 2025

Great, is that a SDK bug you discovered or just a testing issue?

@dplewis
Copy link
Member Author

dplewis commented Jan 17, 2025

I think it's a testing issue but could be a bug. I don't think it's safe to have an observer on applicationIconBadgeNumber which is deprecated just to update iconBadgeNumber. This observer is what's causing the tests to fail.

https://developer.apple.com/documentation/uikit/uiapplication/applicationiconbadgenumber?language=objc

@dplewis dplewis requested a review from a team January 17, 2025 01:21
@dplewis
Copy link
Member Author

dplewis commented Jan 17, 2025

@mtrezza I opened a issue for 7f5da14

@dplewis
Copy link
Member Author

dplewis commented Jan 23, 2025

@mtrezza This is ready for review

@mtrezza
Copy link
Member

mtrezza commented Jan 23, 2025

@mtrezza I opened a issue for 7f5da14

Good, could you reference the issue you opened here, so the discussion can be tracked?

@mtrezza
Copy link
Member

mtrezza commented Jan 28, 2025

I went back to individual jobs for LiveQuery, as it turned out that it's hard to debug in a combined test, and takes longer. Turns out that finding the right simulator settings to get the job working can take some time; that doesn't seem to be a code issue, but just how the simulator destination is set up. Instead of specifying the simulator by its ID we are selecting OS version and device model, which can be ambiguous, especially in watchOS <> iOS peering hence the test can easily fail because of the system OS / Xcode / simulator OS version compatibility.

@mtrezza mtrezza merged commit e94c4d5 into parse-community:master Jan 28, 2025
19 checks passed
parseplatformorg pushed a commit that referenced this pull request Jan 28, 2025
# [5.0.0](4.2.0...5.0.0) (2025-01-28)

### Features

* Remove support for Xcode 14 ([#1835](#1835)) ([e94c4d5](e94c4d5))

### BREAKING CHANGES

* This release removes support for Xcode 14. ([e94c4d5](e94c4d5))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 5.0.0

@parseplatformorg parseplatformorg added the state:released Released as stable version label Jan 28, 2025
@dplewis dplewis deleted the xcode-14-removal branch January 28, 2025 02:29
@dplewis dplewis mentioned this pull request Jan 31, 2025
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:breaking state:released Released as stable version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Xcode support policy
3 participants