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

ci(fix): fix nightly, upgrade xcode to 16 #11181

Merged
merged 17 commits into from
Nov 25, 2024
Merged

ci(fix): fix nightly, upgrade xcode to 16 #11181

merged 17 commits into from
Nov 25, 2024

Conversation

brainbicycle
Copy link
Contributor

@brainbicycle brainbicycle commented Nov 22, 2024

This PR resolves []

Description

Updates ci and local tooling to use Xcode 16.1.

I tried this earlier to workaround some build failures but didn't make all the necessary changes so broke nightlies 😬
This tries to do things the right way.

If anyone needs to do an Xcode upgrade in the future:

  • check this page for available xcode versions on circle: https://circleci.com/docs/testing-ios/, generally recommend staying on latest stable (that is not any listed as beta)
  • check the installed software on for the xcode version you choose: https://circle-macos-docs.s3.amazonaws.com/image-manifest/v15121/manifest.txt
  • update our ruby usage to minimum upgrade from what we currently have to an installed version on above list, usually this won't cause problems
  • update ARTestHelper sim OS version and device type to minimum upgrade from what we currently have to an installed version on above list, update in ci and scripts as well
  • run the tests from Xcode, likely many will fail because snapshots don't match new sim, update call sites from haveValidSnapshot to recordSnapshot (there is probably an easier way of doing this check docs on NimbleSnapshots) - commit this separately (e.g. "revert me: record new snapshots")
  • run tests again, this will record new snapshots
  • revert the changes to record new snapshots
  • run tests again they should now pass

Common bonus issues

  • compiling issues with native dependencies - this is generally because of changes to shipped Swift version and generally if it is a commonly used dependencies the community will be aware and be working on or have released an update: Anyone else having trouble running snapshot tests in Xcode 16? ashfurrow/Nimble-Snapshots#284. if it is an old dep godspeed, you either have to fork it and fix it or find a way to get rid of it, which is another reason we should be working towards reducing these.

PR Checklist

  • I have tested my changes on iOS and Android.
  • I hid my changes behind a feature flag, or they don't need one.
  • I have included screenshots or videos, or I have not changed the UI.
  • I have added tests, or my changes don't require any.
  • I added an app state migration, or my changes do not require one.
  • I have documented any follow-up work that this PR will require, or it does not require any.
  • I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

  • I would like at least one of the reviewers to run this PR on the simulator or device.
Changelog updates

Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

  • updates ci and local tools to use Xcode 16

Need help with something? Have a look at our docs, or get in touch with us.

@brainbicycle brainbicycle self-assigned this Nov 22, 2024
@ArtsyOpenSource
Copy link
Contributor

ArtsyOpenSource commented Nov 22, 2024

Warnings
⚠️

❌ **It seems like you added some non WebP images to Eigen, please convert them to WebPs using source images/script.sh script **

This PR contains the following changes:

  • Dev changes (updates ci and local tools to use Xcode 16 - brainbicycle)

Generated by 🚫 dangerJS against fbe3e3e

@brainbicycle brainbicycle changed the title ci(fix): fix nightly, bring back xcode upgrade ci(fix): fix nightly, upgrade xcode to 16 Nov 22, 2024
Copy link
Contributor Author

@brainbicycle brainbicycle Nov 22, 2024

Choose a reason for hiding this comment

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

these screenshots for View in Room seem kind of useless / not showing what the test expects, not sure if they were before my update, maybe should get rid of or check if I broke something

@@ -161,7 +161,7 @@ const checkPodDependenciesAreUpToDate = async () => {
// https://github.com/square/cocoapods-check/issues/18
// This is a bug for some react native deps in cocoapods-check
// might be a nice OSS contribution opportunity!
const knownException = `~RNImageCropPicker, ~RNPermissions, ~React-Codegen\n[!] \`pod install\` will install 3 Pods.`
const knownException = `~RNFastImage, ~RNImageCropPicker, ~RNPermissions, ~RNShare, ~React-RCTFabric, ~ReactCodegen, ~react-native-blob-util, ~react-native-view-shot\n[!] \`pod install\` will install 8 Pods.`
Copy link
Contributor Author

Choose a reason for hiding this comment

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

little bonus fix issue with yarn doctor causing it always to report pods not installed

Copy link
Member

@MrSltun MrSltun left a comment

Choose a reason for hiding this comment

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

Thank you Brian! 🙌

@brainbicycle brainbicycle merged commit ce85c9b into main Nov 25, 2024
7 checks passed
@brainbicycle brainbicycle deleted the brian/fix-nightly branch November 25, 2024 19:33
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