Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
360 changes: 144 additions & 216 deletions .github/workflows/build-pr.yml

Large diffs are not rendered by default.

29 changes: 8 additions & 21 deletions .github/workflows/master-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ on:
- "master"
- "release/**"
env:
XCODE_VERSION: "['15.3', '15.4', '16.2', '16.3', '16.4']"
XCODE_VERSION: "['16.3', '16.4', '26.0.1']"
PLATFORM: "['ios', 'osx', 'watchos', 'tvos', 'catalyst', 'visionos']"
RELEASE_VERSION: '16.4'
DEVELOPER_DIR: /Applications/Xcode_16.4.app/Contents/Developer
RELEASE_VERSION: '26.0.1'
DEVELOPER_DIR: /Applications/Xcode_26.0.1.app/Contents/Developer
jobs:
prepare:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -68,21 +68,15 @@ jobs:
xcode-version: ${{ fromJSON(needs.prepare.outputs.XCODE_VERSIONS_MATRIX) }}
configuration: [swift, static]
include:
- xcode-version: 15.3
xcode-version-tag: 15.3
os: macos-14
- xcode-version: 15.4
xcode-version-tag: 15.4
os: macos-14
- xcode-version: 16.2
xcode-version-tag: 16.2
os: macos-15
- xcode-version: 16.3
xcode-version-tag: 16.3
os: macos-15
- xcode-version: 16.4
xcode-version-tag: 16.4
os: macos-15
- xcode-version: 26.0.1
xcode-version-tag: 26.0.1
os: macos-15
exclude:
- platform: osx
configuration: static
Expand All @@ -99,9 +93,6 @@ jobs:
DEVELOPER_DIR: /Applications/Xcode_${{matrix.xcode-version}}.app/Contents/Developer
steps:
- uses: actions/checkout@v4
- name: Download visionOS
if: matrix.platform == 'visionos' && matrix.os == 'macos-14'
run: xcodebuild -downloadPlatform visionOS
- run: sh build.sh ${{matrix.platform}}-${{matrix.configuration}}
- run: tar cf build.tar build/*/${{matrix.platform}}
- name: Upload framework
Expand Down Expand Up @@ -213,16 +204,12 @@ jobs:
matrix:
xcode-version: ${{ fromJSON(needs.prepare.outputs.XCODE_VERSIONS_MATRIX) }}
include:
- xcode-version: 15.3
os: macos-14
- xcode-version: 15.4
os: macos-14
- xcode-version: 16.2
os: macos-15
- xcode-version: 16.3
os: macos-15
- xcode-version: 16.4
os: macos-15
- xcode-version: 26.0.1
os: macos-15
env:
PLATFORM: 'osx'
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer
Expand Down
58 changes: 2 additions & 56 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Publish release
on: workflow_dispatch
env:
XCODE_VERSION: "['15.3', '15.4', '16', '16.1', '16.2', '16.3']"
TEST_XCODE_VERSION: '16.3'
XCODE_VERSION: "['16.3', '16.4', '26.0.1']"
TEST_XCODE_VERSION: '26.0.1'
jobs:
prepare:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -32,22 +32,6 @@ jobs:
tag: "v${{ needs.prepare.outputs.VERSION }}"
tag_exists_error: false
message: ""
publish-docs:
runs-on: macos-15
name: Publish docs to S3 Bucket
needs: tag-release
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_DOCS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_DOCS_SECRET_ACCESS_KEY }}
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- run: brew install s3cmd
- name: Publish docs
run: bundle exec sh -x build.sh publish-docs ${{ github.sha }}
create-release:
runs-on: macos-15
name: Create github release
Expand Down Expand Up @@ -145,41 +129,3 @@ jobs:
max_attempts: 10
retry_wait_seconds: 60
retry_on: error
post-slack-release:
runs-on: macos-15
name: Publish to release Slack channel
needs: [create-release, prepare, publish-cocoapods, update-checker, publish-docs]
env:
WEBHOOK_URL: ${{ secrets.SLACK_RELEASES_WEBHOOK }}
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Prepare Changelog
run: bundle exec ./build.sh prepare-publish-changelog
- name: 'Post to #realm-releases'
uses: realm/ci-actions/release-to-slack@a2191a6cbf2f5b50aa71026dd068582dbd5016cc
with:
changelog: ExtractedChangelog/CHANGELOG.md
sdk: Swift
webhook-url: ${{ env.WEBHOOK_URL }}
version: ${{ needs.prepare.outputs.VERSION }}
add-empty-changelog:
runs-on: macos-15
permissions:
contents: write
name: Add empty changelog and commits/push it
needs: [post-slack-release]
env:
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Add template to changelog
run: |
sh build.sh add-empty-changelog
- name: Auto-commit CHANGELOG.md
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: 'CHANGELOG.md'
commit_message: 'Add an empty changelog section'
18 changes: 1 addition & 17 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,7 @@
x.y.z Release notes (yyyy-MM-dd)
=============================================================
### Enhancements
* None.

### Fixed
* <How to hit and notice issue? what was the impact?> ([#????](https://github.com/realm/realm-swift/issues/????), since v?.?.?)
* None.

<!-- ### Breaking Changes - ONLY INCLUDE FOR NEW MAJOR version -->

### Compatibility
* Realm Studio: 15.0.0 or later.
* APIs are backwards compatible with all previous releases in the 10.x.y series.
* Carthage release for Swift is built with Xcode 16.4.0.
* CocoaPods: 1.10 or later.
* Xcode: 15.3.0-26 beta 1.

### Internal
* Upgraded realm-core from ? to ?
Add Xcode 26.0.1 binaries and drop support for Xcode < 16.3.

10.54.5 Release notes (2025-06-15)
=============================================================
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ gem 'fileutils'
gem 'jazzy'
gem 'jwt'
gem 'octokit'
gem 'pathname'
gem 'pathname', '0.3.0'
81 changes: 42 additions & 39 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ GEM
base64
nkf
rexml
activesupport (7.2.0)
activesupport (7.2.2.2)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
Expand All @@ -22,13 +23,14 @@ GEM
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
base64 (0.2.0)
bigdecimal (3.1.8)
base64 (0.3.0)
benchmark (0.4.1)
bigdecimal (3.3.1)
claide (1.1.0)
cocoapods (1.15.2)
cocoapods (1.16.2)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.15.2)
cocoapods-core (= 1.16.2)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 2.1, < 3.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
Expand All @@ -42,8 +44,8 @@ GEM
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.23.0, < 2.0)
cocoapods-core (1.15.2)
xcodeproj (>= 1.27.0, < 2.0)
cocoapods-core (1.16.2)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
Expand All @@ -63,27 +65,29 @@ GEM
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
drb (2.2.1)
concurrent-ruby (1.3.5)
connection_pool (2.5.4)
drb (2.2.3)
escape (0.0.4)
ethon (0.16.0)
ethon (0.17.0)
ffi (>= 1.15.0)
faraday (2.10.1)
faraday-net_http (>= 2.0, < 3.2)
faraday (2.14.0)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-net_http (3.1.1)
net-http
ffi (1.17.0-arm64-darwin)
ffi (1.17.0-x86_64-darwin)
fileutils (1.7.2)
faraday-net_http (3.4.1)
net-http (>= 0.5.0)
ffi (1.17.2-arm64-darwin)
ffi (1.17.2-x86_64-darwin)
fileutils (1.7.3)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.14.5)
httpclient (2.9.0)
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
jazzy (0.15.1)
jazzy (0.15.3)
cocoapods (~> 1.5)
mustache (~> 1.1)
open4 (~> 1.3)
Expand All @@ -93,54 +97,53 @@ GEM
sassc (~> 2.1)
sqlite3 (~> 1.3)
xcinvoke (~> 0.3.0)
json (2.7.2)
jwt (2.8.2)
json (2.15.1)
jwt (3.1.2)
base64
liferaft (0.0.6)
logger (1.6.0)
minitest (5.25.1)
logger (1.7.0)
minitest (5.26.0)
molinillo (0.8.0)
mustache (1.1.1)
nanaimo (0.3.0)
mutex_m (0.3.0)
nanaimo (0.4.0)
nap (1.1.0)
net-http (0.4.1)
net-http (0.6.0)
uri
netrc (0.11.0)
nkf (0.2.0)
octokit (9.1.0)
octokit (10.0.0)
faraday (>= 1, < 3)
sawyer (~> 0.9)
open4 (1.3.4)
pathname (0.3.0)
public_suffix (4.0.7)
redcarpet (3.6.0)
rexml (3.3.5)
strscan
rouge (4.3.0)
redcarpet (3.6.1)
rexml (3.4.4)
rouge (4.6.1)
ruby-macho (2.5.1)
sassc (2.4.0)
ffi (~> 1.9)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
securerandom (0.3.1)
securerandom (0.4.1)
sqlite3 (1.7.3-arm64-darwin)
sqlite3 (1.7.3-x86_64-darwin)
strscan (3.1.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uri (0.13.0)
uri (1.0.4)
xcinvoke (0.3.0)
liferaft (~> 0.0.6)
xcodeproj (1.25.0)
xcodeproj (1.27.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (>= 3.3.2, < 4.0)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)

PLATFORMS
arm64-darwin-22
Expand All @@ -153,7 +156,7 @@ DEPENDENCIES
jazzy
jwt
octokit
pathname
pathname (= 0.3.0)

BUNDLED WITH
2.5.11
2 changes: 0 additions & 2 deletions Realm.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ Pod::Spec.new do |s|
s.author = { 'Realm' => '[email protected]' }
s.library = 'c++', 'z', 'compression'
s.requires_arc = true
s.social_media_url = 'https://twitter.com/realm'
s.documentation_url = "https://docs.mongodb.com/realm/sdk/swift"
s.license = { :type => 'Apache 2.0', :file => 'LICENSE' }

public_header_files = 'include/Realm.h',
Expand Down
8 changes: 0 additions & 8 deletions Realm/ObjectServerTests/AsyncSyncTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -279,11 +279,7 @@ class AsyncAwaitSyncTests: SwiftSyncTestCase {

let configuration = try configuration()
func isolatedOpen(_ actor: isolated CustomExecutorActor) async throws {
#if compiler(<6)
_ = try await Realm(configuration: configuration, actor: actor, downloadBeforeOpen: .always)
#else
_ = try await Realm.open(configuration: configuration, downloadBeforeOpen: .always)
#endif
}


Expand Down Expand Up @@ -905,11 +901,7 @@ class AsyncFlexibleSyncTests: SwiftSyncTestCase {
let user = try await createUser()
var config = user.flexibleSyncConfiguration()
config.objectTypes = [SwiftPerson.self]
#if compiler(<6)
let realm = try await Realm(configuration: config, actor: CustomGlobalActor.shared)
#else
let realm = try await Realm.open(configuration: config)
#endif
let name = self.name
let results1 = try await realm.objects(SwiftPerson.self)
.where { $0.firstName == name && $0.age > 8 }.subscribe(waitForSync: .onCreation)
Expand Down
Loading
Loading