Skip to content

Commit

Permalink
RDART-962: Use xcode 15.4 (#1548)
Browse files Browse the repository at this point in the history
* Use xcode 15.4

Update CHANGELOG

Use Release instead of MinSIzeRel

* bump ulimit on ios test

* Check arch instead of inferring implicitly

* Update flutter-desktop-tests.yml to match dart-desktop-tests.yml

* Don't force XCode version on iOS tests (only on builds)

* Run iOS test on macos-12

* Update CHANGELOG

* PR feedback

Co-authored-by: Nikola Irinchev <[email protected]>

* PR feedback 2

---------

Co-authored-by: Nikola Irinchev <[email protected]>
  • Loading branch information
nielsenko and nirinchev authored May 29, 2024
1 parent 413e21a commit e2d9187
Show file tree
Hide file tree
Showing 8 changed files with 127 additions and 83 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/binary-combine-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,13 @@ jobs:
with:
name: librealm-android-x86_64
path: packages/realm_dart/binary/android

- name: Fetch armeabi-v7a build
uses: actions/download-artifact@v4
with:
name: librealm-android-armeabi-v7a
path: packages/realm_dart/binary/android

- name: Fetch arm64-v8a build
uses: actions/download-artifact@v4
with:
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/build-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,11 @@ jobs:
if: startsWith(matrix.build, 'android')
run: echo "ANDROID_NDK=$ANDROID_NDK_LATEST_HOME" >> $GITHUB_ENV

- name: Downgrade XCode for MacOS
if: matrix.build == 'macos'
run: sudo xcodes select 14.3.1
- name: Select XCode for MacOS
if: runner.os == 'macOS'
run: |
xcodes installed
sudo xcodes select 15.4
- name: Build
if: steps.check-cache.outputs.cache-hit != 'true'
Expand Down
101 changes: 63 additions & 38 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ jobs:
name: Build Windows
uses: ./.github/workflows/build-native.yml
with:
runner: windows-latest
binary: windows
build: '["windows"]'
runner: windows-latest
binary: windows
build: '["windows"]'

build-macos:
name: Build MacOS
Expand All @@ -35,23 +35,23 @@ jobs:
name: Build Linux
uses: ./.github/workflows/build-native.yml
with:
runner: ubuntu-20.04 # Building on the lowest possible Linux (Ubuntu) version for compatibility
binary: linux
build: '["linux"]'
runner: ubuntu-20.04 # Building on the lowest possible Linux (Ubuntu) version for compatibility
binary: linux
build: '["linux"]'

build-android:
name: Build Android
uses: ./.github/workflows/build-native.yml
with:
runner: ubuntu-20.04
binary: android
build: '["android-x86_64", "android-armeabi-v7a", "android-arm64-v8a"]'
runner: ubuntu-20.04
binary: android
build: '["android-x86_64", "android-armeabi-v7a", "android-arm64-v8a"]'

build-ios:
name: Build IOS
uses: ./.github/workflows/build-native.yml
with:
runner: macos-12
runner: macos-14
binary: ios
build: '["ios-device", "ios-simulator"]'

Expand All @@ -65,7 +65,7 @@ jobs:
needs: build-ios
uses: ./.github/workflows/binary-combine-ios.yml

# Dart jobs
# Dart jobs

deploy-cluster-dart-windows:
name: Deploy Cluster for Dart Windows
Expand All @@ -82,7 +82,6 @@ jobs:
- deploy-cluster-dart-windows
secrets: inherit
with:
os: windows
runner: windows-latest
differentiator: dw${{ github.run_id }}${{ github.run_attempt }}

Expand Down Expand Up @@ -111,8 +110,7 @@ jobs:
- deploy-cluster-dart-macos
secrets: inherit
with:
os: macos
runner: macos-latest
runner: macos-13
differentiator: dm${{ github.run_id }}${{ github.run_attempt }}

cleanup-cluster-dart-macos:
Expand Down Expand Up @@ -140,9 +138,8 @@ jobs:
- deploy-cluster-dart-macos-arm
secrets: inherit
with:
os: macos
runner: macos-14
architecture: arm
arch: arm64
differentiator: dma${{ github.run_id }}${{ github.run_attempt }}

cleanup-cluster-dart-macos-arm:
Expand Down Expand Up @@ -170,7 +167,6 @@ jobs:
- deploy-cluster-dart-linux
secrets: inherit
with:
os: linux
runner: ubuntu-latest
differentiator: dl${{ github.run_id }}${{ github.run_attempt }}

Expand All @@ -184,7 +180,7 @@ jobs:
with:
differentiator: dl${{ github.run_id }}${{ github.run_attempt }}

# Flutter jobs
# Flutter jobs
deploy-cluster-flutter-windows:
name: Deploy Cluster for Flutter Windows
uses: ./.github/workflows/deploy-baas.yml
Expand All @@ -200,11 +196,9 @@ jobs:
- deploy-cluster-flutter-windows
secrets: inherit
with:
os: windows
runner: windows-latest
differentiator: fw${{ github.run_id }}${{ github.run_attempt }}


cleanup-cluster-flutter-windows:
name: Cleanup Cluster for Flutter Windows
uses: ./.github/workflows/terminate-baas.yml
Expand All @@ -230,8 +224,7 @@ jobs:
- deploy-cluster-flutter-macos
secrets: inherit
with:
os: macos
runner: macos-latest
runner: macos-13
differentiator: fm${{ github.run_id }}${{ github.run_attempt }}

cleanup-cluster-flutter-macos:
Expand All @@ -244,6 +237,35 @@ jobs:
with:
differentiator: fm${{ github.run_id }}${{ github.run_attempt }}

deploy-cluster-flutter-macos-arm:
name: Deploy Cluster for Flutter MacOS Arm
uses: ./.github/workflows/deploy-baas.yml
secrets: inherit
with:
differentiator: fma${{ github.run_id }}${{ github.run_attempt }}

flutter-tests-macos-arm:
name: Flutter Tests MacOS Arm
uses: ./.github/workflows/flutter-desktop-tests.yml
needs:
- build-macos
- deploy-cluster-flutter-macos-arm
secrets: inherit
with:
runner: macos-14
arch: arm64
differentiator: fma${{ github.run_id }}${{ github.run_attempt }}

cleanup-cluster-flutter-macos-arm:
name: Cleanup Cluster for Flutter macOS Arm
uses: ./.github/workflows/terminate-baas.yml
if: always()
needs:
- flutter-tests-macos-arm
secrets: inherit
with:
differentiator: fma${{ github.run_id }}${{ github.run_attempt }}

deploy-cluster-flutter-linux:
name: Deploy Cluster for Flutter Linux
uses: ./.github/workflows/deploy-baas.yml
Expand All @@ -259,7 +281,6 @@ jobs:
- deploy-cluster-flutter-linux
secrets: inherit
with:
os: linux
runner: ubuntu-latest
differentiator: fl${{ github.run_id }}${{ github.run_attempt }}

Expand Down Expand Up @@ -298,7 +319,12 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
submodules: "recursive"

- name: Bump ulimit
run: |
ulimit -n
ulimit -n 10240
- name: Enable ccache
run: echo "PATH=/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" >> $GITHUB_ENV
Expand All @@ -312,7 +338,7 @@ jobs:
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
channel: "stable"

- name: Setup Melos
run: |
Expand All @@ -325,9 +351,9 @@ jobs:
- name: Launch Simulator
uses: futureware-tech/simulator-action@v3
with:
model: 'iPhone SE (3rd generation)'
os: 'iOS'
os_version: '>= 14.0'
model: "iPhone SE (3rd generation)"
os: "iOS"
os_version: ">= 14.0"

- name: Run tests on iOS Simulator
run: |
Expand Down Expand Up @@ -382,7 +408,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
submodules: "recursive"

- name: Enable KVM
run: |
Expand All @@ -396,7 +422,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
distribution: "temurin"
java-version: 11

- name: Fetch artifacts
Expand All @@ -408,7 +434,7 @@ jobs:
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
channel: "stable"

- name: Setup Melos
run: |
Expand All @@ -419,7 +445,7 @@ jobs:
run: dart pub get

# Hack to free up space on the runner to ensure we have enough diskspace to run the emulator
- name: Remove unnecessary files (dotnet, etc.)
- name: Remove unnecessary files (dotnet, etc.)
run: |
sudo rm -rf /usr/share/dotnet
Expand Down Expand Up @@ -468,7 +494,6 @@ jobs:
only-summary: true
working-directory: packages/realm/tests


cleanup-cluster-flutter-android:
name: Cleanup Cluster for Flutter Android
uses: ./.github/workflows/terminate-baas.yml
Expand All @@ -479,7 +504,7 @@ jobs:
with:
differentiator: fa${{ github.run_id }}${{ github.run_attempt }}

# Generator jobs
# Generator jobs

generator:
strategy:
Expand All @@ -499,12 +524,12 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
submodules: "recursive"

- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
channel: "stable"

- name: Setup Melos
run: |
Expand Down Expand Up @@ -580,7 +605,7 @@ jobs:
runs-on: ubuntu-latest
if: always() && github.ref == 'refs/heads/main'
steps:
# Run this action to set env.WORKFLOW_CONCLUSION
# Run this action to set env.WORKFLOW_CONCLUSION
- uses: technote-space/workflow-conclusion-action@45ce8e0eb155657ab8ccf346ade734257fd196a5

- uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f
Expand All @@ -589,7 +614,7 @@ jobs:
with:
status: ${{ env.WORKFLOW_CONCLUSION }}
webhook-url: ${{ secrets.SLACK_DART_WEBHOOK }}
channel: '#realm-github-dart'
channel: "#realm-github-dart"
message: |
*<https://github.com/realm/realm-dart/actions/runs/${{ github.run_id }}/attempts/${{ github.run_attempt }}|_{{workflow}}_ run id: ${{ github.run_id }} has status _{{jobStatus}}_ >*
<{{refUrl}}|`{{ref}}` - {{description}}>
Expand Down
Loading

0 comments on commit e2d9187

Please sign in to comment.