Skip to content

Commit

Permalink
👷 Add CI job
Browse files Browse the repository at this point in the history
  • Loading branch information
olejnjak committed Nov 9, 2023
1 parent 1d3ff13 commit d6f4992
Show file tree
Hide file tree
Showing 12 changed files with 87 additions and 48 deletions.
24 changes: 21 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idname
name: Build

on: [pull_request, push, workflow_dispatch]
on: [workflow_call]

jobs:
carthage:
Expand All @@ -12,4 +11,23 @@ jobs:
- uses: AckeeCZ/[email protected]
- name: Build
run: carthage build --no-skip-current --cache-builds --use-xcframeworks

- uses: actions/cache@v3
with:
path: Carthage
key: ${{ runner.os }}-carthage-${{ hashFiles('**/Cartfile.resolved') }}
restore-keys: |
${{ runner.os }}-carthage-
spm:
name: SPM
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: AckeeCZ/[email protected]
- name: Build
run: swift build -c release
- uses: actions/cache@v3
with:
path: .build
key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
restore-keys: |
${{ runner.os }}-spm-
9 changes: 9 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: PR

on: [pull_request]

jobs:
tests:
uses: ./.github/workflows/tests.yml


47 changes: 39 additions & 8 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,56 @@
name: Tests

on: [pull_request, push]
on: [workflow_call]

jobs:
tests:
name: Run tests
xcodebuild:
name: Xcodebuild
runs-on: macos-13
env:
IOS_DEVICE: iPhone 15 Pro Max
steps:
- uses: actions/checkout@v4
- uses: AckeeCZ/[email protected]
- name: Run iOS tests
run: set -o pipefail && xcodebuild test -scheme ACKategories-iOS -resultBundlePath Tests-iOS.xcresult -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPhone 15 Pro Max,OS=latest" ONLY_ACTIVE_ARCH=YES | xcpretty
- name: iOS tests
run: set -o pipefail && xcodebuild test -scheme ACKategories -resultBundlePath Tests-iOS.xcresult -sdk iphonesimulator -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=latest" ONLY_ACTIVE_ARCH=YES | xcpretty
- uses: actions/upload-artifact@v3
if: failure()
with:
name: Tests-iOS.xcresult
path: Tests-iOS.xcresult
- name: Run macOS tests
run: set -o pipefail && xcodebuild test -scheme ACKategoriesCore -resultBundlePath Tests-macOS.xcresult -destination 'platform=OS X,arch=x86_64' | xcpretty
- name: iOS responder tests
run: set -o pipefail && xcodebuild test -scheme ACKategories -resultBundlePath Tests-iOS-Responder.xcresult -sdk iphonesimulator -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=latest" ONLY_ACTIVE_ARCH=YES | xcpretty
- uses: actions/upload-artifact@v3
if: failure()
with:
name: Tests-iOS-Responder.xcresult
path: Tests-iOS-Responder.xcresult
- name: macOS tests
run: set -o pipefail && xcodebuild test -scheme ACKategories -resultBundlePath Tests-macOS.xcresult -destination 'platform=OS X,arch=x86_64' | xcpretty
- uses: actions/upload-artifact@v3
if: failure()
with:
name: Tests-macOS.xcresult
path: Tests-macOS.xcresult
path: Tests-macOS.xcresult
- name: watchOS tests
run: set -o pipefail && xcodebuild test -scheme ACKategories -resultBundlePath Tests-watchOS.xcresult -sdk watchsimulator -destination "platform=watchOS Simulator,name=Apple Watch Ultra 2 (49mm),OS=latest" ONLY_ACTIVE_ARCH=YES | xcpretty
- uses: actions/upload-artifact@v3
if: failure()
with:
name: Tests-watchOS.xcresult
path: Tests-watchOS.xcresult
- name: tvOS tests
run: set -o pipefail && xcodebuild test -scheme ACKategories -resultBundlePath Tests-tvOS.xcresult -sdk appletvsimulator -destination "platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest" ONLY_ACTIVE_ARCH=YES | xcpretty
- uses: actions/upload-artifact@v3
if: failure()
with:
name: Tests-tvOS.xcresult
path: Tests-tvOS.xcresult
spm:
name: SPM
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: AckeeCZ/[email protected]
- name: SPM tests
run: swift test
4 changes: 0 additions & 4 deletions ACKategories.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1196,7 +1196,6 @@
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
Expand Down Expand Up @@ -1253,7 +1252,6 @@
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
Expand Down Expand Up @@ -1303,7 +1301,6 @@
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
Expand Down Expand Up @@ -1344,7 +1341,6 @@
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
Expand Down
4 changes: 3 additions & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ let package = Package(
name: "ACKategories",
platforms: [
.iOS(.v12),
.macOS(.v10_13)
.macOS(.v10_13),
.watchOS(.v5),
.tvOS(.v12),
],
products: [
.library(name: "ACKategories", targets: ["ACKategories"]),
Expand Down
3 changes: 3 additions & 0 deletions Tests/ACKategoriesTests/ColorTests.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#if canImport(UIKit)
import XCTest
import ACKategories
import UIKit

final class ColorTests: XCTestCase {

Expand Down Expand Up @@ -71,3 +73,4 @@ final class ColorTests: XCTestCase {
XCTAssertTrue(color.isDark)
}
}
#endif
9 changes: 2 additions & 7 deletions Tests/ACKategoriesTests/Extensions/UIWindow.swift
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
//
// UIWindow.swift
// ACKategories-iOSTests
//
// Created by Lukáš Hromadník on 23.11.2020.
//

#if canImport(UIKit)
import UIKit

extension UIWindow {
static var dummy: UIWindow {
UIWindow(frame: UIScreen.main.bounds)
}
}
#endif
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import Foundation
import XCTest
import ACKategories

@available(iOS 13.0, *)
@available(iOS 13.0, macOS 10.15, *)
final class UserDefaultTests: XCTestCase {
private var subject: MyUserDefaultProvider!
private var userDefaults: UserDefaults!
Expand Down
2 changes: 2 additions & 0 deletions Tests/ACKategoriesTests/ReusableViewTests.swift
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#if canImport(UIKit)
import ACKategories
import UIKit
import XCTest
Expand Down Expand Up @@ -36,3 +37,4 @@ final class ReusableViewTests: XCTestCase {
XCTAssertFalse(prototype === CustomView())
}
}
#endif
11 changes: 3 additions & 8 deletions Tests/ACKategoriesTests/UIStackViewTests.swift
Original file line number Diff line number Diff line change
@@ -1,13 +1,7 @@
//
// UIStackViewTests.swift
// ACKategories
//
// Created by Jakub Olejník on 13/06/2018.
// Copyright © 2018 Ackee, s.r.o. All rights reserved.
//

#if canImport(UIKit)
import XCTest
import ACKategories
import UIKit

final class UIStackViewTests: XCTestCase {

Expand All @@ -26,3 +20,4 @@ final class UIStackViewTests: XCTestCase {
}

}
#endif
10 changes: 2 additions & 8 deletions Tests/ACKategoriesTests/UIViewControllerChildrenTests.swift
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
//
// UIViewControllerChildrenTests.swift
// ACKategories
//
// Created by Jakub Olejník on 13/04/2018.
// Copyright © 2018 Josef Dolezal. All rights reserved.
//

#if canImport(UIKit)
import UIKit
import XCTest
import ACKategories
Expand Down Expand Up @@ -72,3 +65,4 @@ final class UIViewControllerChildrenTests: XCTestCase {
XCTAssertEqual(childVC.parent, parentVC)
}
}
#endif
10 changes: 2 additions & 8 deletions Tests/ACKategoriesTests/UIViewTests.swift
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
//
// UIViewTests.swift
// UnitTests
//
// Created by Jakub Olejník on 14/06/2019.
// Copyright © 2019 Ackee, s.r.o. All rights reserved.
//

#if canImport(UIKit)
import UIKit
import XCTest
import ACKategories
Expand Down Expand Up @@ -82,3 +75,4 @@ final class UIViewTests: XCTestCase {
XCTAssertNil(weakSpacer)
}
}
#endif

0 comments on commit d6f4992

Please sign in to comment.