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

refactor: Modernize SDK to use async await for storage access #62

Merged
merged 81 commits into from
Mar 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
c302e24
WIP
cbaker6 Jan 22, 2023
ad03160
more updates
cbaker6 Jan 22, 2023
2dde66e
wip
cbaker6 Jan 22, 2023
ed0eec2
Merge branch 'main'
cbaker6 Jan 26, 2023
1daa8f7
doc nits
cbaker6 Jan 26, 2023
4dcb55f
builds
cbaker6 Jan 30, 2023
d0c92b3
fixed some tests
cbaker6 Jan 30, 2023
7749b95
wip
cbaker6 Jan 30, 2023
82b6288
fix merge conflicts
cbaker6 Feb 18, 2023
0eebb8c
updates
cbaker6 Feb 24, 2023
3336a7b
Merge branch 'main' into bumpMinSwift
cbaker6 Feb 24, 2023
6dd7d45
update user tests
cbaker6 Feb 26, 2023
d705112
fix init tests
cbaker6 Feb 26, 2023
073bd99
fix more tests
cbaker6 Feb 26, 2023
8d8030a
fixed more tests
cbaker6 Feb 26, 2023
68f328a
fix keychain tests
cbaker6 Feb 26, 2023
c2e12fe
more fixes
cbaker6 Feb 26, 2023
58696b0
more
cbaker6 Feb 26, 2023
b5f39c5
more fixes
cbaker6 Feb 26, 2023
b58653b
more
cbaker6 Feb 27, 2023
1a8f6e3
more
cbaker6 Feb 27, 2023
6e5ae60
before installation test removal
cbaker6 Feb 27, 2023
1742880
before installation removal
cbaker6 Feb 27, 2023
44d2945
before install async delete
cbaker6 Feb 27, 2023
99f3c29
more
cbaker6 Feb 27, 2023
e5548e7
more
cbaker6 Feb 27, 2023
42b8be2
more updates
cbaker6 Feb 27, 2023
4ffe5ff
builds
cbaker6 Feb 28, 2023
13d5c85
fixed some tests
cbaker6 Feb 28, 2023
f0d02f0
update ci
cbaker6 Feb 28, 2023
1e0c875
fix auth adapters
cbaker6 Mar 1, 2023
7bbbee0
make InMemoryStorage an actor
cbaker6 Mar 1, 2023
7620e51
updates
cbaker6 Mar 2, 2023
603cef8
fix LiveQuery
cbaker6 Mar 4, 2023
944bd0c
remove 5.5.2 compiler checks
cbaker6 Mar 4, 2023
1c74213
fix ParseFile
cbaker6 Mar 5, 2023
fbfd12d
fix linux
cbaker6 Mar 5, 2023
8c92bcf
remove old windows build
cbaker6 Mar 5, 2023
3a5baa3
add async dataTask
cbaker6 Mar 5, 2023
9f25c24
update windows ci
cbaker6 Mar 5, 2023
1ad503b
set min on double
cbaker6 Mar 5, 2023
f6b08e0
increase test times
cbaker6 Mar 5, 2023
e3d23f7
fix LiveQuery tests
cbaker6 Mar 5, 2023
8f329ec
fix more tests
cbaker6 Mar 5, 2023
e6c72a9
adjust LDAP tests
cbaker6 Mar 5, 2023
b7d4113
improve endpoints
cbaker6 Mar 5, 2023
9886e0b
skip flaky tests
cbaker6 Mar 5, 2023
f6e754b
make primitive store an actor
cbaker6 Mar 5, 2023
25cc5f0
fix flakey tests
cbaker6 Mar 5, 2023
bc75178
lint
cbaker6 Mar 5, 2023
64fb25b
fix setting Keychain
cbaker6 Mar 5, 2023
d9729dd
update iPhone
cbaker6 Mar 5, 2023
d6388ec
flakey linux tests
cbaker6 Mar 5, 2023
eb47090
lint
cbaker6 Mar 5, 2023
43a1e62
fix flakey tests
cbaker6 Mar 5, 2023
e4b32a3
fix flakey test
cbaker6 Mar 5, 2023
9fdc957
lint playgrounds
cbaker6 Mar 5, 2023
d7434a1
Update some of the playgrounds
cbaker6 Mar 6, 2023
e36379c
fix flaky test
cbaker6 Mar 6, 2023
46cc5bd
fix all playgrounds except LiveQuery
cbaker6 Mar 6, 2023
591326c
update tests for linux
cbaker6 Mar 6, 2023
b82ff52
skip tests when needed on linux
cbaker6 Mar 6, 2023
a0854f1
lint
cbaker6 Mar 6, 2023
2251099
fix live query playgrounds
cbaker6 Mar 6, 2023
fbb47c8
fix linux and windows
cbaker6 Mar 6, 2023
1f96721
remove warnings
cbaker6 Mar 6, 2023
8b545e1
don't run some tests on iOS
cbaker6 Mar 6, 2023
861cb4b
stop more tests on iOS
cbaker6 Mar 6, 2023
ad98fa8
more tests
cbaker6 Mar 6, 2023
d669cb1
async/await auth tests
cbaker6 Mar 6, 2023
a38d923
add back all auth tests
cbaker6 Mar 6, 2023
111059f
add back Installation tests
cbaker6 Mar 6, 2023
8534058
more tests
cbaker6 Mar 6, 2023
4156871
add back rest of Installation tests
cbaker6 Mar 6, 2023
8c90624
add Installation Combine tests
cbaker6 Mar 7, 2023
3bbd281
add back user combine tests
cbaker6 Mar 7, 2023
7029c0e
add back all user tests
cbaker6 Mar 7, 2023
f0aa754
fix copyright
cbaker6 Mar 7, 2023
23157da
fix linux tests
cbaker6 Mar 7, 2023
df6c94a
add change log
cbaker6 Mar 7, 2023
8887735
Update README.md
cbaker6 Mar 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ coverage:
status:
patch:
default:
target: auto
target: 82
changes: false
project:
default:
Expand Down
42 changes: 12 additions & 30 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
branches: [ main ]

env:
CI_XCODE_OLDEST: '/Applications/Xcode_12.5.1.app/Contents/Developer'
CI_XCODE_OLDEST: '/Applications/Xcode_13.3.1.app/Contents/Developer'
CI_XCODE_13: '/Applications/Xcode_13.4.1.app/Contents/Developer'
CI_XCODE_LATEST: '/Applications/Xcode_14.2.app/Contents/Developer'

Expand All @@ -18,14 +18,14 @@ concurrency:

jobs:
xcode-test-ios:
timeout-minutes: 20
timeout-minutes: 15
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Use multiple cores
run: defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1
- name: Build-Test
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift\ \(iOS\) -destination platform\=iOS\ Simulator,name\=iPhone\ 12\ Pro\ Max -derivedDataPath DerivedData clean test | xcpretty
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift\ \(iOS\) -destination platform\=iOS\ Simulator,name\=iPhone\ 14\ Pro\ Max -derivedDataPath DerivedData clean test | xcpretty
env:
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }}
- name: Prepare codecov
Expand All @@ -46,7 +46,7 @@ jobs:
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }}

xcode-test-macos:
timeout-minutes: 20
timeout-minutes: 15
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }}

xcode-test-tvos:
timeout-minutes: 20
timeout-minutes: 15
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -108,7 +108,7 @@ jobs:
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }}

xcode-build-watchos:
timeout-minutes: 15
timeout-minutes: 10
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
Expand All @@ -126,7 +126,7 @@ jobs:
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }}

spm-test:
timeout-minutes: 20
timeout-minutes: 15
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -159,10 +159,10 @@ jobs:
env:
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }}

xcode-test-tvos-5_4:
timeout-minutes: 20
xcode-test-tvos-5_5:
timeout-minutes: 15
needs: xcode-build-watchos
runs-on: macos-11
runs-on: macos-12
steps:
- uses: actions/checkout@v3
- name: Build-Test
Expand Down Expand Up @@ -206,32 +206,14 @@ jobs:
fail_ci_if_error: true

windows:
timeout-minutes: 15
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
- uses: compnerd/gha-setup-swift@v0.0.1
with:
branch: swift-5.5.1-release
tag: 5.5.1-RELEASE
- name: Build and Test
run: |
swift test --enable-test-discovery --enable-code-coverage -v
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
env_vars: WINDOWS
fail_ci_if_error: false

windows-latest:
timeout-minutes: 15
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: compnerd/gha-setup-swift@v0.0.1
with:
branch: swift-5.7.1-release
tag: 5.7.1-RELEASE
branch: swift-5.7.3-release
tag: 5.7.3-RELEASE
- name: Build
run: |
swift build -v
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
[Full Changelog](https://github.com/netreconlab/Parse-Swift/compare/4.16.2...5.0.0), [Documentation](https://swiftpackageindex.com/netreconlab/Parse-Swift/5.0.0/documentation/parseswift)

__Breaking Changes__
* Current objects such as ParseObject, ParseUser, ParseVersion, etc. now require try async/await. All synchronous networking and local storage calls have been removed. Please look at the updated Swift Playgrounds for examples ([#62](https://github.com/netreconlab/Parse-Swift/pull/62)), thanks to [Corey Baker](https://github.com/cbaker6).
* ParseHookTriggerRequest has been renamed to ParseHookTriggerObjectRequest as it is used for decoding triggers related to ParseObjects. The new ParseHookTriggerRequest is similar but used for decoding requests not related to ParseObjects like ParseFile ([#53](https://github.com/netreconlab/Parse-Swift/pull/53)), thanks to [Corey Baker](https://github.com/cbaker6).
* ParseVersion now supports pre-release versions of the SDK ([#49](https://github.com/netreconlab/Parse-Swift/pull/49)), thanks to [Corey Baker](https://github.com/cbaker6).
* Added a new ParseHealth.Status enum to support new feature in Parse Server 6.0.0.
Expand Down
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version:5.5
// swift-tools-version:5.5.2

import PackageDescription

Expand Down
26 changes: 0 additions & 26 deletions Package@5.1.swift

This file was deleted.

2 changes: 1 addition & 1 deletion ParseSwift-tvOS/ParseSwift_tvOS.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// ParseSwift-tvOS
//
// Created by Corey Baker on 7/30/20.
// Copyright © 2020 Parse Community. All rights reserved.
// Copyright © 2020 Network Reconnaissance Lab. All rights reserved.
//

#import <Foundation/Foundation.h>
Expand Down
2 changes: 1 addition & 1 deletion ParseSwift-watchOS/ParseSwift_watchOS.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// ParseSwift-watchOS
//
// Created by Corey Baker on 7/30/20.
// Copyright © 2020 Parse Community. All rights reserved.
// Copyright © 2020 Network Reconnaissance Lab. All rights reserved.
//

#import <Foundation/Foundation.h>
Expand Down
Loading