Skip to content

Commit 1c57e96

Browse files
NickGerlemanfacebook-github-bot
authored andcommitted
Test against XCode 14.3 and 15 (facebook#41798)
Summary: Apple will require XCode 15 next year to ship to the app store, and it aligns with how we build and test React Native internally. XCode 15 and 14.3 add support for a lot of [missing C++ 20 features](https://developer.apple.com/xcode/cpp/#c++20) from earlier versions as well. Last I was aware, Riccardo was onboard with bumping min supported in 0.74 to XCode 15. This change does a slightly more conservative bump to min 14.3, and main of 15.0 (though we might want to move these before 0.74 comes out). All of this will get migrated over to GHA soon enough as well, but... formalizing this is the only thing blocking usage of C++ 20 ranges today. Changelog: [ios][breaking] - Require XCode >= 14.3 Pull Request resolved: facebook#41798 Test Plan: 1. CircleCI Passes 2. Can still boot RNTester from XCode with code signing related changes. Reviewed By: cortinico Differential Revision: D51840617 Pulled By: NickGerleman fbshipit-source-id: 58f8951a436eb7c892a00432a8aad0ddd0a49da1
1 parent e3d1e15 commit 1c57e96

File tree

6 files changed

+16
-57
lines changed

6 files changed

+16
-57
lines changed

.circleci/configurations/commands.yml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,6 @@ commands:
4646
echo "rbenv found; Skipping installation"
4747
fi
4848
49-
xcode=$(xcodebuild -version | cut -d' ' -f2 | head -n 1)
50-
# For some reason, the Xcode 14.1 machnine is already properly configured.
51-
if [[ $xcode != '14.1' ]]; then
52-
brew reinstall libyaml
53-
gem install psych -- --with-libyaml-dir=$(brew --prefix libyaml)
54-
export RUBY_CONFIGURE_OPTS=--with-libyaml-dir=$(brew --prefix libyaml)
55-
fi
56-
57-
5849
# Install the right version of ruby
5950
if [[ -z "$(rbenv versions | grep << parameters.ruby_version >>)" ]]; then
6051
# ensure that `ruby-build` can see all the available versions of Ruby
@@ -84,18 +75,6 @@ commands:
8475
type: string
8576

8677
steps:
87-
- run:
88-
name: Move to Node 18 if Needed
89-
command: |
90-
node_version=$(node -v)
91-
major_version=$(echo $node_version | cut -c 2- | cut -d '.' -f 1)
92-
93-
if [[ $major_version < 18 ]]; then
94-
nvm install 18.18.0
95-
nvm alias default 18.18.0
96-
else
97-
echo 'We have the right node version!'
98-
fi
9978
- restore_cache:
10079
keys:
10180
- << parameters.yarn_base_cache_key >>-{{ arch }}-{{ checksum "yarn.lock" }}

.circleci/configurations/executors.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ executors:
3939
reactnativeios-lts:
4040
<<: *defaults
4141
macos:
42-
xcode: '14.1.0'
42+
xcode: '14.3.1'
4343
resource_class: macos.x86.medium.gen2
4444
environment:
4545
- BUILD_FROM_SOURCE: true

.circleci/configurations/top_level.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ references:
5959
# Dependency Anchors
6060
# -------------------------
6161
dependency_versions:
62-
xcode_version: &xcode_version "14.3.0"
62+
xcode_version: &xcode_version "15.0.1"
6363
nodelts_image: &nodelts_image "cimg/node:20.2.0"
6464
nodeprevlts_image: &nodeprevlts_image "cimg/node:18.12.1"
6565
nodelts_browser_image: &nodelts_browser_image "cimg/node:20.2.0-browsers"
@@ -81,22 +81,22 @@ references:
8181
hermes_linux_cache_key: &hermes_linux_cache_key v1-hermes-{{ .Environment.CIRCLE_JOB }}-linux-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
8282
hermes_windows_cache_key: &hermes_windows_cache_key v2-hermes-{{ .Environment.CIRCLE_JOB }}-windows-{{ checksum "/Users/circleci/project/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
8383
# Hermes iOS
84-
hermesc_apple_cache_key: &hermesc_apple_cache_key v2-hermesc-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
85-
hermes_apple_slices_cache_key: &hermes_apple_slices_cache_key v3-hermes-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
86-
hermes_tarball_debug_cache_key: &hermes_tarball_debug_cache_key v4-hermes-tarball-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
87-
hermes_tarball_release_cache_key: &hermes_tarball_release_cache_key v3-hermes-tarball-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
88-
hermes_macosx_bin_release_cache_key: &hermes_macosx_bin_release_cache_key v1-hermes-release-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
89-
hermes_macosx_bin_debug_cache_key: &hermes_macosx_bin_debug_cache_key v1-hermes-debug-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
90-
hermes_dsym_debug_cache_key: &hermes_dsym_debug_cache_key v1-hermes-debug-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
91-
hermes_dsym_release_cache_key: &hermes_dsym_release_cache_key v1-hermes-release-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
84+
hermesc_apple_cache_key: &hermesc_apple_cache_key v3-hermesc-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
85+
hermes_apple_slices_cache_key: &hermes_apple_slices_cache_key v4-hermes-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
86+
hermes_tarball_debug_cache_key: &hermes_tarball_debug_cache_key v5-hermes-tarball-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
87+
hermes_tarball_release_cache_key: &hermes_tarball_release_cache_key v4-hermes-tarball-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
88+
hermes_macosx_bin_release_cache_key: &hermes_macosx_bin_release_cache_key v2-hermes-release-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
89+
hermes_macosx_bin_debug_cache_key: &hermes_macosx_bin_debug_cache_key v2-hermes-debug-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
90+
hermes_dsym_debug_cache_key: &hermes_dsym_debug_cache_key v2-hermes-debug-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
91+
hermes_dsym_release_cache_key: &hermes_dsym_release_cache_key v2-hermes-release-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
9292
# Cocoapods - RNTester
93-
pods_cache_key: &pods_cache_key v10-pods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock.bak" }}-{{ checksum "packages/rn-tester/Podfile" }}
94-
cocoapods_cache_key: &cocoapods_cache_key v10-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock" }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }}
95-
rntester_podfile_lock_cache_key: &rntester_podfile_lock_cache_key v8-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/week_year" }}-{{ checksum "/tmp/hermes/hermesversion" }}
93+
pods_cache_key: &pods_cache_key v11-pods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock.bak" }}-{{ checksum "packages/rn-tester/Podfile" }}
94+
cocoapods_cache_key: &cocoapods_cache_key v11-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock" }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }}
95+
rntester_podfile_lock_cache_key: &rntester_podfile_lock_cache_key v9-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/week_year" }}-{{ checksum "/tmp/hermes/hermesversion" }}
9696

9797
# Cocoapods - Template
98-
template_cocoapods_cache_key: &template_cocoapods_cache_key v5-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile.lock" }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "packages/rn-tester/Podfile.lock" }}
99-
template_podfile_lock_cache_key: &template_podfile_lock_cache_key v5-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/week_year" }}-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "packages/rn-tester/Podfile.lock" }}
98+
template_cocoapods_cache_key: &template_cocoapods_cache_key v6-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile.lock" }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "packages/rn-tester/Podfile.lock" }}
99+
template_podfile_lock_cache_key: &template_podfile_lock_cache_key v6-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/week_year" }}-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "packages/rn-tester/Podfile.lock" }}
100100

101101
# Windows
102102
windows_yarn_cache_key: &windows_yarn_cache_key v1-win-yarn-cache-{{ arch }}-{{ checksum "yarn.lock" }}

packages/rn-tester/RNTester/RNTester.entitlements

Lines changed: 0 additions & 12 deletions
This file was deleted.

packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@
7676
/* End PBXContainerItemProxy section */
7777

7878
/* Begin PBXFileReference section */
79-
0CC3BE1A25DDB68A0033CAEB /* RNTester.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = RNTester.entitlements; path = RNTester/RNTester.entitlements; sourceTree = "<group>"; };
8079
13B07F961A680F5B00A75B9A /* RNTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RNTester.app; sourceTree = BUILT_PRODUCTS_DIR; };
8180
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = RNTester/AppDelegate.h; sourceTree = "<group>"; };
8281
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RNTester/Info.plist; sourceTree = "<group>"; };
@@ -208,7 +207,6 @@
208207
13B07FAE1A68108700A75B9A /* RNTester */ = {
209208
isa = PBXGroup;
210209
children = (
211-
0CC3BE1A25DDB68A0033CAEB /* RNTester.entitlements */,
212210
AC474BFB29BBD4A1002BDAED /* RNTester.xctestplan */,
213211
E771AEEA22B44E3100EA1189 /* Info.plist */,
214212
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
@@ -788,7 +786,6 @@
788786
buildSettings = {
789787
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
790788
CLANG_ENABLE_MODULES = YES;
791-
CODE_SIGN_ENTITLEMENTS = RNTester/RNTester.entitlements;
792789
DEVELOPMENT_TEAM = "";
793790
HEADER_SEARCH_PATHS = (
794791
"${PODS_ROOT}/Headers/Private/Yoga",
@@ -827,7 +824,6 @@
827824
buildSettings = {
828825
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
829826
CLANG_ENABLE_MODULES = YES;
830-
CODE_SIGN_ENTITLEMENTS = RNTester/RNTester.entitlements;
831827
DEVELOPMENT_TEAM = "";
832828
EXCLUDED_ARCHS = "";
833829
HEADER_SEARCH_PATHS = (
@@ -1062,7 +1058,6 @@
10621058
CLANG_ENABLE_OBJC_WEAK = YES;
10631059
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
10641060
CODE_SIGN_IDENTITY = "iPhone Developer";
1065-
CODE_SIGN_STYLE = Automatic;
10661061
DEBUG_INFORMATION_FORMAT = dwarf;
10671062
DEVELOPMENT_TEAM = "";
10681063
HEADER_SEARCH_PATHS = (
@@ -1101,7 +1096,6 @@
11011096
CLANG_ENABLE_OBJC_WEAK = YES;
11021097
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
11031098
CODE_SIGN_IDENTITY = "iPhone Developer";
1104-
CODE_SIGN_STYLE = Automatic;
11051099
COPY_PHASE_STRIP = NO;
11061100
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
11071101
DEVELOPMENT_TEAM = "";
@@ -1141,7 +1135,6 @@
11411135
CLANG_ENABLE_OBJC_WEAK = YES;
11421136
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
11431137
CODE_SIGN_IDENTITY = "iPhone Developer";
1144-
CODE_SIGN_STYLE = Automatic;
11451138
DEBUG_INFORMATION_FORMAT = dwarf;
11461139
DEVELOPMENT_TEAM = "";
11471140
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -1181,7 +1174,6 @@
11811174
CLANG_ENABLE_OBJC_WEAK = YES;
11821175
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
11831176
CODE_SIGN_IDENTITY = "iPhone Developer";
1184-
CODE_SIGN_STYLE = Automatic;
11851177
COPY_PHASE_STRIP = NO;
11861178
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
11871179
DEVELOPMENT_TEAM = "";

scripts/.tests.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export AVD_ABI=x86
2424
export ANDROID_DISABLE_AVD_TESTS=1
2525

2626
## IOS ##
27-
export IOS_TARGET_OS="latest"
27+
export IOS_TARGET_OS="16.4"
2828
export IOS_DEVICE="iPhone 14"
2929
export SDK_IOS="iphonesimulator"
3030

0 commit comments

Comments
 (0)