-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[Infra] Build binaries with Xcode 16.2 x macos-14 #14606
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
Changes from all commits
7543596
b04e597
53160cb
e1d8e2a
3a82ef9
0339b51
494dbce
66c5cbe
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,8 +36,8 @@ jobs: | |
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 | ||
with: | ||
cache_key: package-release | ||
- name: Xcode 15.2 | ||
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | ||
- name: Xcode 16.2 | ||
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer | ||
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | ||
- name: Setup Bundler | ||
run: ./scripts/setup_bundler.sh | ||
|
@@ -61,8 +61,8 @@ jobs: | |
runs-on: macos-14 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Xcode 15.2 | ||
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | ||
- name: Xcode 16.2 | ||
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer | ||
- name: Build | ||
run: | | ||
cd ReleaseTooling | ||
|
@@ -81,8 +81,8 @@ jobs: | |
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 | ||
with: | ||
cache_key: package-head | ||
- name: Xcode 15.2 | ||
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | ||
- name: Xcode 16.2 | ||
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer | ||
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | ||
- name: Setup Bundler | ||
run: ./scripts/setup_bundler.sh | ||
|
@@ -113,10 +113,10 @@ jobs: | |
matrix: | ||
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | ||
build-env: | ||
- os: macos-14 | ||
xcode: Xcode_15.2 | ||
- os: macos-15 | ||
xcode: Xcode_16.2 | ||
# - os: macos-15 | ||
# xcode: Xcode_16.3 | ||
runs-on: ${{ matrix.build-env.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -226,10 +226,10 @@ jobs: | |
matrix: | ||
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | ||
build-env: | ||
- os: macos-14 | ||
xcode: Xcode_15.2 | ||
- os: macos-15 | ||
xcode: Xcode_16.2 | ||
# - os: macos-15 | ||
# xcode: Xcode_16.3 | ||
runs-on: ${{ matrix.build-env.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -277,10 +277,10 @@ jobs: | |
matrix: | ||
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | ||
build-env: | ||
- os: macos-14 | ||
xcode: Xcode_15.2 | ||
- os: macos-15 | ||
xcode: Xcode_16.2 | ||
# - os: macos-15 | ||
# xcode: Xcode_16.3 | ||
runs-on: ${{ matrix.build-env.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -350,7 +350,7 @@ jobs: | |
strategy: | ||
matrix: | ||
os: [macos-14] | ||
xcode: [Xcode_15.2] | ||
xcode: [Xcode_16.2] | ||
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
|
@@ -403,10 +403,10 @@ jobs: | |
matrix: | ||
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | ||
build-env: | ||
- os: macos-14 | ||
xcode: Xcode_15.2 | ||
- os: macos-15 | ||
xcode: Xcode_16.2 | ||
# - os: macos-15 | ||
# xcode: Xcode_16.3 | ||
runs-on: ${{ matrix.build-env.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -462,10 +462,10 @@ jobs: | |
matrix: | ||
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | ||
build-env: | ||
- os: macos-14 | ||
xcode: Xcode_15.2 | ||
- os: macos-15 | ||
xcode: Xcode_16.2 | ||
# - os: macos-15 | ||
# xcode: Xcode_16.3 | ||
runs-on: ${{ matrix.build-env.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -511,8 +511,8 @@ jobs: | |
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 | ||
runs-on: macos-14 | ||
steps: | ||
- name: Xcode 15.2 | ||
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | ||
- name: Xcode 16.2 | ||
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer | ||
- uses: actions/checkout@v4 | ||
- name: Get framework dir | ||
uses: actions/[email protected] | ||
|
@@ -546,10 +546,10 @@ jobs: | |
matrix: | ||
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | ||
build-env: | ||
- os: macos-14 | ||
xcode: Xcode_15.2 | ||
- os: macos-15 | ||
xcode: Xcode_16.2 | ||
# - os: macos-15 | ||
# xcode: Xcode_16.3 | ||
runs-on: ${{ matrix.build-env.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -602,10 +602,10 @@ jobs: | |
matrix: | ||
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | ||
build-env: | ||
- os: macos-14 | ||
xcode: Xcode_15.2 | ||
- os: macos-15 | ||
xcode: Xcode_16.2 | ||
# - os: macos-15 | ||
# xcode: Xcode_16.3 | ||
runs-on: ${{ matrix.build-env.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -657,10 +657,10 @@ jobs: | |
matrix: | ||
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | ||
build-env: | ||
- os: macos-14 | ||
xcode: Xcode_15.2 | ||
- os: macos-15 | ||
xcode: Xcode_16.2 | ||
# - os: macos-15 | ||
# xcode: Xcode_16.3 | ||
runs-on: ${{ matrix.build-env.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,7 @@ | ||
# Unreleased | ||
- [changed] Firebase now requires at least Xcode 16.2. See | ||
https://developer.apple.com/news/?id=9s0rgdy9 for more info. | ||
|
||
Comment on lines
+1
to
+4
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi @mikehardy, heads up that firebase-ios-sdk's 10.12 release will require Xcode 16.2. This is in preparation for Apple's April 24 deadline to start releasing apps with Xcode 16: https://developer.apple.com/news/?id=9s0rgdy9 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah - thanks for the heads up - we've got another similarly-tiny but nevertheless breaking change queued up over in react-native-firebase and I was looking for something/anything to bundle with it, this fits the bill. |
||
# Firebase 11.8.0 | ||
- [deprecated] The zip and Carthage distributions of the Google Mobile Ads SDK | ||
with Firebase are deprecated and will be removed in the next major release. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ncooke3 just noticed this - wasn't expecting to see my name in your yaml 😆
Just a note that I've deprecated that action because I consider ccache to be superior due to more widespread adoption vs buildcache. Used to be ccache couldn't handle caching Xcode mobile builds so buildcache was the only option, but there is now a well-known set of options to use for ccache to achieve good caching behavior
Here is my ccache.conf if that helps:
alternatively you may specify all these things in environment like so:
https://github.com/invertase/react-native-firebase/blob/c26253c82f0a13f62608941d266a63071667cc16/.github/workflows/tests_e2e_ios.yml#L155-L159
in combo with ccache-action:
https://github.com/invertase/react-native-firebase/blob/c26253c82f0a13f62608941d266a63071667cc16/.github/workflows/tests_e2e_ios.yml#L83-L88
then the only other trick is to use relative paths for CC/CPLUSPLUS/LD/LDPLUSPLUS so that the ccache compiler/linker symlinks will be used instead of the real underlying compiler/linker
Example of that but it's environment too so lots of ways to achieve it:
https://github.com/invertase/react-native-firebase/blob/c26253c82f0a13f62608941d266a63071667cc16/package.json#L57
Hopefully that helps
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, Mike! I will take a look at migrating the usage.