Skip to content
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

feat: Remove support for Xcode 14 #1835

Merged
merged 70 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
1ab502c
feat: Remove support for Xcode 14
dplewis Jan 13, 2025
f5d9ac7
bump
dplewis Jan 13, 2025
8022945
use xcode 16.2
dplewis Jan 15, 2025
f9308cc
use xcode 16 as default
dplewis Jan 15, 2025
2c19846
use xcode 15 as default
dplewis Jan 15, 2025
e3e6977
Downgrade xcpretty to 3.0
dplewis Jan 16, 2025
ba968e8
Update Gemfile.lock
dplewis Jan 16, 2025
2bf951e
actions/upload-artifact@v4
dplewis Jan 16, 2025
4497665
watch series 10
dplewis Jan 16, 2025
aab67dc
fix tests
dplewis Jan 16, 2025
983a65e
Update InstallationUnitTests.m
dplewis Jan 16, 2025
bc49756
Improve test
dplewis Jan 16, 2025
a6d2bf0
disable test
dplewis Jan 16, 2025
df39c17
Revert "disable test"
dplewis Jan 16, 2025
46dd4ef
test against 16 by default
dplewis Jan 16, 2025
749c802
disable tests
dplewis Jan 16, 2025
230c000
clean up
dplewis Jan 17, 2025
7f5da14
Update Parse-macOS.xcscheme
dplewis Jan 17, 2025
e4d1ce5
refactor CI
mtrezza Jan 27, 2025
9e45358
refactor CI
mtrezza Jan 27, 2025
59af721
refactor CI
mtrezza Jan 27, 2025
9897520
refactor CI
mtrezza Jan 27, 2025
56ec136
Update ci.yml
mtrezza Jan 27, 2025
1c22f1b
Update ci.yml
mtrezza Jan 27, 2025
53bb10a
fix ci
mtrezza Jan 27, 2025
e10a3f5
Update ci.yml
mtrezza Jan 27, 2025
6dbbf7f
Update Rakefile
mtrezza Jan 27, 2025
40c9f40
fix
mtrezza Jan 27, 2025
e953477
ci
mtrezza Jan 27, 2025
c2bdb8b
Update ci.yml
mtrezza Jan 27, 2025
de8f6f0
Update ci.yml
mtrezza Jan 27, 2025
ccd1d2e
ci
mtrezza Jan 27, 2025
b67ac44
Update ci.yml
mtrezza Jan 27, 2025
6bfd702
Update ci.yml
mtrezza Jan 27, 2025
313bb37
Update ci.yml
mtrezza Jan 27, 2025
cdf319a
add tvos
mtrezza Jan 27, 2025
095b2f1
Update ci.yml
mtrezza Jan 27, 2025
d69ff7a
ios rename
mtrezza Jan 27, 2025
23b730e
Update Rakefile
mtrezza Jan 27, 2025
ba6e844
Update README.md
mtrezza Jan 27, 2025
fde5169
Update README.md
mtrezza Jan 27, 2025
d98574d
Update README.md
mtrezza Jan 27, 2025
996f565
Update ci.yml
mtrezza Jan 27, 2025
1b61bf7
Update ci.yml
mtrezza Jan 27, 2025
5eae43b
refactor rake
mtrezza Jan 27, 2025
dc9088b
Update Rakefile
mtrezza Jan 27, 2025
5a8b8a0
Update Rakefile
mtrezza Jan 27, 2025
8ef9be6
Update ci.yml
mtrezza Jan 27, 2025
97eba18
Update ci.yml
mtrezza Jan 27, 2025
ebd5246
add logs
mtrezza Jan 27, 2025
a09f5da
Update ci.yml
mtrezza Jan 27, 2025
a8adb21
Update ci.yml
mtrezza Jan 27, 2025
7c07889
Update Rakefile
mtrezza Jan 27, 2025
75288ad
Update Rakefile
mtrezza Jan 27, 2025
aad05cb
Update Rakefile
mtrezza Jan 27, 2025
cce4c8f
Update ci.yml
mtrezza Jan 27, 2025
6d3681d
Update ci.yml
mtrezza Jan 27, 2025
bd26d91
Update ci.yml
mtrezza Jan 27, 2025
72a71b0
Update ci.yml
mtrezza Jan 28, 2025
d1f96f2
Update ci.yml
mtrezza Jan 28, 2025
1f9ef4a
Update ci.yml
mtrezza Jan 28, 2025
514c99b
Update ci.yml
mtrezza Jan 28, 2025
d2007af
Update ci.yml
mtrezza Jan 28, 2025
5713baa
Update ci.yml
mtrezza Jan 28, 2025
80b412b
Update ci.yml
mtrezza Jan 28, 2025
a6d99a2
Update ci.yml
mtrezza Jan 28, 2025
2b44d71
Update ci.yml
mtrezza Jan 28, 2025
f8eb742
Update ci.yml
mtrezza Jan 28, 2025
6fcf347
Update ci.yml
mtrezza Jan 28, 2025
b53dfa7
Update ci.yml
mtrezza Jan 28, 2025
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
113 changes: 97 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,106 @@ on:
branches:
- "**"
env:
CI_XCODE_14: /Applications/Xcode_14.2.app/Contents/Developer
CI_XCODE_15: /Applications/Xcode_15.4.0.app/Contents/Developer
CI_XCODE_16: /Applications/Xcode_16.0.app/Contents/Developer
CI_XCODE_16: /Applications/Xcode_16.1.0.app/Contents/Developer
jobs:
tests:
test-xcode:
env:
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
timeout-minutes: 45
strategy:
matrix:
script:
- test:ios
- test:macos
- test:parse_live_query:all
- xcode14 # runs build:starters on Xcode 14
- xcode15 # runs build:starters on Xcode 15
- xcode16 # runs build:starters on Xcode 16
include:
# Xcode
- name: Xcode 15
script: build:starters
iosVersion: '18.1'
iosDeviceModel: iPhone 16
watchOsVersion: '11.1'
watchDeviceModel: Apple Watch Series 10 (46mm)
tvOsVersion: '18.1'
tvDeviceModel: Apple TV
macosVersion: 14
developerDir: CI_XCODE_15
- name: Xcode 16
script: build:starters
iosVersion: '18.1'
iosDeviceModel: iPhone 16
watchOsVersion: '11.1'
watchDeviceModel: Apple Watch Series 10 (46mm)
tvOsVersion: '18.1'
tvDeviceModel: Apple TV
macosVersion: 14
developerDir: CI_XCODE_16
# Core Module
- name: Core Module, iOS 17
script: test:ios
iosVersion: '17.5'
iosDeviceModel: iPhone 15
macosVersion: 15
developerDir: CI_XCODE_16
- name: Core Module, iOS 18
script: test:ios
iosVersion: '18.1'
iosDeviceModel: iPhone 16
macosVersion: 15
developerDir: CI_XCODE_16
- name: Core Module, macOS 14
script: test:macos
macosVersion: 14
developerDir: CI_XCODE_16
- name: Core Module, macOS 15
script: test:macos
macosVersion: 15
developerDir: CI_XCODE_16
# LiveQuery Module
- name: LiveQuery Module, iOS 17
script: test:parse_live_query:ios
iosVersion: '17.5'
iosDeviceModel: iPhone 15
macosVersion: 15
developerDir: CI_XCODE_16
- name: LiveQuery Module, iOS 18
script: test:parse_live_query:ios
iosVersion: '18.1'
iosDeviceModel: iPhone 16
macosVersion: 15
developerDir: CI_XCODE_16
- name: LiveQuery Module, macOS 14
script: test:parse_live_query:osx
macosVersion: 14
developerDir: CI_XCODE_15
- name: LiveQuery Module, macOS 15
script: test:parse_live_query:osx
macosVersion: 15
developerDir: CI_XCODE_16
- name: LiveQuery Module, watchOS 10
script: test:parse_live_query:watchos
watchOsVersion: '10.5'
watchDeviceModel: Apple Watch Series 9 (45mm)
macosVersion: 15
developerDir: CI_XCODE_15
- name: LiveQuery Module, watchOS 11
script: test:parse_live_query:watchos
watchOsVersion: '11.1'
watchDeviceModel: Apple Watch Series 10 (46mm)
macosVersion: 15
developerDir: CI_XCODE_16
- name: LiveQuery Module, tvOS 17
script: test:parse_live_query:tvos
tvOsVersion: '17.5'
tvDeviceModel: Apple TV
macosVersion: 15
developerDir: CI_XCODE_16
- name: LiveQuery Module, tvOS 18
script: test:parse_live_query:tvos
tvOsVersion: '18.1'
tvDeviceModel: Apple TV
macosVersion: 15
developerDir: CI_XCODE_16
fail-fast: false
runs-on: ${{ ((matrix.script == 'xcode15' || matrix.script == 'xcode16') && 'macos-14') || 'macos-13' }}
runs-on: macos-${{ matrix.macosVersion }}
name: ${{ matrix.name }}
steps:
- uses: actions/checkout@v4
- name: Cache SPM
Expand All @@ -49,9 +130,9 @@ jobs:
- name: Submodules
run: git submodule update --init --recursive
- name: Build-Test
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake ${{ ((matrix.script == 'xcode14' || matrix.script == 'xcode15' || matrix.script == 'xcode16') && 'build:starters') || matrix.script }}
run: set -o pipefail && env NSUnbufferedIO=YES IOS_VERSION="${{ matrix.iosVersion }}" IOS_DEVICE_MODEL="${{ matrix.iosDeviceModel }}" WATCH_DEVICE_MODEL="${{ matrix.watchDeviceModel }}" WATCH_OS_VERSION="${{ matrix.watchOsVersion }}" TV_DEVICE_MODEL="${{ matrix.tvDeviceModel }}" TV_OS_VERSION="${{ matrix.tvOsVersion }}" bundle exec rake ${{ matrix.script }}
env:
DEVELOPER_DIR: ${{ (matrix.script == 'xcode15' && env.CI_XCODE_15) || (matrix.script == 'xcode16' && env.CI_XCODE_16) || env.CI_XCODE_14 }}
DEVELOPER_DIR: ${{ env[matrix.developerDir] }}
- name: Generate Environment Variables
if: ${{ always() }}
env:
Expand All @@ -68,7 +149,7 @@ jobs:
echo "Build Result Location: $BUILD_RESULTS"
- name: Upload Artifact Logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
path: |
Expand Down Expand Up @@ -103,7 +184,7 @@ jobs:
plugin: xcode
file: ${{ env.COVERAGE_PATH }}
docs:
runs-on: macos-13
runs-on: macos-14
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
Expand All @@ -117,7 +198,7 @@ jobs:
run: |
./Scripts/jazzy.sh
env:
DEVELOPER_DIR: ${{ env.CI_XCODE_14 }}
DEVELOPER_DIR: ${{ env.CI_XCODE_16 }}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
8 changes: 4 additions & 4 deletions .github/workflows/release-automated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ on:
push:
branches: [ master, release, alpha, beta ]
env:
CI_XCODE_14: '/Applications/Xcode_14.2.app/Contents/Developer'
CI_XCODE_16: /Applications/Xcode_16.1.0.app/Contents/Developer

jobs:
release:
runs-on: macos-13
runs-on: macos-14
outputs:
current_tag: ${{ steps.tag.outputs.current_tag }}
steps:
Expand Down Expand Up @@ -46,7 +46,7 @@ jobs:
publish-docs:
needs: release
if: needs.release.outputs.current_tag != ''
runs-on: macos-13
runs-on: macos-14
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand All @@ -62,7 +62,7 @@ jobs:
run: |
./Scripts/jazzy.sh
env:
DEVELOPER_DIR: ${{ env.CI_XCODE_14 }}
DEVELOPER_DIR: ${{ env.CI_XCODE_16 }}
- name: Deploy Jazzy Docs
uses: peaceiris/actions-gh-pages@v3
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-manual-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ on:
default: ''
description: 'Version tag:'
env:
CI_XCODE_14: '/Applications/Xcode_14.2.app/Contents/Developer'
CI_XCODE_16: /Applications/Xcode_16.1.0.app/Contents/Developer

jobs:
publish-docs:
if: github.event.inputs.tag != ''
runs-on: macos-13
runs-on: macos-14
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand All @@ -27,7 +27,7 @@ jobs:
run: |
./Scripts/jazzy.sh
env:
DEVELOPER_DIR: ${{ env.CI_XCODE_14 }}
DEVELOPER_DIR: ${{ env.CI_XCODE_16 }}
- name: Deploy Jazzy Docs
uses: peaceiris/actions-gh-pages@v3
with:
Expand Down
8 changes: 4 additions & 4 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
source 'https://rubygems.org'

# Docs
gem 'jazzy', '~> 0.15.3'
gem 'jazzy', '0.15.3'

# Development
gem 'xcpretty', '~> 0.4.0'
gem 'rake', '~> 13.2.1'
gem 'plist', '~> 3.7.1'
gem 'xcpretty', '0.3.0'
gem 'rake', '13.2.1'
gem 'plist', '3.7.1'
14 changes: 7 additions & 7 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ GEM
rake (13.2.1)
redcarpet (3.6.0)
rexml (3.3.9)
rouge (3.28.0)
rouge (2.0.7)
ruby-macho (2.5.1)
sassc (2.4.0)
ffi (~> 1.9)
Expand All @@ -123,18 +123,18 @@ GEM
colored2 (~> 3.1)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)
xcpretty (0.4.0)
rouge (~> 3.28.0)
xcpretty (0.3.0)
rouge (~> 2.0.7)
mtrezza marked this conversation as resolved.
Show resolved Hide resolved

PLATFORMS
arm64-darwin
x86_64-darwin

DEPENDENCIES
jazzy (~> 0.15.3)
plist (~> 3.7.1)
rake (~> 13.2.1)
xcpretty (~> 0.4.0)
jazzy (= 0.15.3)
plist (= 3.7.1)
rake (= 13.2.1)
xcpretty (= 0.3.0)

BUNDLED WITH
2.5.22
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,12 @@
<Test
Identifier = "ExtensionDataSharingTests">
</Test>
<Test
Identifier = "InstallationUnitTests/testInstallationHasApplicationBadge">
</Test>
<Test
Identifier = "InstallationUnitTests/testInstallationSetsApplicationBadge">
</Test>
<Test
Identifier = "PFTestCase">
</Test>
Expand All @@ -90,6 +96,9 @@
<Test
Identifier = "ParseClientConfigurationTests/testExtensionDataSharing">
</Test>
<Test
Identifier = "ParseClientConfigurationTests/testServerValidation">
</Test>
</SkippedTests>
</TestableReference>
</Testables>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@
BlueprintName = "ParseUnitTests-macOS"
ReferencedContainer = "container:Parse.xcodeproj">
</BuildableReference>
<SkippedTests>
<Test
Identifier = "ParseClientConfigurationTests/testServerValidation">
</Test>
</SkippedTests>
</TestableReference>
</Testables>
</TestAction>
Expand Down
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ A library that gives you access to the powerful Parse Server backend from your i
---

- [Getting Started](#getting-started)
- [Compatibility](#compatibility)
- [Parse Server](#parse-server)
- [Xcode, iOS, macOS](#xcode-ios-macos)
- [How Do I Contribute?](#how-do-i-contribute)
- [Dependencies](#dependencies)

Expand All @@ -49,6 +52,27 @@ The easiest way to install the SDK is via Swift Package Manager.

Take a look at the public [documentation][docs] & [API][api] and start building.

## Compatibility

### Parse Server

Parse Apple SDK is compatible with the following versions of Parse Server.

| Parse Apple SDK | Parse Server |
|-----------------|--------------|
| 1.0.0 | >= 1.0.0 |

### Xcode, iOS, macOS

The Parse Apple SDK is continuously tested with the most recent releases of Xcode to ensure compatibility. We follow the annual release schedule of Xcode to support the current and previous major Xcode version.

| Xcode Version | iOS Version | macOS Version | macOS Version | Release Date | End-of-Support Date | Parse Apple SDK Support |
|---------------|-------------|---------------|---------------|----------------|---------------------|-------------------------|
| Xcode 13 | iOS 15 | macOS 12 | watchOS 8 | September 2021 | October 2023 | >= 1.19.3 <2.7.2 |
| Xcode 14 | iOS 16 | macOS 13 | watchOS 9 | September 2022 | October 2024 | >= 2.7.2 <= 5.0.0 |
| Xcode 15 | iOS 17 | macOS 14 | watchOS 10 | September 2023 | October 2025 | >= 3.0.0 |
| Xcode 16 | iOS 18 | macOS 15 | watchOS 11 | September 2024 | tbd | >= 4.2.0 |

## How Do I Contribute?

We want to make contributing to this project as easy and transparent as possible. Please refer to the [Contribution Guidelines][contributing].
Expand Down
Loading