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

7.0.0 #71

Merged
merged 33 commits into from
Jun 11, 2024
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
105 changes: 62 additions & 43 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
name: "AdvancedOperation CI"

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

on:
schedule:
- cron: '0 23 * * *' # At the end of every day
- cron: '0 0 * * 2' # Run every Tuesday
push:
branches:
- main
Expand All @@ -16,12 +12,16 @@ on:
- main
- develop

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

jobs:
info:
name: Show macOS and Xcode versions
runs-on: macOS-12
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer
steps:
- name: stats
run: |
Expand All @@ -33,87 +33,106 @@ jobs:
brew info swiftlint
macOS:
name: Test macOS
runs-on: macOS-12
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: macOS
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "AdvancedOperation.xcodeproj" -scheme "AdvancedOperation macOS" -destination "platform=macOS" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult'
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "AdvancedOperation.xcodeproj" -scheme "AdvancedOperation" -destination "platform=macOS" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult'
iOS:
name: Test iOS
runs-on: macOS-12
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer
strategy:
matrix:
destination: ["OS=16.0,name=iPhone 13 Pro"]
destination: ["OS=17.0,name=iPhone 15 Pro"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: iOS - ${{ matrix.destination }}
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "AdvancedOperation.xcodeproj" -scheme "AdvancedOperation iOS" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult'
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "AdvancedOperation.xcodeproj" -scheme "AdvancedOperation" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult'

- name: Upload tests report
if: ${{ always() }} # to run it only if the previous step fails use ${{ failure() }}
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: iOS tests report
path: ~/Downloads/Report
visionOS:
name: Test visionOS
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer
strategy:
matrix:
destination: ["OS=1.0,name=Apple Vision Pro"]
steps:
- uses: actions/checkout@v4
- name: visionOS - ${{ matrix.destination }}
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "AdvancedOperation.xcodeproj" -scheme "AdvancedOperation" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult'

- name: Upload tests report
if: ${{ always() }} # to run it only if the previous step fails use ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: visionOS tests report
path: ~/Downloads/Report
tvOS:
name: Test tvOS
runs-on: macOS-12
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer
strategy:
matrix:
destination: ["OS=16.0,name=Apple TV 4K (2nd generation)""]
destination: ["OS=17.0,name=Apple TV"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: tvOS - ${{ matrix.destination }}
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "AdvancedOperation.xcodeproj" -scheme "AdvancedOperation tvOS" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult'
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "AdvancedOperation.xcodeproj" -scheme "AdvancedOperation" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult'

- name: Upload tests report
if: ${{ always() }} # to run it only if the previous step fails use ${{ failure() }}
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: tvOS tests report
path: ~/Downloads/Report
watchOS:
name: Build watchOS
runs-on: macOS-12
name: Test watchOS
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer
strategy:
matrix:
destination: ["OS=9.0,name=Apple Watch Series 8 (45mm)"]
destination: ["OS=10.0,name=Apple Watch Series 9 (45mm)"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: watchOS - ${{ matrix.destination }}
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "AdvancedOperation.xcodeproj" -scheme "AdvancedOperation watchOS" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult'
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "AdvancedOperation.xcodeproj" -scheme "AdvancedOperation" -destination "${{ matrix.destination }}" clean test -quiet -resultBundlePath '~/Downloads/Report/report.xcresult'

- name: Upload tests report
if: ${{ always() }} # to run it only if the previous step fails use ${{ failure() }}
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: watchOS tests report
path: ~/Downloads/Report
spm:
SPM:
name: Test SPM Integration
runs-on: macOS-12
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: SPM Test
run: |
swift --version
swift test
lint:
name: Swift Lint
runs-on: macOS-12
steps:
- uses: actions/checkout@v2
- name: Run SwiftLint
run: |
swift --version
swiftlint --reporter github-actions-logging
# lint:
# name: Swift Lint
# runs-on: macos-14
# steps:
# - uses: actions/checkout@v4
# - name: Run SwiftLint
# run: |
# swift --version
# swiftlint --reporter github-actions-logging
51 changes: 10 additions & 41 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,11 @@ Gemfile.lock
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
## User settings
xcuserdata/
*~
.swiftpm

## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint

## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
Expand All @@ -44,7 +25,14 @@ playground.xcworkspace
# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
Packages/
Package.pins
Package.resolved

#
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
.swiftpm
.build/

# CocoaPods
Expand All @@ -53,23 +41,4 @@ playground.xcworkspace
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
# Pods/
7 changes: 0 additions & 7 deletions .jazzy.yml

This file was deleted.

69 changes: 69 additions & 0 deletions .swift-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"fileScopedDeclarationPrivacy" : {
"accessLevel" : "private"
},
"indentation" : {
"spaces" : 2
},
"indentConditionalCompilationBlocks" : true,
"indentSwitchCaseLabels" : false,
"lineBreakAroundMultilineExpressionChainComponents" : false,
"lineBreakBeforeControlFlowKeywords" : false,
"lineBreakBeforeEachArgument" : false,
"lineBreakBeforeEachGenericRequirement" : false,
"lineLength" : 120,
"maximumBlankLines" : 1,
"multiElementCollectionTrailingCommas" : true,
"noAssignmentInExpressions" : {
"allowedFunctions" : [
"XCTAssertNoThrow"
]
},
"prioritizeKeepingFunctionOutputTogether" : false,
"respectsExistingLineBreaks" : true,
"rules" : {
"AllPublicDeclarationsHaveDocumentation" : false,
"AlwaysUseLiteralForEmptyCollectionInit" : false,
"AlwaysUseLowerCamelCase" : true,
"AmbiguousTrailingClosureOverload" : true,
"BeginDocumentationCommentWithOneLineSummary" : false,
"DoNotUseSemicolons" : true,
"DontRepeatTypeInStaticProperties" : true,
"FileScopedDeclarationPrivacy" : true,
"FullyIndirectEnum" : true,
"GroupNumericLiterals" : true,
"IdentifiersMustBeASCII" : true,
"NeverForceUnwrap" : false,
"NeverUseForceTry" : false,
"NeverUseImplicitlyUnwrappedOptionals" : false,
"NoAccessLevelOnExtensionDeclaration" : true,
"NoAssignmentInExpressions" : true,
"NoBlockComments" : true,
"NoCasesWithOnlyFallthrough" : true,
"NoEmptyTrailingClosureParentheses" : true,
"NoLabelsInCasePatterns" : true,
"NoLeadingUnderscores" : false,
"NoParensAroundConditions" : true,
"NoPlaygroundLiterals" : true,
"NoVoidReturnOnFunctionSignature" : true,
"OmitExplicitReturns" : true,
"OneCasePerLine" : true,
"OneVariableDeclarationPerLine" : true,
"OnlyOneTrailingClosureArgument" : false,
"OrderedImports" : true,
"ReplaceForEachWithForLoop" : true,
"ReturnVoidInsteadOfEmptyTuple" : true,
"TypeNamesShouldBeCapitalized" : true,
"UseEarlyExits" : false,
"UseLetInEveryBoundCaseVariable" : true,
"UseShorthandTypeNames" : true,
"UseSingleLinePropertyGetter" : true,
"UseSynthesizedInitializer" : true,
"UseTripleSlashForDocumentationComments" : true,
"UseWhereClausesInForLoops" : false,
"ValidateDocumentationComments" : false
},
"spacesAroundRangeFormationOperators" : false,
"tabWidth" : 8,
"version" : 1
}
20 changes: 0 additions & 20 deletions AdvancedOperation.podspec

This file was deleted.

Loading