Add ability to open a synced realm without sync configuration. (#234) #1231
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SwiftPM Build | |
env: | |
REALM_CI: true | |
REALM_DISABLE_ANALYTICS: true | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
build: | |
runs-on: macos-13 | |
name: ${{ matrix.platform }} ${{ matrix.configuration }}, Xcode ${{ matrix.xcode }} | |
strategy: | |
fail-fast: false | |
max-parallel: 6 | |
matrix: | |
platform: | |
- macOS | |
- macOS,variant=Mac Catalyst | |
- iOS | |
- iOS Simulator | |
- tvOS | |
- tvOS Simulator | |
xcode: | |
- '15.0' | |
configuration: | |
- Debug | |
- Release | |
exclude: | |
- configuration: ${{ github.event_name == 'pull_request' && 'Debug' || 'none' }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
# git-restore-mtime-bare uses the ref log to find the correct timestamp | |
# for each file. This requires a full git history. The default value (1) | |
# creates a shallow checkout. | |
fetch-depth: 0 | |
submodules: 'recursive' | |
# Restore timestamps so that DerivedData caching can work across runs | |
- name: Restore timestamps | |
uses: chetan/git-restore-mtime-action@v1 | |
- name: Setup Xcode | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{ matrix.xcode }} | |
- uses: ammaraskar/gcc-problem-matcher@master | |
- name: Compute cache key | |
id: platform-escaped | |
shell: pwsh | |
run: echo "::set-output name=value::$([uri]::EscapeDataString('${{ matrix.platform }}'))" | |
- name: Cache Derived Data | |
uses: actions/cache@v2 | |
with: | |
path: .build/derivedData | |
key: swiftpm-derivedData-${{ steps.platform-escaped.outputs.value }}-${{ matrix.configuration }}-xcode-${{ matrix.xcode }}-derivedData-cache-${{ github.sha }} | |
restore-keys: | | |
swiftpm-derivedData-${{ steps.platform-escaped.outputs.value }}-${{ matrix.configuration }}-xcode-${{ matrix.xcode }}-derivedData-cache- | |
# https://stackoverflow.com/questions/53753511/is-it-possible-to-copy-an-xcode-derived-data-cache | |
- name: Avoid inode changes for DerivedData | |
run: defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES | |
- name: Build | |
run: | | |
scheme=realm-tests | |
xcodebuild -scheme $scheme -destination "generic/platform=${{ matrix.platform }}" -configuration ${{ matrix.configuration }} -derivedDataPath .build/derivedData | |
- name: Open a tmate debug session | |
if: ${{ failure() && runner.debug }} | |
uses: mxschmitt/action-tmate@v3 | |
with: | |
timeout-minutes: 15 |