diff --git a/.github/workflows/pr-realm-js.yml b/.github/workflows/pr-realm-js.yml index 8afe61dfb8..1591ed42d8 100644 --- a/.github/workflows/pr-realm-js.yml +++ b/.github/workflows/pr-realm-js.yml @@ -59,24 +59,90 @@ jobs: env: REALM_DISABLE_ANALYTICS: 1 NDK_VERSION: 25.1.8937393 + CODE_SIGN_IDENTITY: "" + CODE_SIGNING_REQUIRED: NO + strategy: fail-fast: false matrix: variant: - - { os: linux, runner: ubuntu-latest, arch: x64, artifact-path: packages/realm/prebuilds, test-node: true, test-electron: true } + - { + os: linux, + runner: ubuntu-latest, + arch: x64, + artifact-path: packages/realm/prebuilds, + test-node: true, + test-electron: true, + } - { os: linux, runner: ubuntu-latest, arch: arm, artifact-path: packages/realm/prebuilds } - { os: linux, runner: ubuntu-latest, arch: arm64, artifact-path: packages/realm/prebuilds } - - { os: windows, runner: windows-latest, arch: x64, artifact-path: packages/realm/prebuilds, test-node: true, test-electron: true } + - { + os: windows, + runner: windows-latest, + arch: x64, + artifact-path: packages/realm/prebuilds, + test-node: true, + test-electron: true, + } - { os: windows, runner: windows-2019, arch: ia32, artifact-path: packages/realm/prebuilds } - - { os: android, runner: ubuntu-latest, arch: x86_64, artifact-path: packages/realm/react-native/android/src/main/jniLibs } - - { os: android, runner: ubuntu-latest, arch: armeabi-v7a, artifact-path: packages/realm/react-native/android/src/main/jniLibs } - - { os: android, runner: ubuntu-latest, arch: arm64-v8a, artifact-path: packages/realm/react-native/android/src/main/jniLibs } - - { os: android, runner: ubuntu-latest, arch: x86, artifact-path: packages/realm/react-native/android/src/main/jniLibs } - - { os: darwin, runner: macos-latest, arch: x64, artifact-path: packages/realm/prebuilds, test-node: true, test-electron: true } - - { os: darwin, runner: macos-latest, arch: arm64, artifact-path: packages/realm/prebuilds, test-node: true, test-electron: true } - - { os: ios, runner: macos-latest-xlarge, arch: simulator, artifact-path: packages/realm/react-native/ios/realm-js-ios.xcframework } - - { os: ios, runner: macos-latest-xlarge, arch: catalyst, artifact-path: packages/realm/react-native/ios/realm-js-ios.xcframework } - - { os: ios, runner: macos-latest-xlarge, arch: ios, artifact-path: packages/realm/react-native/ios/realm-js-ios.xcframework } + - { + os: android, + runner: ubuntu-latest, + arch: x86_64, + artifact-path: packages/realm/react-native/android/src/main/jniLibs, + } + - { + os: android, + runner: ubuntu-latest, + arch: armeabi-v7a, + artifact-path: packages/realm/react-native/android/src/main/jniLibs, + } + - { + os: android, + runner: ubuntu-latest, + arch: arm64-v8a, + artifact-path: packages/realm/react-native/android/src/main/jniLibs, + } + - { + os: android, + runner: ubuntu-latest, + arch: x86, + artifact-path: packages/realm/react-native/android/src/main/jniLibs, + } + - { + os: darwin, + runner: macos-latest, + arch: x64, + artifact-path: packages/realm/prebuilds, + test-node: true, + test-electron: true, + } + - { + os: darwin, + runner: macos-latest, + arch: arm64, + artifact-path: packages/realm/prebuilds, + test-node: true, + test-electron: true, + } + - { + os: ios, + runner: macos-latest-xlarge, + arch: simulator, + artifact-path: packages/realm/react-native/ios/realm-js-ios.xcframework, + } + - { + os: ios, + runner: macos-latest-xlarge, + arch: catalyst, + artifact-path: packages/realm/react-native/ios/realm-js-ios.xcframework, + } + - { + os: ios, + runner: macos-latest-xlarge, + arch: ios, + artifact-path: packages/realm/react-native/ios/realm-js-ios.xcframework, + } steps: - name: Checkout code uses: actions/checkout@v4 @@ -126,8 +192,8 @@ jobs: if: ${{ matrix.variant.os == 'android' }} uses: actions/setup-java@v3 with: - distribution: 'zulu' # See 'Supported distributions' for available options - java-version: '11' + distribution: "zulu" # See 'Supported distributions' for available options + java-version: "11" - name: Setup Android SDK if: ${{ matrix.variant.os == 'android' }} @@ -150,7 +216,7 @@ jobs: uses: hendrikmuhs/ccache-action@v1 with: key: ${{ runner.os }}-${{ matrix.variant.os }}-${{ matrix.variant.arch }} - max-size: '2.0G' + max-size: "2.0G" - name: Prepend ccache executables to the PATH if: ${{ runner.os != 'Windows' }} @@ -263,8 +329,11 @@ jobs: SPAWN_LOGCAT: true BAAS_BRANCH: master # Pin the Xcode version - DEVELOPER_DIR: /Applications/Xcode_14.3.1.app + DEVELOPER_DIR: /Applications/Xcode_15.2.app IOS_DEVICE_NAME: iPhone 14 + CODE_SIGN_IDENTITY: "" + CODE_SIGNING_REQUIRED: NO + AD_HOC_CODE_SIGNING_ALLOWED: YES runs-on: ${{ matrix.variant.runner }} strategy: fail-fast: false @@ -316,7 +385,7 @@ jobs: if: ${{ matrix.variant.environment == 'react-native-test-app' }} uses: actions/cache@v4 with: - path: '**/Pods' + path: "**/Pods" key: ${{ runner.os }}-${{matrix.variant.environment}}-${{ hashFiles('**/Podfile.lock', './src/**', './vendor/**') }} restore-keys: | ${{ runner.os }}-${{matrix.variant.environment}}- @@ -337,7 +406,7 @@ jobs: if: ${{ matrix.variant.environment == 'react-native-test-app' }} with: key: ${{ runner.os }}-${{ matrix.variant.os }}-${{ matrix.variant.arch }} - max-size: '2.0G' + max-size: "2.0G" # in CI file timestamps change with every run so instead rely on file content hashing # https://reactnative.dev/docs/build-speed#using-this-approach-on-a-ci @@ -351,7 +420,7 @@ jobs: if: ${{ matrix.variant.os == 'ios' }} uses: maxim-lobanov/setup-cocoapods@v1 with: - version: 1.14.3 + version: 1.15.2 - name: Install IOS tools if: ${{ matrix.variant.os == 'ios' }} @@ -416,7 +485,10 @@ jobs: USE_CCACHE: 1 USE_BRIDGELESS: 0 # Disabling bridgeless for now MOCHA_REMOTE_CONTEXT: ${{ steps.mocha-env.outputs.context }} - timeout-minutes: 75 + CODE_SIGN_IDENTITY: "" + CODE_SIGNING_REQUIRED: NO + AD_HOC_CODE_SIGNING_ALLOWED: YES + timeout-minutes: 90 run: npm run ${{ matrix.variant.target}} --prefix integration-tests/environments/${{ matrix.variant.environment }} - name: Setup Java Gradle cache for android test app @@ -443,8 +515,8 @@ jobs: - uses: actions/setup-java@v3 if: ${{ matrix.variant.os == 'android' }} with: - distribution: 'zulu' # See 'Supported distributions' for available options - java-version: '17' + distribution: "zulu" # See 'Supported distributions' for available options + java-version: "17" - name: Run ${{matrix.variant.target}} (${{ matrix.variant.os}} / ${{ matrix.variant.environment }}) if: ${{ matrix.variant.os == 'android' }} diff --git a/CHANGELOG.md b/CHANGELOG.md index a70ed5e0b1..d51410393b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -139,6 +139,7 @@ function expectDictionary(value: unknown): asserts value is Realm.Dictionary { ### Internal * Upgraded Realm Core from v14.6.2 to v14.7.0. * Upgraded `@trunk/launcher` from v1.3.0 to v1.3.1 to support Apple's versioning scheme for macOS. +* Switched to Xcode 15.2 and CocoaPods v1.15.2 on GHA. ([#6538](https://github.com/realm/realm-js/issues/6538)) ## 12.8.1 (2024-05-15)